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

 
 
 
Reply to this topicStart new topic
> ПЗУ на MAX7000S, Помогите пожалуйста разобраться...
Allexiy
сообщение Mar 20 2007, 14:16
Сообщение #1


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

Группа: Свой
Сообщений: 94
Регистрация: 3-01-06
Пользователь №: 12 813



Помогите разобраться начинающему!
Есть девайс - EPM7128S, из ПО есть Quartus и MAX PLUS. задача заключается в том, чтобы сделать преобразователь кодов, согласно определенной таблице. На вход подается 6-ти разрядные данные, а с выхода снимаются 3-х разрядные данные. На сколько я себе представляю, нужно спрограммировать что-то вроде ПЗУ, с .hex файлом ( посмотрел, что существует даже стандартная мегофункция LPM_ROM, но она не подходитк к семейству MAX7000S).
Подскажите пожалуйста как проще и лучше реализовать такую задачу. help.gif
Go to the top of the page
 
+Quote Post
Doka
сообщение Mar 20 2007, 14:22
Сообщение #2


Electrical Engineer
******

Группа: СуперМодераторы
Сообщений: 2 163
Регистрация: 4-10-04
Пользователь №: 778



нУ, раз вы запостили в раздел по языкам, то вот вам шаблон на верилоге:
CODE

parameter ROM_WIDTH = 3;

reg [ROM_WIDTH-1:0] <output_data>;
wire [5:0] address;

always @(posedge <clock>)
case (address)
6'b000000: <output_data> <= <value>;
6'b000001: <output_data> <= <value>;
6'b000010: <output_data> <= <value>;
6'b000011: <output_data> <= <value>;
6'b000100: <output_data> <= <value>;
6'b000101: <output_data> <= <value>;
6'b000110: <output_data> <= <value>;
6'b000111: <output_data> <= <value>;
6'b001000: <output_data> <= <value>;
6'b001001: <output_data> <= <value>;
6'b001010: <output_data> <= <value>;
6'b001011: <output_data> <= <value>;
6'b001100: <output_data> <= <value>;
6'b001101: <output_data> <= <value>;
6'b001110: <output_data> <= <value>;
6'b001111: <output_data> <= <value>;
6'b010000: <output_data> <= <value>;
6'b010001: <output_data> <= <value>;
6'b010010: <output_data> <= <value>;
6'b010011: <output_data> <= <value>;
6'b010100: <output_data> <= <value>;
6'b010101: <output_data> <= <value>;
6'b010110: <output_data> <= <value>;
6'b010111: <output_data> <= <value>;
6'b011000: <output_data> <= <value>;
6'b011001: <output_data> <= <value>;
6'b011010: <output_data> <= <value>;
6'b011011: <output_data> <= <value>;
6'b011100: <output_data> <= <value>;
6'b011101: <output_data> <= <value>;
6'b011110: <output_data> <= <value>;
6'b011111: <output_data> <= <value>;
6'b100000: <output_data> <= <value>;
6'b100001: <output_data> <= <value>;
6'b100010: <output_data> <= <value>;
6'b100011: <output_data> <= <value>;
6'b100100: <output_data> <= <value>;
6'b100101: <output_data> <= <value>;
6'b100110: <output_data> <= <value>;
6'b100111: <output_data> <= <value>;
6'b101000: <output_data> <= <value>;
6'b101001: <output_data> <= <value>;
6'b101010: <output_data> <= <value>;
6'b101011: <output_data> <= <value>;
6'b101100: <output_data> <= <value>;
6'b101101: <output_data> <= <value>;
6'b101110: <output_data> <= <value>;
6'b101111: <output_data> <= <value>;
6'b110000: <output_data> <= <value>;
6'b110001: <output_data> <= <value>;
6'b110010: <output_data> <= <value>;
6'b110011: <output_data> <= <value>;
6'b110100: <output_data> <= <value>;
6'b110101: <output_data> <= <value>;
6'b110110: <output_data> <= <value>;
6'b110111: <output_data> <= <value>;
6'b111000: <output_data> <= <value>;
6'b111001: <output_data> <= <value>;
6'b111010: <output_data> <= <value>;
6'b111011: <output_data> <= <value>;
6'b111100: <output_data> <= <value>;
6'b111101: <output_data> <= <value>;
6'b111110: <output_data> <= <value>;
6'b111111: <output_data> <= <value>;
default: <output_data> <= <value>;
endcase



--------------------
Блог iDoka.ru
CV linkedin.com/in/iDoka
Sources github.com/iDoka


Never stop thinking...........................
Go to the top of the page
 
+Quote Post
iosifk
сообщение Mar 20 2007, 14:56
Сообщение #3


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(Allexiy @ Mar 20 2007, 14:16) *
Помогите разобраться начинающему!
Есть девайс - EPM7128S, из ПО есть Quartus и MAX PLUS. задача заключается в том, чтобы сделать преобразователь кодов, согласно определенной таблице. На вход подается 6-ти разрядные данные, а с выхода снимаются 3-х разрядные данные. На сколько я себе представляю, нужно спрограммировать что-то вроде ПЗУ, с .hex файлом ( посмотрел, что существует даже стандартная мегофункция LPM_ROM, но она не подходитк к семейству MAX7000S).
Подскажите пожалуйста как проще и лучше реализовать такую задачу. help.gif

В такой ПЗУ должно храниться 2^6 х 3 бит информации. Всего 192 бит. Дальше схема дешифрации адреса и выходной мультиплексор.
А в микросхеме о которой Вы говорите, всего 128 ячеек. и немного расширителей для логики. Так что скорее всего в лоб не влезет.
Удачи!

Сообщение отредактировал iosifk - Mar 20 2007, 14:58


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
sazh
сообщение Mar 20 2007, 15:21
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 435
Регистрация: 6-10-04
Из: Петербург
Пользователь №: 804



Да это в лоб в 7032 влезет. да еще останется. Синтезатор сминимизирует.
Если в графике работаете, проще AHDL использовать для описания комбинаторной логики. оператор case или table (В книге Антонова все расписано)

SUBDESIGN buff
(
KKOLIS[5..0] : INPUT;
OUT[2..0] : OUTPUT;
)
BEGIN
TABLE
KKOLIS[5..0] => OUT[2..0] ;
H"00" => B"000" ;
H"01" => B"101" ;
H"02" => B"110" ;
H"03" => B"111" ;
H"04" => B"111" ;
H"05" => B"110" ;
..................................................

H"3B" => B"110" ;
H"3C" => B"100" ;
H"3D" => B"101" ;
H"3E" => B"110" ;
H"3F" => B"110" ;
END TABLE;
END;
Go to the top of the page
 
+Quote Post
Allexiy
сообщение Mar 20 2007, 21:45
Сообщение #5


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

Группа: Свой
Сообщений: 94
Регистрация: 3-01-06
Пользователь №: 12 813



Цитата(sazh @ Mar 20 2007, 15:21) *
Да это в лоб в 7032 влезет. да еще останется. Синтезатор сминимизирует.
Если в графике работаете, проще AHDL использовать для описания комбинаторной логики. оператор case или table (В книге Антонова все расписано)

SUBDESIGN buff
(
KKOLIS[5..0] : INPUT;
OUT[2..0] : OUTPUT;
)
BEGIN
TABLE
KKOLIS[5..0] => OUT[2..0] ;
H"00" => B"000" ;
H"01" => B"101" ;
H"02" => B"110" ;
H"03" => B"111" ;
H"04" => B"111" ;
H"05" => B"110" ;
..................................................

H"3B" => B"110" ;
H"3C" => B"100" ;
H"3D" => B"101" ;
H"3E" => B"110" ;
H"3F" => B"110" ;
END TABLE;
END;


ОГРОМНОЕ СПАСИБО!!!
ВСЕ ПОЛУЧИЛОСЬ!!! a14.gif
Напишите пожалуйста только название книги, автор которой Антонов.
Go to the top of the page
 
+Quote Post
sazh
сообщение Mar 20 2007, 23:41
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 435
Регистрация: 6-10-04
Из: Петербург
Пользователь №: 804



Здесь есть поиск. Например
http://www.natahaus.ru/2006/04/20/jazyk_op..._p_antonov.html
Go to the top of the page
 
+Quote Post

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

 


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


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