Jump to content

    

Коммутировать несколько входов на один выход.

1 hour ago, Flip-fl0p said:

Это и есть причина.

Sel не формируется. Поэтому выражение не выполняется. Поэтому всегда у нас работает ветка когда sel = 0 т.е на выход присваивается константа.

Вот только странно. В первом сообщении нужен обычный мультиплексор. А сейчас Вы хотите, чтобы он тактировался, т.е чтобы где-то ещё стоял триггер. 

Так как вам надо то сделать ?

 

нет. мне нужно как раз таки без тактирования. мне вход на выход нужно передать за 2-3 наносекунды.

Share this post


Link to post
Share on other sites

Я получил следующую схему.

Красная линия - селект контролируемый контролером. там где 0 сигнал с контролера, там где 1 сигнал со входа.

А как узнать время распространения сигнала в этом муксе?

fpga_in_out.png

Share this post


Link to post
Share on other sites
2 minutes ago, jenya7 said:

А как узнать время распространения сигнала в этом муксе?

Что за ПЛИС? Если пользуетесь квартусом, то можно с помощью timequest.

Share this post


Link to post
Share on other sites
1 hour ago, bogaev_roman said:

Что за ПЛИС? Если пользуетесь квартусом, то можно с помощью timequest.

MAX10. Копаюсь в TimeQuest, куча репортов но нигде нету этих данных.

Share this post


Link to post
Share on other sites
27 минут назад, jenya7 сказал:

мне вход на выход нужно передать за 2-3 наносекунды.

ИМХО. На FPGA такую задержку не получить.

Смотрите на CPLD. Например в CoolRunner-II CPLD XC2C32A задержка 3,8 нс.

Share this post


Link to post
Share on other sites
2 minutes ago, jenya7 said:

MAX10. Копаюсь в TimeQuest, куча репортов но нигде нету этих данных.

Попробуйте report path от одного пина до другого.

Share this post


Link to post
Share on other sites
1 hour ago, Darky777 said:

Попробуйте report path от одного пина до другого.

не нашел там такого. может надо настроить TimeQuest? определить у него в настройках?

Share this post


Link to post
Share on other sites
1 minute ago, jenya7 said:

не нашел там такого. может надо настроить TimeQuest? определить у него в настройках?

Это один из task в TimeQuest. Прошу прощения за отсутствие пояснений.

На самом деле я не помню точно, как называется точно тот таск (давно не работал на альтере), но он всегда помогал определять время распростронения сигнала от одного источника до другого приемника, не привязываясь к клокам.

Возможно этот таск в Custom reports

Share this post


Link to post
Share on other sites
1 hour ago, Darky777 said:

Это один из task в TimeQuest. Прошу прощения за отсутствие пояснений.

На самом деле я не помню точно, как называется точно тот таск (давно не работал на альтере), но он всегда помогал определять время распростронения сигнала от одного источника до другого приемника, не привязываясь к клокам.

Возможно этот таск в Custom reports

да. точно. у него в Castom Report есть Report Path. Выбираю в поле From входной пин, в To выходной пин. генерирую -получаю Nothing to report. Подозреваю что в Quartus Lite это не работает, только в Quartus Pro.

Edited by jenya7

Share this post


Link to post
Share on other sites
2 minutes ago, jenya7 said:

да. точно. у него в Castom Report есть Report Path. Выбираю в поле From входной пин, в To выходной пин. генерирую -получаю Nothing to report. Подозреваю что Quartus Lite в это не работает, только в Quartus Pro.

Можете показать, какую команду сгенерил TimeQuest? Она обычно формируется внизу, когда заполняете поля From и To?

Edited by Darky777
забыл знак вопроса поставить

Share this post


Link to post
Share on other sites
1 hour ago, Darky777 said:

Можете показать, какую команду сгенерил TimeQuest? Она обычно формируется внизу, когда заполняете поля From и To?

 

report_path -from [get_ports {F_LPTG_IN[0]}] -to [get_ports {F_LPTG_OUT[0]}] -npaths 1 -panel_name {Report Path} -multi_corner

 

в консоли пишет

Quote

report_path -from [get_ports {F_LPTG_IN[0]}] -to [get_ports {F_LPTG_OUT[0]}] -npaths 1 -panel_name {Report Path} -file "PathReport.txt" -multi_corner
Report Path: No paths were found
0 0.000

 

Edited by jenya7

Share this post


Link to post
Share on other sites
Just now, jenya7 said:

report_path -from [get_ports {F_LPTG_IN[0]}] -to [get_ports {F_LPTG_OUT[0]}] -npaths 1 -panel_name {Report Path} -multi_corner

 

в консоли пишет

 

 

Странно все это. Разные комбинации пробовали?

 

Quote

Подозреваю что в Quartus Lite это не работает, только в Quartus Pro.

 

Мне кажется, что ограничений тут нет и дело не в лицензии. в Pro версия лишь реализована работа с другими навороченными семействами, в то время как MAX семейства поддерживаются в lite и в Standard. 

Вот пруф https://www.intel.com/content/www/us/en/software/programmable/quartus-prime/download.html

Share this post


Link to post
Share on other sites
1 hour ago, Darky777 said:

Странно все это. Разные комбинации пробовали?

 

да. пробовал и так и этак. все время пишет No paths were found. Но в RTL я вижу F_LPTG_IN[0]  скомутирован на F_LPTG_OUT[0] через мукс.

 

интересно а если использовать LPU_MUX может он пошустрее будет?

mux.png

Edited by jenya7

Share this post


Link to post
Share on other sites
Just now, jenya7 said:

да. пробовал и так и этак. все время пишет No paths were found. Но в RTL я вижу F_LPTG_IN[0]  скомутирован на F_LPTG_OUT[0] через мукс.

 

интересно а если использовать LPU_MUX может он пошустрее будет?

mux.png

 

Сравните репорт об утилизации, вдруг что-то изменилось. однако вопрос в другом: как таймквесту попросить рассказать о задержке.. Кстати, вы в PinPlanner ножки расставили?

Share this post


Link to post
Share on other sites
2 hours ago, Darky777 said:

Сравните репорт об утилизации, вдруг что-то изменилось. однако вопрос в другом: как таймквесту попросить рассказать о задержке.. Кстати, вы в PinPlanner ножки расставили?

да. конечно. все ножки проинициализированы в Pin Planner. у меня есть только Resource Utilization by Entity а там он мой мукс не показывает

 

мне тут подсказали что директиву

report_path -from [get_ports {F_LPTG_IN[0]}] -to [get_ports {F_OTB_OUT[0]}] -npaths 1 -panel_name {Report Path} -multi_corner

надо прописать в констрэйн файле (.sdc). прописал но репорт все равно не генериться.

Edited by jenya7

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now