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

 
 
> UCF, назначение вывода
deast
сообщение Jun 30 2006, 05:34
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 36
Регистрация: 8-06-05
Пользователь №: 5 827



Возникло затруднение. Некоторый модуль в проекте, имеет вывод, который нужно посадить на контакт ПЛИС. Там даже OBUF структурно вставлен. Сам модуль находится глубоко в иерархии. Как в .UCF это сказать, чтобы система повесила этот вывод куда надо, чтобы не тащить этот контакт через всю иерархию. Спасибо...
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Rok
сообщение Jul 1 2006, 04:07
Сообщение #2


Участник
*

Группа: Свой
Сообщений: 62
Регистрация: 11-01-05
Из: Беларусь, Минск
Пользователь №: 1 894



Цитата(deast @ Jun 30 2006, 14:34) *
Возникло затруднение. Некоторый модуль в проекте, имеет вывод, который нужно посадить на контакт ПЛИС. Там даже OBUF структурно вставлен. Сам модуль находится глубоко в иерархии. Как в .UCF это сказать, чтобы система повесила этот вывод куда надо, чтобы не тащить этот контакт через всю иерархию. Спасибо...

Ну здесь я вижу аж целых три решения.
1. Если пишите на верилог, то просто в топ модуле можете написать типа:
wire probe_1 = u_Module.u_block_1.u_inst.net_name
ну и потом завести его на выход. Но этот способ я не гарантирую так как не пользовался, просто вспомнилось, что в testbench так делаю.
Может для синтеза и не пройдет.

2. Если синтез делаете в Synplify, тот там есть такой аттрибут syn_probe.
Его можнл описать, как и в самом RTL, так и в SDC. Я обычно использую второе, т.е. типа:
define_attribute {n:u_inst.net_name} syn_probe {1}
Т.е. ваш выходной netlist будет включать этот выход. Только нужно посмотреть как его синтезатор обозвал, чтобы корректно описать этот выход в UCF.

3. FPGA_Editor - это уже когда проект полностью разведен, чтобы не возвращаться обратно к синтезу.
Там есть такая фича - probes. Там все просто, как грабли. Нажимаете на кнопочку, выбираете любой сигнал из списка и пин куда хотите его подсоединить - он автоматом разводит.
Ну тут может быть такая проблема, что именно того сигнала, который вам нужен его, то и нет. Т.е. это синтезатор постарался его убрать. В этом случае нужно синтезатору сказать, чтобы он его не трогал. На примере Synplify, там есть директива syn_keep.

Ну вот вроде и все, дерзайте smile.gif
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 03:55
Рейтинг@Mail.ru


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