我试图将一个Verilog程序翻译成VHDL,并遇到了一个在Verilog程序中使用问号(
以下是Verilog代码:
?
)运算符的语句。以下是Verilog代码:
1 module music(clk, speaker);
2 input clk;
3 output speaker;
4 parameter clkdivider = 25000000/440/2;
5 reg [23:0] tone;
6 always @(posedge clk) tone <= tone+1;
7 reg [14:0] counter;
8 always @(posedge clk) if(counter==0) counter <= (tone[23] ? clkdivider-1 : clkdivider/2-1); else counter <= counter-1;
9 reg speaker;
10 always @(posedge clk) if(counter==0) speaker <= ~speaker;
11 endmodule
我不理解第8行的含义,有人能解释一下吗?我在asic-world网站上阅读到问号是Verilog中Z
字符的替代符号。但我不明白为什么在这个上下文中要使用它。
谢谢
tone[23]
是 X 或 Z 呢? - PieterNuyts