Nuclear_Carlson
Newbie level 4
- Joined
- Nov 18, 2010
- Messages
- 6
- Helped
- 0
- Reputation
- 0
- Reaction score
- 0
- Trophy points
- 1,281
- Activity points
- 1,309
I have some Verilog module with multidimensional outputs (to 7-segment LED panels of my DE1-SoC). I want to make the outputs registered. To test it, I give some dummy code to one of LED digits. Its RTL simulation passes OK, it's even compiled by Quartus, but actually it does not work.
Alas, my Quartus synthesizer gives sais me the following warning:
and says that that all the HEX pins are stuck on GND:
Ignore initial constructs is off. When I replace initial to always@(posedge CLK50), just for test, it works fine, but I want initial values in my registers.
How can I solve the problem?
- - - Updated - - -
UPD: It also sais that
- - - Updated - - -
UPD: It looks like *initial* statement can be synthesised, but multiple *initial* statement cannot.
Don't you know a way to use *generate-for* construction inside *initial* statement?
Code:
module Top
(
input CLK50,
output reg[6:0] HEX[5:0]
);
genvar i;
generate
for(i = 0; i < 6; i++)
begin: test
initial
//always@(posedge CLK50)
begin
HEX[i][6:0] = 7'b101_0101;
end
end
endgenerate
endmodule
Alas, my Quartus synthesizer gives sais me the following warning:
Code:
Warning (10855): Verilog HDL warning at Top.v(20): initial value for variable HEX should be constant
Code:
Warning (13410): Pin "HEX[0][0]" is stuck at GND
Warning (13410): Pin "HEX[0][1]" is stuck at GND
Warning (13410): Pin "HEX[0][2]" is stuck at GND
Warning (13410): Pin "HEX[0][3]" is stuck at GND
Warning (13410): Pin "HEX[0][4]" is stuck at GND
Warning (13410): Pin "HEX[0][5]" is stuck at GND
Warning (13410): Pin "HEX[0][6]" is stuck at GND
Warning (13410): Pin "HEX[1][0]" is stuck at GND
Warning (13410): Pin "HEX[1][1]" is stuck at GND
Warning (13410): Pin "HEX[1][2]" is stuck at GND
Warning (13410): Pin "HEX[1][3]" is stuck at GND
Warning (13410): Pin "HEX[1][4]" is stuck at GND
Warning (13410): Pin "HEX[1][5]" is stuck at GND
Warning (13410): Pin "HEX[1][6]" is stuck at GND
Warning (13410): Pin "HEX[2][0]" is stuck at GND
Warning (13410): Pin "HEX[2][1]" is stuck at GND
Warning (13410): Pin "HEX[2][2]" is stuck at GND
Warning (13410): Pin "HEX[2][3]" is stuck at GND
Warning (13410): Pin "HEX[2][4]" is stuck at GND
Warning (13410): Pin "HEX[2][5]" is stuck at GND
Warning (13410): Pin "HEX[2][6]" is stuck at GND
Warning (13410): Pin "HEX[3][0]" is stuck at GND
Warning (13410): Pin "HEX[3][1]" is stuck at GND
Warning (13410): Pin "HEX[3][2]" is stuck at GND
Warning (13410): Pin "HEX[3][3]" is stuck at GND
Warning (13410): Pin "HEX[3][4]" is stuck at GND
Warning (13410): Pin "HEX[3][5]" is stuck at GND
Warning (13410): Pin "HEX[3][6]" is stuck at GND
Warning (13410): Pin "HEX[4][0]" is stuck at GND
Warning (13410): Pin "HEX[4][1]" is stuck at GND
Warning (13410): Pin "HEX[4][2]" is stuck at GND
Warning (13410): Pin "HEX[4][3]" is stuck at GND
Warning (13410): Pin "HEX[4][4]" is stuck at GND
Warning (13410): Pin "HEX[4][5]" is stuck at GND
Warning (13410): Pin "HEX[4][6]" is stuck at GND
Warning (13410): Pin "HEX[5][0]" is stuck at GND
Warning (13410): Pin "HEX[5][1]" is stuck at GND
Warning (13410): Pin "HEX[5][2]" is stuck at GND
Warning (13410): Pin "HEX[5][3]" is stuck at GND
Warning (13410): Pin "HEX[5][4]" is stuck at GND
Warning (13410): Pin "HEX[5][5]" is stuck at GND
Warning (13410): Pin "HEX[5][6]" is stuck at GND
Ignore initial constructs is off. When I replace initial to always@(posedge CLK50), just for test, it works fine, but I want initial values in my registers.
How can I solve the problem?
- - - Updated - - -
UPD: It also sais that
Code:
Warning (10855): Verilog HDL warning at Top.v(14): initial value for variable HEX should be constant
- - - Updated - - -
UPD: It looks like *initial* statement can be synthesised, but multiple *initial* statement cannot.
Don't you know a way to use *generate-for* construction inside *initial* statement?