Цитата(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.
Ну вот вроде и все, дерзайте