[an error occurred while processing this directive]
перевод на verilog (спасибо котяре за исходник :-)))
(«Телесистемы»: Конференция «Языки описания аппаратуры (VHDL и др.))

миниатюрный аудио-видеорекордер mAVR

Отправлено Postoroniy_V 08 августа 2004 г. 01:59
В ответ на: Ответ: Котяра, a ты его на верилог не пробовал перевести ? отправлено IEEE 03 августа 2004 г. 18:13

module rand(
rst,
clk,
do
);

input rst,clk;
output[31:0] do;

parameter mask = 32'h82608edb;// полином

reg[31:0] sh_reg;// -- сдвиговый регистр
reg p;//триггер-защелка

wire[31:0] back ; // обратная связь
wire[31:0] smsk;// выход мултиплексора
wire[31:0] shft; // сдвинутый регистр

assign smsk = (p==1)? mask:0; // мультиплексор
assign shft[31:0]={sh_reg[30:0], 1'b0}; // сдвиг регистра

assign back= smsk^shft; // полный сигнал обратной связи
//
//
//--Тут синтезируется тригер-защелка и синтезатор может выдавать
//--предупреждения, которые надо херить, ибо так оно и задумано.
always @(rst or clk) //управление битом p
begin
if (rst==1) p=1; // 1 при сбросе (в принципе можно похерить)
else
if (clk==0) p=sh_reg[31]; // при клоке = 0 пишем туда reg(31)
end

always@(posedge clk or rst) // управление сдвиговым регистром.
begin
//--При сбросе пишем 0xffffffff или любое другое значение, не равное 0
if (rst==1) sh_reg=32'hffffffff;
else
//-- по фронту клока пишем в регистр сигнал обратной связи.
if (clk==1) sh_reg=back;
end

assign do=sh_reg;// подаем значение регистра на выход

endmodule



Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru