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

 
 
> Как правильно ассигновать пины?
dmyl
сообщение Jul 18 2006, 06:34
Сообщение #1


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

Группа: Свой
Сообщений: 123
Регистрация: 11-01-06
Пользователь №: 13 032



На CPLD-Xilinx разработан проект на 95%, сигналы внешние вообщем уже назначены все. В проекте несколько независимых устройств и порядка 70 сигналов. Разумеется после компиляции ноги раскидало непойми куда. Чтобы двигать проект дальше - пора ноги фиксировать и переходить к реализации в железе. Раньше я просто переназначал ноги более менее группируя их чтобы лучше получилась разводка кристалла на печатной плате.
Сейчас проект больше, какие есть способы заставить компилятор группировать ноги, или возможно есть какая-то стратегия как делать это вручную, чтобы потом при отладке проекта в железе можно было вносить небольшие изменения и не упереться в то что с заданной расстановкой пинов не удастся упаковать кристалл.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
cornflyer
сообщение Jul 18 2006, 07:35
Сообщение #2


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

Группа: Свой
Сообщений: 166
Регистрация: 11-07-06
Из: Dubna
Пользователь №: 18 729



в проект добавляешь файл с расширением ?.ucf
там ручками прописываешь каждый сигнал соотвествующей ноге... вот пример содержания этого файла:
#PACE: Start of Constraints generated by PACE

#PACE: Start of PACE I/O Pin Assignments
NET "ConvEn" LOC = "P44" ;
NET "CS_DAC" LOC = "P7" ;
NET "DAO<0>" LOC = "P27" ;
NET "DAO<1>" LOC = "P25" ;
NET "DAO<2>" LOC = "P24" ;
NET "DAO<3>" LOC = "P22" ;
NET "DAO<4>" LOC = "P20" ;
NET "DAO<5>" LOC = "P19" ;
NET "DAO<6>" LOC = "P17" ;
NET "DAO<7>" LOC = "P16" ;
NET "DIO<0>" LOC = "P6" ;
NET "DIO<10>" LOC = "P50" ;
NET "DIO<11>" LOC = "P49" ;
NET "DIO<12>" LOC = "P48" ;
NET "DIO<13>" LOC = "P45" ;
NET "DIO<1>" LOC = "P5" ;
NET "DIO<2>" LOC = "P2" ;
NET "DIO<3>" LOC = "P64" ;
NET "DIO<4>" LOC = "P63" ;
NET "DIO<5>" LOC = "P62" ;
NET "DIO<6>" LOC = "P61" ;
NET "DIO<7>" LOC = "P60" ;
NET "DIO<8>" LOC = "P57" ;
NET "DIO<9>" LOC = "P56" ;
NET "DT" LOC = "P36" ;
NET "DTIME" LOC = "P11" ;
NET "EnaRST" LOC = "P35" ;
NET "IACK" LOC = "P39" ;
NET "IORD" LOC = "P43" ;
NET "IRQ" LOC = "P42" ;
NET "LD_DAC" LOC = "P15" ;
NET "RDHB" LOC = "P9" ;
NET "RDLB" LOC = "P10" ;
NET "REQ" LOC = "P8" ;
NET "SLD0" LOC = "P38" ;
NET "SLD2" LOC = "P33" ;

#PACE: Start of PACE Area Constraints

#PACE: Start of PACE Prohibit Constraints

#PACE: End of Constraints generated by PACE

конец файла )))))))

ЗЫ: "P33" - это значит 33-я нога на корпусе плисины соотвествует сигналу SLD2
Go to the top of the page
 
+Quote Post
dmyl
сообщение Jul 18 2006, 08:01
Сообщение #3


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

Группа: Свой
Сообщений: 123
Регистрация: 11-01-06
Пользователь №: 13 032



Цитата(cornflyer @ Jul 18 2006, 12:35) *
в проект добавляешь файл с расширением ?.ucf
там ручками прописываешь каждый сигнал соотвествующей ноге... вот пример содержания этого файла:

Это все яснее ясного.

1. Как прописывать не ручками - а автоматом заставить сигналы объединенные в группы расставлять рядом?
2. Даже если ручками писать - как выбрать распиновку, чтобы потом проект при добавлении еще 10% развелся. Какие критерии?


Цитата(AlexB @ Jul 18 2006, 12:39) *
Для страховки от "упереться" применял некоторую избыточность проекта. Таким образом всегда имел запас места.

Это каким это образом? Специально оптимизацию на избыточное отключали.
Или просто речь о том чтобы проект был менее чем 80%?
Go to the top of the page
 
+Quote Post
AlexB
сообщение Jul 18 2006, 08:08
Сообщение #4


Участник
*

Группа: Свой
Сообщений: 37
Регистрация: 9-08-05
Из: The Netherlands
Пользователь №: 7 477



Цитата(dmyl @ Jul 18 2006, 12:01) *
Цитата(AlexB @ Jul 18 2006, 12:39) *

Для страховки от "упереться" применял некоторую избыточность проекта. Таким образом всегда имел запас места.

Это каким это образом? Специально оптимизацию на избыточное отключали.
Или просто речь о том чтобы проект был менее чем 80%?


На свободные пины выводил замысловатую функцию от реальных входных пинов. Когда при отладке места становилось в обрез smile3046.gif квазиунофантазию удалял. Спасало несколько раз.

Сообщение отредактировал AlexB - Jul 18 2006, 08:12
Go to the top of the page
 
+Quote Post



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

 


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


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