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

 
 
> 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
Ответов (1 - 4)
YGin
сообщение Jun 30 2006, 07:54
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 193
Регистрация: 28-02-06
Пользователь №: 14 796



Цитата(deast @ Jun 30 2006, 08:34) *
Как в .UCF это сказать, чтобы система повесила этот вывод куда надо

Трах-тибидох-тибидох!! smile.gif
Может и ошибаюсь но если не изменяет склироз такого делать нельзя!
Там можно вешать только порты топа!
Go to the top of the page
 
+Quote Post
Vitёk
сообщение Jun 30 2006, 19:49
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 272
Регистрация: 17-01-05
Из: Ростов-на-Дону
Пользователь №: 2 018



Попробуйте использовать макросы типа IPAD, IBUF (OPAD/IOPAD, OBUF/IOBUF) (это на Xilinx). Будучи нарисованым в схемном редакторе, такое работало. Там же в атрибуте LOC можно указать конкретную ножку (тут могут быть траблы с синтезатором, что бы он не выкинул атрибут).


--------------------
/* Всё хорошо в меру. */
Go to the top of the page
 
+Quote Post
Rok
сообщение Jul 1 2006, 04:07
Сообщение #4


Участник
*

Группа: Свой
Сообщений: 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
kas
сообщение Jul 3 2006, 09:35
Сообщение #5


Частый гость
**

Группа: Свой
Сообщений: 77
Регистрация: 17-05-05
Из: Красноярск
Пользователь №: 5 108



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


После синтеза, если цепь никуда не была подключена, Вы ее скорее всего не найдете, синтезатор удалит.

У меня получилось так:
наложить атрибуты "KEEP" и "LOC" на нужную цепь прямо в модуле
Как это сделать написано в Constraints Guide.
Go to the top of the page
 
+Quote Post

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

 


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


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