-
07.04.2004, 19:33 #1Yegorov DmitryГость
Простенький пример ПЗУ на Vhdl
Я кажется догадался сам как программировать ПЗУ в Multisim'е. Там оказывается на VHDL что угодно можно запрограммировать. А нет ли у кого-нибудь простенького примера ПЗУ на VHDL. А то я VHDL не знаю. А с примером я скорее всего разберусь.
-
07.04.2004, 21:05 #2
- Регистрация
- 08.05.2002
- Адрес
- Москва
- Возраст
- 42
- Сообщений
- 904
- Поблагодарили
- 3
- Поблагодарил
- 2
Так там должно уже быть описание ПЗУ и других компонент. Единственное, что надо создать и заполнить - memory initiallization file (*.mif) и привязать его потом к вашему объявлению ПЗУ в VHDL-описании вашего проекта. Я, к сожалению, наоборот, не знаком с Multisim'ом, но знаю VHDL и пишу под ПЛИС (САПР Xilinx Foundation, Altera Quartus).
Объявление ПЗУ обычно такое (в простом случае)
COMPONENT ROM
GENERIC (WIDTH_DATA : POSITIVE;
WIDTHAD: POSITIVE;
NUMWORDS: NATURAL := 0;
NAME_MIF: STRING;
PORT (address: IN STD_LOGIC_VECTOR(WIDTHAD-1 DOWNTO 0);
memenab: IN STD_LOGIC := '1';
q: OUT STD_LOGIC_VECTOR(WIDTH_DATA-1 DOWNTO 0));
END COMPONENT;
Упомянутые мной САПР "понимают" это. Единственно, что нужно - писать с учетом синтаксиса, который разбирает ваша САПР. Так в quartus и MAX+plusII это будет LPM_ROM. Само описание и работа этого компонента должно быть заложено в систему моделирования. Так что читайте help к прилагаемой библиотеке параметризованных модулей (кажись так енто называется). Здесь - вызов простейшего ПЗУ без всяких защелок адреса и выходных данных. Только адресный вход , сигнал разрешения memenab, q - выход данных.
Данные пишите ручками в MIF-файле, я это уже упомянал.Последний раз редактировалось CO2040; 07.04.2004 в 21:10.
Свободный оператор
|
Социальные закладки