[an error occurred while processing this directive]
Ответ: в данном контексте generate генерирует instans'ы компонент. А банальный сдвиговый регистр описывается циклом for(;;).
(«Телесистемы»: Конференция «Программируемые логические схемы и их применение»)

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

Отправлено ab 23 апреля 2004 г. 10:24
В ответ на: Подскажите по VeriLog (+) отправлено Builder 22 апреля 2004 г. 17:29

`timescale 1ps / 1ps

module D_D_F3 (clk, inp, out);
parameter DEEP = 8 ;

input clk;
input inp;
output out;
wire clk, inp, out;

wire[DEEP-1:0] tmp;

assign tmp[0]=inp;

genvar i;
generate for (i=1;i<DEEP;i=i+1)
begin:foo
mydff delay(clk, tmp[i-1], tmp[i]);
end
endgenerate

assign out=tmp[DEEP-1];

endmodule

module mydff(clk, d, q);
input clk, d;
output q;

reg q;

always @(posedge clk) q<=d;

endmodule

/*
generate
genvar i;
for (i=0; i<=7; i=i-1)
begin :inst
adder8 add(sum [8*i-7 : 8*i], c0[i-1], a[8*i-7 : 8*i], b[8*i-7 : 8*i], c0[i]);
end
endgenerate
*/

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

Ответы


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

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

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

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

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


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

E-mail: info@telesys.ru