Jump to content

    
Sign in to follow this  
Alex_NEMO

Помогите "чайнику"!

Recommended Posts

Добрый день, уважаемые коллеги.

Есть квартусовский проектик на VHDL под Altera EPM3064. На сколько реально, если да, то на сколько сложно и как лучше перевести этот проектик под Xilinx XC9572?

Share this post


Link to post
Share on other sites

Думаю реально. Кристаллы вроде небольшие, трудоемкость тоже должна быть небольшой.

НО: не видя самого проекта, точно никто Вам не скажет.

Share this post


Link to post
Share on other sites
Думаю реально. Кристаллы вроде небольшие, трудоемкость тоже должна быть небольшой.

НО: не видя самого проекта, точно никто Вам не скажет.

Спасибо, приаттачил проектик под EPM3064. Просто если с Альтерами хоть чуть ковырялся и то, в основном только в "схематике", то Xilinx только пару раз прошивал... Буду очень благодарен за помощь.

PhoenixSD.rar

Share this post


Link to post
Share on other sites

Разводится в Xilinx ISE 13.3 нормально только надо немного поправить(файл приложен).

И потом XC9572 - это 5-вольтовые мс. В новых проектах лучше использовать XC9572XL-

они сильно дешевле и 3.3в, как и EPM3064

PhoenixSD.vhd

Share this post


Link to post
Share on other sites
Добрый день, уважаемые коллеги.

Есть квартусовский проектик на VHDL под Altera EPM3064. На сколько реально, если да, то на сколько сложно и как лучше перевести этот проектик под Xilinx XC9572?

 

На прямую VHDL в ISE не компилит?

 

или вот так

http://project-ideas-yaroslav.blogspot.com...01_archive.html

http://project-ideas-yaroslav.blogspot.com...01_archive.html

Share this post


Link to post
Share on other sites

Мужики, спасибо за помощь, советы/подсказки! ISE уже поставил на закачку на работе, скачал пару книжек в эл. виде - бум вникать.

XC9572 именно XL, просто микра дома была, я последние буквы не помнил. Как я понял, Xilinx'ы до 10000 циклов перезаписи держат, в отличии от 100 у Altera? "Слабоваты", как-то Альтеры в этом плане(по кол-ву перепрошивок).

Share this post


Link to post
Share on other sites
Разводится в Xilinx ISE 13.3 нормально только надо немного поправить(файл приложен).

gk2, подскажите ещё, пожалуйста, как перепривязать пины отнотительно сигналов и насколько критично и чем чревато предупреждение:

"WARNING:Xst:2183 - Unit PhoenixSD: the following tristate(s) are NOT replaced by logic (Please refer to Answer Record 20048 for more information): , D<1>_MLTSRCEDGE."?

Share this post


Link to post
Share on other sites
gk2, подскажите ещё, пожалуйста, как перепривязать пины отнотительно сигналов и насколько критично и чем чревато предупреждение:

"WARNING:Xst:2183 - Unit PhoenixSD: the following tristate(s) are NOT replaced by logic (Please refer to Answer Record 20048 for more information): , D<1>_MLTSRCEDGE."?

 

Добрый день.

Добавьте в проект файл с расширением <любое имя>.ucf и в нем опишите расположение выводов в виде, где n - номер пина:

NET "AB<0>" LOC = "n" ; # n - номер пина AB - шина

NET "AB<1>" LOC = "" ;

NET "AB<2>" LOC = "" ;

 

NET "C2I" LOC = "" ; # одиночные сигналы

NET "C2O" LOC = "" ;

NET "CLK20" LOC = "" ;

 

можно писать и без кавычек

 

после полной компиляции отчет о расположении выводов получите в файле с расширением .pad

и в файле с именем головного файла и расширением txt

Удачи

P.S. Предупреждение связано с тем, что в зависимости от ситуации САПР может заменять встречающиеся описания буферов с третьим состоянием на логический мультиплексор или не заменять. В основном это бывает связано с тем, что в некоторых сериях чипов таких буферов нет в принципе. В вашем случае САПР замену не производил.

Share this post


Link to post
Share on other sites
Добрый день.

Добавьте в проект файл с расширением <любое имя>.ucf и в нем опишите расположение выводов в виде, где n - номер пина:

NET "AB<0>" LOC = "n" ; # n - номер пина AB - шина

NET "AB<1>" LOC = "" ;

NET "AB<2>" LOC = "" ;

 

NET "C2I" LOC = "" ; # одиночные сигналы

NET "C2O" LOC = "" ;

NET "CLK20" LOC = "" ;

 

можно писать и без кавычек

 

после полной компиляции отчет о расположении выводов получите в файле с расширением .pad

и в файле с именем головного файла и расширением txt

Удачи

P.S. Предупреждение связано с тем, что в зависимости от ситуации САПР может заменять встречающиеся описания буферов с третьим состоянием на логический мультиплексор или не заменять. В основном это бывает связано с тем, что в некоторых сериях чипов таких буферов нет в принципе. В вашем случае САПР замену не производил.

 

Andrew Su, спасибо за разъяснения. Просто в Квартусе это проще и нагляднее делается. А тут - полазил и кристалл с привязками виден только в Xilinx PACE и толком не понял как чего.

Сейчас открыл проект по новой (после компиляции), таблица "Design Object List - I/O Pins", колонка "Loc", хотя бы привязки к пинам появились вида "Pn", где n - номер пина. Ещё в проекте появился файлик .ucf, там как раз PINLOCK'и описаны. Это то или нет?

Ещё вопрос по правке .pad файла - "IO Bank Number" ISE сам ставит?

Или мне достаточно в .pad файле, например, вместо:

P1|D<1>|I/O|I/O|BIDIR|||||||||
P2|nWR|I|I/O|INPUT|||||||||
P3|D<2>|I/O|I/O|BIDIR|||||||||
P4|nM1|I|I/O|INPUT|||||||||
P5|CLC|GCK/I|I/O/GCK1||||||||||

написать так:

P4|D<1>|I/O|I/O|BIDIR|||||||||
P3|nWR|I|I/O|INPUT|||||||||
P2|D<2>|I/O|I/O|BIDIR|||||||||
P1|nM1|I|I/O|INPUT|||||||||
P5|CLC|GCK/I|I/O/GCK1||||||||||

и перекомпилить проект?

_____________________

Сорри ступил, т.к. невнимательно прочитал.

Вот фрагмент моего .ucf:

NET "A<0>"           LOC =  "S:PIN34";
NET "A<1>"           LOC =  "S:PIN26";
NET "A<2>"           LOC =  "S:PIN28";
NET "A<3>"           LOC =  "S:PIN36";
NET "A<4>"           LOC =  "S:PIN27";
NET "A<5>"           LOC =  "S:PIN33";
NET "A<6>"           LOC =  "S:PIN44";
NET "A<7>"           LOC =  "S:PIN24";
NET "CLC"             LOC =  "S:PIN5";

И как я понимаю, тут такие же, как в альтеровских кристаллах ограничения по нек. пинам(только вход или выход, тактовые)? И с учетом этого я тупо меняю, например, NET "A<6>" LOC = "S:PIN44", на NET "A<6>" LOC = "S:PIN<какой_мне_нужен>" и все.

Share this post


Link to post
Share on other sites

WARNING:Xst:2183 - Unit ........ - это он ругается на эти строки:

 

D <= SPI_DO when PORT_57_RDSTB = '1' else "ZZZZZZZZ";

D(1 downto 0) <= "00" when PORT_77_RDSTB = '1' else "ZZ";

 

Получается что D(1) и D(0) разных источников соединены по 3-ему состоянию.

 

Если записать так:

 

D(7 downto 2) <= SPI_DO(7 downto 2) when PORT_57_RDSTB = '1' else "ZZZZZZ";

D(1 downto 0) <= SPI_DO(1 downto 0) when PORT_57_RDSTB = '1' else "00" when PORT_77_RDSTB = '1' else "ZZ";

 

то получится мультиплексор и на выходе буфер с 3 состояниями и синтезатор сообщений не выдает.

 

 

Ограничения по пинам - все могут быть всем(в других семействах Xilinx по другому), клок- желательно подавать на выделенные клоковые входы, сброс и разрешение выходов тоже;

если нет - будут гораздо худшие параметры быстодействия

 

В UCF - файле можно писать проще: NET "A<6>" LOC = "44"

Edited by gk2

Share this post


Link to post
Share on other sites
WARNING:Xst:2183 - Unit ........ - это он ругается на эти строки:

 

D <= SPI_DO when PORT_57_RDSTB = '1' else "ZZZZZZZZ";

D(1 downto 0) <= "00" when PORT_77_RDSTB = '1' else "ZZ";

 

Получается что D(1) и D(0) разных источников соединены по 3-ему состоянию.

 

Если записать так:

 

D(7 downto 2) <= SPI_DO(7 downto 2) when PORT_57_RDSTB = '1' else "ZZZZZZ";

D(1 downto 0) <= SPI_DO(1 downto 0) when PORT_57_RDSTB = '1' else "00" when PORT_77_RDSTB = '1' else "ZZ";

 

то получится мультиплексор и на выходе буфер с 3 состояниями и синтезатор сообщений не выдает.

Спасибо, теперь все ОК!

 

Ограничения по пинам - все могут быть всем(в других семействах Xilinx по другому), клок- желательно подавать на выделенные клоковые входы, сброс и разрешение выходов тоже;

если нет - будут гораздо худшие параметры быстодействия

 

В UCF - файле можно писать проще: NET "A<6>" LOC = "44"

По "спец-пинам" у меня получилось так:

GCK1, GCK2- "свободные".

GCK3 - клок от "головной системы" - 14МГц

GSR - системный СБРОС - /RES

GTS1 - A0

GTS2 - A1.

 

Все взято по образу и подобию проекта на EPM3064.

Остальные пины - как удобно для разводки платы.

Остались "свободными" ещё 4 пина.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this