HDLBits (2) — 输出零
2021-09-04 09:40 作者:僚机Wingplane | 我要投稿
本题链接:
https://hdlbits.01xz.net/wiki/Zero
建立一个没有输入和一个输出的电路,输出一个常数0
现在您已经解决了上一个问题,让我们看看您是否可以在没有提示的情况下完成一个简单的问题。
HDLBits 使用 Verilog-2001 ANSI 风格的端口声明语法,因为它更容易阅读并减少拼写错误。如果您愿意,您可以使用较旧的 Verilog-1995 语法。例如,下面的两个模块声明是可以接受的和等效的:
Verilog-1995 语法:
module top_module ( zero );
output zero;
// Verilog-1995
endmodule
Verilog-2001 ANSI 风格语法:
module top_module ( output zero );
// Verilog-2001
endmodule
预期的解决方案长度:大约 1 行。
提示
有趣的事是:对于 Quartus 综合 (synthesis) ,不给信号赋值通常会导致输出为0。这个问题实际上比上一个问题更容易。

题目
module top_module(
output zero
);// Module body starts after semicolon
endmodule

答案
module top_module(
zero
);// Module body starts after semicolon
output zero = 0;
endmodule
or
module top_module(
output zero
);// Module body starts after semicolon
assign zero = 0;
endmodule

输出波形


数字声明时,合法的基数格式有 4 中,包括:十进制('d 或 'D),十六进制('h 或 'H),二进制('b 或 'B),八进制('o 或 'O)。数值可指明位宽,也可不指明位宽。一般直接写数字时,默认为十进制表示。
参考内容:
2.2 Verilog 数值表示 | 菜鸟教程:https://www.runoob.com/w3cnote/verilog-number.html