Verilog chyba kontrolu

A

anandanips

Guest
můj kód je třeba zkontrolovat jeden bit v jednom clock.next trochu v jiné hodiny.
ale kontrola ann kousky v jednom pos okraji CLK.
prosím říci správnou cestouModul HighSpeedRouting (CLK, res);
vstup CLK;
výkon [15:0] res;
reg [15:0] res = 16'b0;
reg [31:0] addr = 32'b00000000000000000000000000011111;
reg [47:0] node1 = 48'b000000000000000000000000000000000000000000000010; / / 2
reg [47:0] node2 = 48'b000000000000000000000000000000010000000000000100; / / 4
reg [47:0] node3 = 48'b000000000000000000000000000000100000000000000110; / / 6
reg [47:0] node4 = 48'b000000000000000000000000000000110000000000001000; / 8
reg [47:0] node5 = 48'b000000000000000000000000000001000000000000001010; / / 10
reg [47:0] node6 = 48'b000000000000000000000000000001010000000000001100; / / 12
reg [47:0] node7 = 48'b000000000000000000000000000001100000000000001110; / / 14
reg [47:0] node8 = 48'b000000000000000000000000000001110000000000010000; / / 16
reg [47:0] node9 = 48'b000000000000000000000000000010000000000000010010; / / 18
reg [47:0] node10 = 48'b000000000000000000000000000010010000000000010100; / / 20
reg [47:0] node11 = 48'b000000000000000000000000000010100000000000010110; / / 22
reg [47:0] node12 = 48'b000000000000000000000000000010110000000000011000; / / 24
reg [47:0] node13 = 48'b000000000000000000000000000011000000000000011010; / / 26
reg [47:0] node14 = 48'b000000000000000000000000000011010000000000011100; / / 28
reg [47:0] node15 = 48'b000000000000000000000000000011100000000000011110; / / 30
reg [47:0] node16 = 48'b000000000000000000000000000011110000000000100000; / / 32
reg [47:0] node17 = 48'b000000000000000000000000000100000000000000100010; / / 34
reg [47:0] node18 = 48'b000000000000000000000000000100010000000000100100; / / 36
reg [47:0] node19 = 48'b000000000000000000000000000100100000000000100110; / / 38
reg [47:0] node20 = 48'b000000000000000000000000000100110000000000101000; / / 40
reg [47:0] node21 = 48'b000000000000000000000000000101000000000000101010; / / 42
reg [47:0] node22 = 48'b000000000000000000000000000101010000000000101100; / / 44
reg [47:0] node23 = 48'b000000000000000000000000000101100000000000101110; / / 46
reg [47:0] node24 = 48'b000000000000000000000000000101110000000000110000; / / 48
reg [47:0] node25 = 48'b000000000000000000000000000110000000000000110010; / / 50
reg [47:0] node26 = 48'b000000000000000000000000000110010000000000110100; / / 52
reg [47:0] node27 = 48'b000000000000000000000000000110100000000000110110; / / 54
reg [47:0] node28 = 48'b000000000000000000000000000110110000000000111000; / / 56
reg [47:0] node29 = 48'b000000000000000000000000000111000000000000111010; / / 58
reg [47:0] node30 = 48'b000000000000000000000000000111010000000000111100; / / 60
reg [47:0] node31 = 48'b000000000000000000000000000111100000000000111110; / / 62
reg [47:0] node32 = 48'b000000000000000000000000000111110000000001000000; / / 64Vždy @ (posedge CLK)
začít
if (addr [31] == 1'b0)
začít
if (addr [30] == 1'b0)
začít
if (addr [29] == 1'b0)
začít
if (addr [28] == 1'b0)
začít
if (addr [27] == 1'b0)
začít
if (addr [26] == 1'b0)
začít
if (addr [25] == 1'b0)
začít
if (addr [24] == 1'b0)
začít
if (addr [23] == 1'b0)
začít
if (addr [22] == 1'b0)
začít
if (addr [21] == 1'b0)
začít
if (addr [20] == 1'b0)
začít
if (addr [19] == 1'b0)
začít
if (addr [18] == 1'b0)
začít
if (addr [17] == 1'b0)
začít
if (addr [16] == 1'b0)
začít
if (addr [15] == 1'b0)
začít
if (addr [14] == 1'b0)
začít
if (addr [13] == 1'b0)
začít
if (addr [12] == 1'b0)
začít
if (addr [11] == 1'b0)
začít
if (addr [10] == 1'b0)
začít
if (addr [9] == 1'b0)
začít
if (addr [8] == 1'b0)
začít
if (addr [7] == 1'b0)
začít
if (addr [6] == 1'b0)
začít
if (addr [5] == 1'b0)
začít
if (addr [4] == 1'b0)
začít
if (addr [3] == 1'b0)
začít
if (addr [2] == 1'b0)
začít
if (addr [1] == 1'b0)
začít
if (addr [0] == 1'b0)
začít
res [15:0] <= node1 [15:0];
konec
jiný
začít
res [15:0] <= node2 [15:0];
konec
konec ///////////////////////////////////////////////// / /
jiný
začít
if (addr [0] == 1'b0)
začít
res [15:0] <= node3 [15:0];
konec
jiný
začít
res [15:0] <= node4 [15:0];
konec
konec
konec /////////////////////////////////////////////////
jiný
začít
if (addr [1] == 1'b0)
začít
if (addr [0] == 1'b0)
začít
res [15:0] <= node5 [15:0];
konec
jiný
začít
res [15:0] <= node6 [15:0];
konec
konec
jiný
začít
if (addr [0] == 1'b0)
začít
res [15:0] <= node7 [15:0];
konec
jiný
začít
res [15:0] <= node8 [15:0];
konec
konec
konec
konec ///////////////////////////////////////////////// //////

jiný
začít
if (addr [2] == 1'b0)
začít
if (addr [1] == 1'b0)
začít
if (addr [0] == 1'b0)
začít
res [15:0] <= node9 [15:0];
konec
jiný
začít
res [15:0] <= node10 [15:0];
konec
konec ///////////////////////////////////////////////// / /
jiný
začít
if (addr [0] == 1'b0)
začít
res [15:0] <= node11 [15:0];
konec
jiný
začít
res [15:0] <= node12 [15:0];
konec
konec
konec /////////////////////////////////////////////////
jiný
začít
if (addr [1] == 1'b0)
začít
if (addr [0] == 1'b0)
začít
res [15:0] <= node13 [15:0];
konec
jiný
začít
res [15:0] <= node14 [15:0];
konec
konec
jiný
začít
if (addr [0] == 1'b0)
začít
res [15:0] <= node15 [15:0];
konec
jiný
začít
res [15:0] <= node16 [15:0];
konec
konec
konec
konec
konec ///////////////////////////////////////////////// //////
jiný
začít
if (addr [3] == 1'b0)
začít
if (addr [2] == 1'b0)
začít
if (addr [1] == 1'b0)
začít
if (addr [0] == 1'b0)
začít
res [15:0] <= node17 [15:0];
konec
jiný
začít
res [15:0] <= node18 [15:0];
konec
konec ///////////////////////////////////////////////// / /
jiný
začít
if (addr [0] == 1'b0)
začít
res [15:0] <= node19 [15:0];
konec
jiný
začít
res [15:0] <= node20 [15:0];
konec
konec
konec /////////////////////////////////////////////////
jiný
začít
if (addr [1] == 1'b0)
začít
if (addr [0] == 1'b0)
začít
res [15:0] <= node21 [15:0];
konec
jiný
začít
res [15:0] <= node22 [15:0];
konec
konec
jiný
začít
if (addr [0] == 1'b0)
začít
res [15:0] <= node23 [15:0];
konec
jiný
začít
res [15:0] <= node24 [15:0];
konec
konec
konec
konec ///////////////////////////////////////////////// //////

jiný
začít
if (addr [2] == 1'b0)
začít
if (addr [1] == 1'b0)
začít
if (addr [0] == 1'b0)
začít
res [15:0] <= node25 [15:0];
konec
jiný
začít
res [15:0] <= node26 [15:0];
konec
konec ///////////////////////////////////////////////// / /
jiný
začít
if (addr [0] == 1'b0)
začít
res [15:0] <= node27 [15:0];
konec
jiný
začít
res [15:0] <= node28 [15:0];
konec
konec
konec /////////////////////////////////////////////////
jiný
začít
if (addr [1] == 1'b0)
začít
if (addr [0] == 1'b0)
začít
res [15:0] <= node29 [15:0];
konec
jiný
začít
res [15:0] <= node30 [15:0];
konec
konec
jiný
začít
if (addr [0] == 1'b0)
začít
res [15:0] <= node31 [15:0];
konec
jiný
začít
res [15:0] <= node32 [15:0];
konec
konec
konec
konec
konec
konec ///////////////////////////////////////////////// //////

konec
konec
konec
konec
konec
konec
konec
konec
konec
konec
konec
konec
konec
konec
konec
konec
konec
konec
konec
konec
konec
konec
konec
konec
konec
konec
konec
endmodule

 
Váš kód je napsán tak, aby prověřila všechny hte bity na hodiny okraj.
Mohli byste napsat kód něco níže ....

i = 31;
Vždy @ (posedge CLK)
začít
if (i> = 0 & & i <= 31 & & addr == 0)
i = i - 1;
jiný
j = i;
konec

'J' má adresu hodnota, která drží non-nula data.

Rgds,
Kiran Petr Prášek

 

Welcome to EDABoard.com

Sponsor

Back
Top