Verilog problem Array dimensjonering

M

mc_navman

Guest
Hei, jeg vil sette arraysize basert på max verdi til å være representert. Er dette mulig i Verilog? dvs. parameter CLK_DIV = 27210; reg [14 .. 0] CLK_DIV_REG; / /
 
parameter CLK_DIV = 27210; reg [CLK_DIV-1: O] CLK_DIV_REG, eller parameter CLK_DIV = 27210; reg [31:0] CLK_DIV_REG [CLK_DIV-1: 0];
 
Thanks. Men jeg jobbet ut hvordan du gjør det til slutt. Ditt eksempel vil gi 27 209 bits for å representere et tall som er ett stort antall. Her er den måten som passer. parameter CLK_DIVISION_FACTOR = 131; localparam DIV_BITS = clog2 (ADC_CLK_DIVISION_FACTOR) / / definerer clogb2 funksjon / / denne funksjonen returnerer celing av log2 av en input verdi / / ie log2 (200) returnerer 8 (8 bits for å representere) fungere heltall clog2; inngang [31:0] verdi; begynne verdi = verdi - 1; for (clog2 = 0; verdi> 0; clog2 = clog2 + 1) verdi = verdi>> 1; slutten endfunction funksjonen må være i modulen. Jeg bruker en `inkludere å inkludere det i modulen.
 
det er umulig å realisere intensjonen av en slik skriftlig. tidlig Assembler språk kan støtte en slik skriftlig. hilsen
CLK_DIV_REG; / /
 
Jeg tror ikke det er en god idé. hvis u trenger gjøre dette. Jeg tror du bør bruke innebygde RAM i FPGA.
 

Welcome to EDABoard.com

Sponsor

Back
Top