[an error occurred while processing this directive]
[an error occurred while processing this directive]
|
интересно проверить переносимость "стиля кодирования" для различных средств синтеза...
результаты Ambita меня порадовали - если интересно напишу
-------------------
и еще две модели ...
типа неоптимально
module cntr1(clk, incAdr, decAdr, up, down, out, outAdr); reg [width-1:0] cntr[0:num-1]; assign out=cntr[outAdr]; wire inhibit= up&down&(incAdr==decAdr); wire inc=up&~inhibit; always @(posedge clk) endmodule и оптимально module cntr2(clk, incAdr, decAdr, up, down, out, outAdr); reg [width-1:0] cntr[0:num-1]; integer i; wire [num-1:0] inc=up< assign out=cntr[outAdr]; always @(posedge clk)
E-mail:
info@telesys.ru
parameter lgw=4, lgn=3, num=1<
input clk,up,down;
output [width-1:0] out;
wire dec=down&~inhibit;
begin
if (inc)
cntr[incAdr] <= cntr[incAdr]+1;
if (dec)
cntr[decAdr] <= cntr[decAdr]-1;
end
-------------------
parameter lgw=4, lgn=3, num=1<
input clk,up,down;
output [width-1:0] out;
wire [width-1:0] sub=cntr[decAdr]-1;
begin
for(i=0;i
end
endmodule
Ответы