реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Закольцованная цепочка инверторов
alexPec
сообщение May 5 2013, 08:12
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968



Добрый день всем!

Как сделать цепочку инверторов (этак 31), закольцованную, чтобы квартус не не выкинул 30 из них в процессе оптимизации? Нужен этакий генератор.
Go to the top of the page
 
+Quote Post
Methane
сообщение May 5 2013, 08:17
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 615
Регистрация: 12-01-09
Из: США, Главное разведовательное управление
Пользователь №: 43 230



Цитата(alexPec @ May 5 2013, 11:12) *
Добрый день всем!

Как сделать цепочку инверторов (этак 31), закольцованную, чтобы квартус не не выкинул 30 из них в процессе оптимизации? Нужен этакий генератор.

У квартуса от такого безобразия крыша поедет. Оно конечно можно, как-то на очень низком уровне LCELLам указать, но скорее всего вы что-то делаете не так. Правильнее взять внешний клок, и или его использовать или внешний клок на PLL, и уже с него получить нужную частоту.
Go to the top of the page
 
+Quote Post
alexPec
сообщение May 5 2013, 08:54
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968



Цитата(Methane @ May 5 2013, 12:17) *
У квартуса от такого безобразия крыша поедет. Оно конечно можно, как-то на очень низком уровне LCELLам указать, но скорее всего вы что-то делаете не так. Правильнее взять внешний клок, и или его использовать или внешний клок на PLL, и уже с него получить нужную частоту.

Да все правильно, просто решение нестандартное. Из 3-х таких генераторов делается true-random генератор исключительно в ПЛИС, что и нужно.
У квартуса кстати крыша не едет, он ставит 1 инвертор вместо 31 и все. В technology map viewer смотрел.
Go to the top of the page
 
+Quote Post
Methane
сообщение May 5 2013, 09:02
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 3 615
Регистрация: 12-01-09
Из: США, Главное разведовательное управление
Пользователь №: 43 230



Цитата(alexPec @ May 5 2013, 11:54) *
Да все правильно, просто решение нестандартное. Из 3-х таких генераторов делается true-random генератор исключительно в ПЛИС, что и нужно.
У квартуса кстати крыша не едет, он ставит 1 инвертор вместо 31 и все. В technology map viewer смотрел.

Крыша у него должна поехать не от этого, а от того что эта схема должна генерить клок, а не переключаться от клока.

Может тут найдете чего-то
http://www.alteraforum.com/forum/showthrea...2133&page=2
Go to the top of the page
 
+Quote Post
uragan90
сообщение May 5 2013, 13:47
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 248
Регистрация: 2-02-09
Из: Тверь
Пользователь №: 44 309



Вывести выводы инверторов на реальные пины плисы и на плате их соединить последовательно!
Для 31 инвертора потребуется 60 пина всего...
Но ето так :-)
Ради шутки юмара ))))

Сообщение отредактировал uragan90 - May 5 2013, 13:48
Go to the top of the page
 
+Quote Post
Methane
сообщение May 5 2013, 13:52
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 3 615
Регистрация: 12-01-09
Из: США, Главное разведовательное управление
Пользователь №: 43 230



Цитата(uragan90 @ May 5 2013, 16:47) *
Вывести выводы инверторов на реальные пины плисы и на плате их соединить последовательно!
Для 31 инвертора потребуется 60 пина всего...
Но ето так :-)
Ради шутки юмара ))))


Ради не шутки, можно на плате развести линию задержки.
Go to the top of the page
 
+Quote Post
wolfman
сообщение May 5 2013, 14:24
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 529
Регистрация: 15-06-05
Из: Питер
Пользователь №: 6 032



Цитата(alexPec @ May 5 2013, 19:24) *
Да все правильно, просто решение нестандартное. Из 3-х таких генераторов делается true-random генератор исключительно в ПЛИС, что и нужно.
У квартуса кстати крыша не едет, он ставит 1 инвертор вместо 31 и все. В technology map viewer смотрел.

В настройках установите запрет оптимизации. Правда не уверен, что для инверторов поможет.


--------------------
Россия это даже не страна.
Россия это секрет, завернутый в загадку и укрытый не проницаемой тайной...
Go to the top of the page
 
+Quote Post
RobFPGA
сообщение May 5 2013, 17:25
Сообщение #8


Профессионал
*****

Группа: Свой
Сообщений: 1 214
Регистрация: 23-12-04
Пользователь №: 1 643



Приветствую!

Опишите нужное количество инверторов на примитивах Вашего FPGA (LCELL или LUT).
и будет вам генератор.


Удачи Rob.


Go to the top of the page
 
+Quote Post
Maverick
сообщение May 5 2013, 18:55
Сообщение #9


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



Цитата(RobFPGA @ May 5 2013, 20:25) *
Приветствую!

Опишите нужное количество инверторов на примитивах Вашего FPGA (LCELL или LUT).
и будет вам генератор.


Удачи Rob.

Просто любопытство, а не покажите любой пример описания или схемы или не расскажите как это сделать по подробнее...


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post
RobFPGA
сообщение May 5 2013, 21:17
Сообщение #10


Профессионал
*****

Группа: Свой
Сообщений: 1 214
Регистрация: 23-12-04
Пользователь №: 1 643



Приветствую!

В общем как-то так - кваки нет на компе, а Synplify "ворчит" на combinatorial loop но генерит похожую схему.
Для Altera даже из rtl version.

Успехов! Rob.

Код
module Gen #(
    parameter N=15
)
(
    output G
);

wire [N-1:0] wi /* synthesis syn_keep=1 */;
assign G=wi[N-1];

genvar ii;
generate
    for (ii=0;ii<N;ii++) begin:gen
        //rtl version
        assign wi[ii==(N-1) ? 0 : ii+1]=!wi[ii];
/*        
        //primitive version (example for Xilinx LUT)        
        LUT1 #(
            .INIT(2'b01) // 0->1, 1->0
        )
        LUT1_i (
            .O (wi[ii==(N-1) ? 0: ii+1] ), // LUT output
            .I0(wi[ii]                  )  // LUT input
        );
*/        
    end

endgenerate
endmodule

Go to the top of the page
 
+Quote Post
alexPec
сообщение May 6 2013, 06:11
Сообщение #11


Профессионал
*****

Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968



Всем спасибо, сделал немного по-другому, но генератор генерит, частота около 120мгц на 31 инверторе
Go to the top of the page
 
+Quote Post
alexadmin
сообщение May 7 2013, 08:27
Сообщение #12


Знающий
****

Группа: Свой
Сообщений: 572
Регистрация: 17-11-05
Из: СПб, Россия
Пользователь №: 10 965



Цитата(alexPec @ May 6 2013, 10:11) *
Всем спасибо, сделал немного по-другому, но генератор генерит, частота около 120мгц на 31 инверторе


А если подуть на чип вентилятором хорошо (или наоборот феном)? Праздное любопытство, но интересно...
Go to the top of the page
 
+Quote Post
alexPec
сообщение May 7 2013, 17:48
Сообщение #13


Профессионал
*****

Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968



Цитата(alexadmin @ May 7 2013, 12:27) *
А если подуть на чип вентилятором хорошо (или наоборот феном)? Праздное любопытство, но интересно...

Вопрос интересный, сам хотел проверить. Руки дойдут - проверю, отпишусь.
Go to the top of the page
 
+Quote Post
Methane
сообщение May 7 2013, 18:27
Сообщение #14


Гуру
******

Группа: Свой
Сообщений: 3 615
Регистрация: 12-01-09
Из: США, Главное разведовательное управление
Пользователь №: 43 230



Цитата(alexPec @ May 7 2013, 20:48) *
Вопрос интересный, сам хотел проверить. Руки дойдут - проверю, отпишусь.

Мне тоже интересно.
Go to the top of the page
 
+Quote Post
dde29
сообщение May 8 2013, 07:43
Сообщение #15


Участник
*

Группа: Участник
Сообщений: 65
Регистрация: 12-08-08
Из: Томск
Пользователь №: 39 559



Цитата(alexPec @ May 6 2013, 09:11) *
Всем спасибо, сделал немного по-другому, но генератор генерит, частота около 120мгц на 31 инверторе


Может поделитесь кодом? sm.gif
Go to the top of the page
 
+Quote Post
KA_ru
сообщение May 8 2013, 12:04
Сообщение #16


Профессионал
*****

Группа: Свой
Сообщений: 1 424
Регистрация: 4-10-04
Из: Berlin
Пользователь №: 775



QUOTE (alexPec @ May 6 2013, 10:11) *
Всем спасибо, сделал немного по-другому, но генератор генерит, частота около 120мгц на 31 инверторе



плыть будет процентов на 20%.
поставьте внешний триггер Шмитта на RC цепочке будет стабильней. sm.gif
Go to the top of the page
 
+Quote Post
alexPec
сообщение May 8 2013, 12:12
Сообщение #17


Профессионал
*****

Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968



Цитата(KA_ru @ May 8 2013, 16:04) *
плыть будет процентов на 20%.
поставьте внешний триггер Шмитта на RC цепочке будет стабильней. sm.gif

Так оно мне и надо - случайная тепловая нестабильность и джиттер
Go to the top of the page
 
+Quote Post
alexadmin
сообщение May 8 2013, 13:22
Сообщение #18


Знающий
****

Группа: Свой
Сообщений: 572
Регистрация: 17-11-05
Из: СПб, Россия
Пользователь №: 10 965



Цитата(alexPec @ May 8 2013, 16:12) *
Так оно мне и надо - случайная тепловая нестабильность и джиттер


А потом окажется, что если ваш прибор поставить у окна где дует, то больше будет выпадать красное, а если у камина - черное (вспоминая старую книжку) laughing.gif
Go to the top of the page
 
+Quote Post
Methane
сообщение May 8 2013, 13:26
Сообщение #19


Гуру
******

Группа: Свой
Сообщений: 3 615
Регистрация: 12-01-09
Из: США, Главное разведовательное управление
Пользователь №: 43 230



Цитата(alexadmin @ May 8 2013, 16:22) *
А потом окажется, что если ваш прибор поставить у окна где дует, то больше будет выпадать красное, а если у камина - черное (вспоминая старую книжку) laughing.gif

Так может так все и задумано? sm.gif
Go to the top of the page
 
+Quote Post
KA_ru
сообщение May 8 2013, 18:24
Сообщение #20


Профессионал
*****

Группа: Свой
Сообщений: 1 424
Регистрация: 4-10-04
Из: Berlin
Пользователь №: 775



Если вас интересует температурные изменения лучше использовать термопару.
Если случайные процессы можно вспомнить старое угольное сопротивление.

sm.gif sm.gif
Go to the top of the page
 
+Quote Post
Дмитрий_Б
сообщение May 8 2013, 18:39
Сообщение #21


Местный
***

Группа: Участник
Сообщений: 211
Регистрация: 25-10-09
Пользователь №: 53 195



Раньше можно было запретить минимизацию - элементы не выкидывались. Сейчас, наверное, тоже можно.
Go to the top of the page
 
+Quote Post
alexPec
сообщение May 8 2013, 21:24
Сообщение #22


Профессионал
*****

Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968



Цитата(KA_ru @ May 8 2013, 22:24) *
Если вас интересует температурные изменения лучше использовать термопару.
Если случайные процессы можно вспомнить старое угольное сопротивление.

sm.gif sm.gif


Так это усилители надо городить, а тут все внутри.

Цитата
А потом окажется, что если ваш прибор поставить у окна где дует, то больше будет выпадать красное, а если у камина - черное (вспоминая старую книжку)

Не окажется, схема "выбирает" из генераторов джиттер

Цитата
Раньше можно было запретить минимизацию - элементы не выкидывались. Сейчас, наверное, тоже можно.


Не нашел как. Тем более надо запретить оптимизировать только эту часть схемы - цепочку инверторов, остальное-то пусть оптимизирует
Go to the top of the page
 
+Quote Post
Methane
сообщение May 9 2013, 04:48
Сообщение #23


Гуру
******

Группа: Свой
Сообщений: 3 615
Регистрация: 12-01-09
Из: США, Главное разведовательное управление
Пользователь №: 43 230



Цитата(alexPec @ May 9 2013, 00:24) *
Не нашел как. Тем более надо запретить оптимизировать только эту часть схемы - цепочку инверторов, остальное-то пусть оптимизирует

http://quartushelp.altera.com/11.1/mergedP...le_dir_keep.htm
И еще какая-то есть деректива. Я пользуюсь чтобы логическому анализатору было за что цепляться.
Go to the top of the page
 
+Quote Post
Tano
сообщение May 10 2013, 19:27
Сообщение #24


Местный
***

Группа: Свой
Сообщений: 286
Регистрация: 19-05-06
Пользователь №: 17 257



To alexPec
А эачем вам 31 инвертор, ведь можно и с меньшим количеством и тем же успехом.


--------------------
С уважением Tano
Go to the top of the page
 
+Quote Post
alexPec
сообщение May 11 2013, 11:35
Сообщение #25


Профессионал
*****

Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968



Цитата(Tano @ May 10 2013, 23:27) *
To alexPec
А эачем вам 31 инвертор, ведь можно и с меньшим количеством и тем же успехом.

Да в статье написано что надо >=31, еще больше-еще лучше. Наверно случайности ( в смысле джиттера) увеличиваются с ростом количества. Вообще наверно можно и на 3-х. Но частота будет выше, потребление больше. Оно надо? Не хай будет 31 - не так уж много логики.

2 Methane
За ссылку спасибо, полезная.
Go to the top of the page
 
+Quote Post
torik
сообщение May 13 2013, 12:09
Сообщение #26


Гуру
******

Группа: Свой
Сообщений: 2 113
Регистрация: 1-11-05
Пользователь №: 10 359



Можно прописать директиву /* synthesis noprune */ для всех нужных wire.


--------------------
Быть. torizin-liteha@yandex.ru
Go to the top of the page
 
+Quote Post
cdg
сообщение May 21 2013, 10:43
Сообщение #27


Местный
***

Группа: Свой
Сообщений: 313
Регистрация: 8-09-04
Из: Таганрог
Пользователь №: 617



Цитата(alexPec @ May 5 2013, 11:12) *
Добрый день всем!

Как сделать цепочку инверторов (этак 31), закольцованную, чтобы квартус не не выкинул 30 из них в процессе оптимизации?

lcell примитив Ваше все http://www.dsol.ru/stud/STESHENKO/glava3/327.htm можно и в коде использовать ,можно и в графике нарисовать, ква их не убирает.
Go to the top of the page
 
+Quote Post
maksimp
сообщение May 22 2013, 03:54
Сообщение #28


Местный
***

Группа: Участник
Сообщений: 313
Регистрация: 2-07-11
Пользователь №: 66 023



Цитата(cdg @ May 21 2013, 14:43) *
lcell примитив Ваше все можно и в коде использовать ,можно и в графике нарисовать, ква их не убирает.

Там есть опция "Ignore LCELL buffers", которую нужно отключить.
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 28th July 2025 - 22:37
Рейтинг@Mail.ru


Страница сгенерированна за 0.01632 секунд с 7
ELECTRONIX ©2004-2016