R
rsrinivas
Guest
Zdravím všechny
jsem vybudoval rejstřík soubor, který má inicializovat na nulu na reset.
tedy pole 16 registrů, které jsou široké 64 bitů každý.
howdo i inicializovat je na reset.
Modul regfil1 (CLK, RST, addrread, addrwrite, DIN, writep, readp, dout);
vstup CLK;
vstup RST;
vstup [63:0] DIN;
vstup readp;
vstup writep;
vstup [04:00] addrread;
vstup [04:00] addrwrite;
výkon [63:0] dout;
parametr MAX_COUNT = 5'b01111; / / nejvyšší adrese v registru souboru.
reg podepsán [63:0] dout;
Vždy @ (posedge ČLK) / / test zde funguje pouze na posedge CLK
začíná: rst_blk
integer i;
if (RST)
pro (i = 0; i <= MAX_COUNT, i = i 1)
začít
regbank <= 64'h0000000000000000;
konec
else if (writep == 1'b1) začíná
regbank [addrwrite] <= din;
konec
konec
Vždy @ (posedge CLK)
začít
if (readp == 1'b1 & &! RST) začíná
dout <= regbank [addrread];
konec
konec
endmodulePracuje pouze na posedge CLK, není pro vedení prací na každém posedge CLK nebo je současně, tj. v posedge CLK celý pro smyčky se provádí
jakýchkoli změn nebo návrhy pls
jsem vybudoval rejstřík soubor, který má inicializovat na nulu na reset.
tedy pole 16 registrů, které jsou široké 64 bitů každý.
howdo i inicializovat je na reset.
Modul regfil1 (CLK, RST, addrread, addrwrite, DIN, writep, readp, dout);
vstup CLK;
vstup RST;
vstup [63:0] DIN;
vstup readp;
vstup writep;
vstup [04:00] addrread;
vstup [04:00] addrwrite;
výkon [63:0] dout;
parametr MAX_COUNT = 5'b01111; / / nejvyšší adrese v registru souboru.
reg podepsán [63:0] dout;
Vždy @ (posedge ČLK) / / test zde funguje pouze na posedge CLK
začíná: rst_blk
integer i;
if (RST)
pro (i = 0; i <= MAX_COUNT, i = i 1)
začít
regbank <= 64'h0000000000000000;
konec
else if (writep == 1'b1) začíná
regbank [addrwrite] <= din;
konec
konec
Vždy @ (posedge CLK)
začít
if (readp == 1'b1 & &! RST) začíná
dout <= regbank [addrread];
konec
konec
endmodulePracuje pouze na posedge CLK, není pro vedení prací na každém posedge CLK nebo je současně, tj. v posedge CLK celý pro smyčky se provádí
jakýchkoli změn nebo návrhy pls