[an error occurred while processing this directive]
|
1) Например так :
module PRO (Clk, Rst, DIn, Mod, DOut);
input Clk, Rst; wire Clk, Rst; // 1 kHz, reset
input DIn; wire DIn;
input [7:0] Mod; wire [7:0] Mod;
output DOut; reg DOut;reg [7:0] Tmr;
//8-ìè ðàçðÿäíûé ñ÷åò÷èê ïî çàãðóæàåìîìó ìîäóëþ
always @(posedge Clk)
begin
if(Rst) Tmr <= 0;
else
begin
if(Tmr > Mod) begin DOut <= DIn; Tmr <= 0; end
else Tmr <= (DOut == DIn) ? 0 : Tmr + 1;
end
end //always
endmodule //PRO
Так хоть меньше писать :-)
2)mod/mode - без разницы, наверное. Заменилось по ходу разбирательств.
3) Стандарты верилога требуют двойного объявления.
Что в 2001 - "input wire A;", что старый - "inpun A; wire A;"
У различных компиляторов могут по разному использоваться значения по умолчанию, но ориентироваться на это не стоит, что Вы и прочувствовали :-)
4) С такой задачей вполне справляется самый дохлый процессор, если нет других функций, то использование FPGA не совсем рационально.
E-mail: info@telesys.ru