本片记录Verilog学习笔记,主要是和以往用的C语言的不同之处,以例子、代码的形式记录。学习以《Verilog数字系统设计》(第二版)为参考资料,援助作者夏宇闻。
1. C语言和Verilog描述的硬件的执行原理
C程序:顺序执行,一行一行依次执行。在单片机上是一条指令,一条指令的一条指令的执行。
Verilog:并行执行,很多个部分可以一起执行,就像水往低处流,分叉一样。
2. 一个二选一多路选择器的代码:
module muxtwo (out, a, b, sl); input a, b, sl; output out; reg out; always @(sl or a or b) if (!sl) out = a; else our = b; endmodule
从代码的主要逻辑中可以看出,这个模块功能:如果 sl 为真(高电平),则输出 out 为 b。如果 sl 为假(低电平),则输出 out 为a。根据 sl 信号的高、低电平来确定返回值。