Alex_NEMO 0 17 января, 2012 Опубликовано 17 января, 2012 · Жалоба Добрый день, уважаемые коллеги. Есть квартусовский проектик на VHDL под Altera EPM3064. На сколько реально, если да, то на сколько сложно и как лучше перевести этот проектик под Xilinx XC9572? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
eugen_pcad_ru 0 17 января, 2012 Опубликовано 17 января, 2012 · Жалоба Думаю реально. Кристаллы вроде небольшие, трудоемкость тоже должна быть небольшой. НО: не видя самого проекта, точно никто Вам не скажет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
KA_ru 0 17 января, 2012 Опубликовано 17 января, 2012 · Жалоба Если есть исходники то да, если бинарник то нет. Легче написать новый. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alex_NEMO 0 17 января, 2012 Опубликовано 17 января, 2012 · Жалоба Думаю реально. Кристаллы вроде небольшие, трудоемкость тоже должна быть небольшой. НО: не видя самого проекта, точно никто Вам не скажет. Спасибо, приаттачил проектик под EPM3064. Просто если с Альтерами хоть чуть ковырялся и то, в основном только в "схематике", то Xilinx только пару раз прошивал... Буду очень благодарен за помощь. PhoenixSD.rar Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gk2 0 17 января, 2012 Опубликовано 17 января, 2012 · Жалоба Разводится в Xilinx ISE 13.3 нормально только надо немного поправить(файл приложен). И потом XC9572 - это 5-вольтовые мс. В новых проектах лучше использовать XC9572XL- они сильно дешевле и 3.3в, как и EPM3064 PhoenixSD.vhd Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
disel 0 17 января, 2012 Опубликовано 17 января, 2012 · Жалоба Создаете проект в ISE, добавляете два vhd файла и запускаете имплиментацию. Ничего архитектуро-зависимого у вас нет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
slava_edf 0 17 января, 2012 Опубликовано 17 января, 2012 · Жалоба Добрый день, уважаемые коллеги. Есть квартусовский проектик на 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 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alex_NEMO 0 17 января, 2012 Опубликовано 17 января, 2012 · Жалоба Мужики, спасибо за помощь, советы/подсказки! ISE уже поставил на закачку на работе, скачал пару книжек в эл. виде - бум вникать. XC9572 именно XL, просто микра дома была, я последние буквы не помнил. Как я понял, Xilinx'ы до 10000 циклов перезаписи держат, в отличии от 100 у Altera? "Слабоваты", как-то Альтеры в этом плане(по кол-ву перепрошивок). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alex_NEMO 0 18 января, 2012 Опубликовано 18 января, 2012 · Жалоба Разводится в 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."? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrew_su 1 18 января, 2012 Опубликовано 18 января, 2012 · Жалоба 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. Предупреждение связано с тем, что в зависимости от ситуации САПР может заменять встречающиеся описания буферов с третьим состоянием на логический мультиплексор или не заменять. В основном это бывает связано с тем, что в некоторых сериях чипов таких буферов нет в принципе. В вашем случае САПР замену не производил. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alex_NEMO 0 18 января, 2012 Опубликовано 18 января, 2012 · Жалоба Добрый день. Добавьте в проект файл с расширением <любое имя>.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<какой_мне_нужен>" и все. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gk2 0 18 января, 2012 Опубликовано 18 января, 2012 (изменено) · Жалоба 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" Изменено 18 января, 2012 пользователем gk2 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alex_NEMO 0 21 января, 2012 Опубликовано 21 января, 2012 · Жалоба 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 пина. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться