Страница 1 из 2
Программирование Xilinx
Добавлено: Пн окт 25, 2010 14:16:25
Valek87
Добрый день. Вот осваиваю программирование ПЛИС. Нужно большой кусок схемы на логике вогнать по максимуму в ПЛИС. Посоветуйте толковую литературу. Может есть у кого-нибудь статьи где рассматривается весь путь от создания схемы до программирования ПЛИС. Выложите пожалуйста. Спасибо.
Re: Программирование Xilinx
Добавлено: Пн окт 25, 2010 14:54:09
SII
Сейчас схемы на всяких там элементах не делают -- это долго и неудобно. Вместо этого описывают нужное поведение на VHDL или Verilog, после чего компилятор соответствующего языка вместе с прочими программами преобразует всё это в прошивку ПЛИС. Для Xilinx всё необходимое входит в ISE. Правда, качать его тяжело -- что-то вроде 3 гигабайт. Ну а литература... Что-то было на этом сайте, а так -- поиском.
Re: Программирование Xilinx
Добавлено: Вт окт 26, 2010 15:38:27
Valek87
Кто-нибудь пробовал программировать Xilinx через USB? Есть у кого-нибудь схема распайки кабеля?
Re: Программирование Xilinx
Добавлено: Вт окт 26, 2010 16:15:44
Pe3ucTop
Valek87 писал(а):Кто-нибудь пробовал программировать Xilinx через USB? Есть у кого-нибудь схема распайки кабеля?
Как понять пробовал ?? Оригинальный кабель полноценно работает...
По поводу распайки - нету, тоже искал, но ничего хорошего не нашел... Пришлось делать на LPT..
Говорят можно сделать на CY7C68013A и XC2C256, дорого да и конкретных данных по содержанию ЕЕПРОМ и CPLD не увидел.
Можно JTAG кабель сделать на FTDI FT245 и CPLD но в том что оно будет работать с оригинальным софтом уверенности тоже нету..
Re: Программирование Xilinx
Добавлено: Вт окт 26, 2010 16:47:24
Valek87
Pe3ucTop писал(а):Как понять пробовал ?? Оригинальный кабель полноценно работает...
Да и он и стоит вроде прилично.

Re: Программирование Xilinx
Добавлено: Вт окт 26, 2010 21:24:30
SII
Я имею дело с Дигилентовской платой со Спартаном-3Е. С ней в комплекте идёт УСБ-шнурок для программирования, но он рассчитан на связь с УСБ-контроллером, стоящим на плате. Однако отдельно можно купить и шнурок УСБ-ЖТАГ, который работает уже с самой ПЛИСиной. Правда, он действительно недёшев -- 2 тыщи, что ли. Схем не попадалось, но я и не пытался найти: предпочитаю такие вещи брать готовые, чем заморачиваться с "доработкой напильником".
Re: Программирование Xilinx
Добавлено: Пн ноя 08, 2010 10:44:39
Valek87
Допустим у меня есть схема. На вход к.-л. микросхемы подается сигнал с опред. частотой. Подскажите, как мне записать этот сигнал на языке VHDL, чтобы я смог увидеть какой частоты сигнал у меня будет на выходе.
Re: Программирование Xilinx
Добавлено: Пн ноя 08, 2010 12:03:55
SII
Зависит от того, нужно это лишь в симуляторе или в реальном железе (т.е. чтобы сигнал физически генерился). В последнем случае придётся соображать умножители-делители частоты и т.п. вещи, чтобы получить нужный сигнал из опорного (от кварца, что прилеплен к ПЛИС).
Re: Программирование Xilinx
Добавлено: Пн ноя 08, 2010 14:52:25
Valek87
У меня стоит кварц 10 МГц. Мне нужно написать на VHDL этот сигнал. Якобы он поступает на МС.
Re: Программирование Xilinx
Добавлено: Пн ноя 08, 2010 15:13:25
SII
Где написать? В симуляторе для отладки кода? Или в реальной схеме подать эту частоту?
Re: Программирование Xilinx
Добавлено: Пн ноя 08, 2010 15:14:27
Valek87
SII писал(а):В симуляторе для отладки кода?
Re: Программирование Xilinx
Добавлено: Пн ноя 08, 2010 17:56:06
SII
Пример из мануала:
Код: Выделить всё
PROCESS -- clock process for clk_in
BEGIN
CLOCK_LOOP : LOOP
clk_in <= '0';
WAIT FOR PERIOD * 0.5;
clk_in <= '1';
WAIT FOR PERIOD * 0.5;
END LOOP CLOCK_LOOP;
END PROCESS;
Re: Программирование Xilinx
Добавлено: Вт ноя 09, 2010 15:43:22
Valek87
Вот моя простенькая схема.
- 1.JPG
- (37.65 КБ) 603 скачивания
Я хочу просимулировать так, чтобы на вход first якобы поступал вышеуказанный сигнал частотой 10 МГц. Вот мой код (написано в Xilinx ISE Design Suite 12.3).
Код: Выделить всё
entity ANDOR is
Port ( first, second, third: in BIT;
four : out BIT);
end ANDOR;
architecture chema of ANDOR is
New: PROCESS (first) -- clock process for clk_in
BEGIN
CLOCK_LOOP : LOOP
first <= '0';
WAIT FOR 200 ns;
first <= '1';
WAIT FOR 200 ns;
END LOOP CLOCK_LOOP;
END PROCESS New;
END chema;
Проверка ошибок выдает ошибку:
ERROR:HDLParsers:164 - "C:/Documents and Settings/Xilinxproj/module.vhd" Line 38. parse error, unexpected PROCESS
Где ошибка?
Re: Программирование Xilinx
Добавлено: Вт ноя 09, 2010 15:53:41
Pe3ucTop
Советую вам отдельно - сделать модуль частоты, и отдельно модуль элемента.
И потом главным модулем (будь то схема или синтаксис) соеденить их оба..
Re: Программирование Xilinx
Добавлено: Вт ноя 09, 2010 19:23:40
SII
Valek87 писал(а):Где ошибка?
А где begin? Компилятор не зря сказал, что в этом месте процесс он никак не ожидал увидеть...
Re: Программирование Xilinx
Добавлено: Вт ноя 09, 2010 21:44:24
Valek87
После этой строки в коде:
Код: Выделить всё
New: PROCESS (first) -- clock process for clk_in
Re: Программирование Xilinx
Добавлено: Ср ноя 10, 2010 00:04:23
SII
А вообще-то должен быть ещё и после объявления архитектуры... а между архитектурой и бегином могут быть объявления внутренних сигналов (можно считать -- переменных) и т.п.
Код: Выделить всё
architecture XXXX of YYYY is
здесь описания сигналов
begin
а здесь описание того, как всё это работает -- в частности, операторы process
end XXXX;
Re: Программирование Xilinx
Добавлено: Пн апр 18, 2011 00:44:30
Wladimir_TS
У меня вопрос более приземленный к железу. К сожалению в современных компьютерах уже нету LPT и COMов - поэтому неспешно разрабатываю USB програматор (база однокристалка с аппаратным USB). Вопрос - не раскрыто-ли глде в инете содержание протокола обмена конфигурационная ЭСППЗУ-програматор ? Как я понимаю там при JTAGовской маркировке используется банальный SPI. Вопрос в специфике связанной с тем что ЭСППЗУшки новых годов выпуска почему-то не шьються программами старых версий - занчит алгоритм зависит от года выпуска (ID) микросхемы ЭСППЗУ. В общем - кто что знает - расскажите.
Re: Программирование Xilinx
Добавлено: Пн апр 18, 2011 07:44:08
Uklunok
Valek87 писал(а):
Я хочу просимулировать так, чтобы на вход first якобы поступал вышеуказанный сигнал частотой 10 МГц.
Я делаю так:
Код: Выделить всё
constant PERIOD : time:= 100 ns;
BEGIN
first <= not first after PERIOD/2;
Вроде бы 10МГц, возможно не правильно посчитал)
Re: Программирование Xilinx
Добавлено: Пн апр 18, 2011 21:57:44
SII
Wladimir_TS, я не встречал подобной информации, хотя было б интересно. Что же касается программаторов, то предпочитаю готовые. Для USB такие тоже имеются, не говоря о том, что переходник USB-COM -- вещь легкодоступная, так что и старые программаторы использовать можно.