verilog里面** 表示这是多少次幂。
verilog里面的算术:
1.加(+):2个操作数相加
2.减(-):2个操作数相减或取1个操作数的负数(二进制补码表示)
3.乘(*):2个操作数相乘
4.除(/):2个操作数相除
5.求幂(**)}}:2个操作数求幂,前一个操作数为底数,后一个操作数为指数
在Verilog中,可以声明两种不同的过程:always过程和initial过程。过程可以是包含时序的过程描述,而不包含时序的过程还可以表达组合逻辑。always过程从关键字always开始,可以连续多次运行,当过程的最后一行代码执行完成后,再次从第一行代码开始执行。如果没有使用系统任务$finish,always过程将不断循环执行。initial过程从关键字initial开始,它只能执行一次。
扩展资料:
Verilog能够在多种抽象级别对数字逻辑系统进行描述:既可以在晶体管级、逻辑门级进行描述,也可以在寄存器传输级对电路信号在寄存器之间的传输情况进行描述。
除了对电路的逻辑功能进行描述,Verilog代码还能够被用于逻辑仿真、逻辑综合,其中后者可以把寄存器传输级的Verilog代码转换为逻辑门级的网表,从而方便在现场可编程逻辑门阵列上实现硬件电路,或者让硬件厂商制造具体的专用集成电路。设计人员还可以利用Verilog的扩展部分Verilog-AMS进行模拟电路和混合信号集成电路的设计。
Verilog代码中用来定义语言结构名称的字符称为标识符,包括变量名、端口名、模块名等等。标识符可以由字母、数字、下划线以及美元符($)来表示。但是标识符的第一个字符只能是字母、数字或者下划线,不能为美元符,这是因为以美元符开始的标识符和系统任务的保留字冲突。
参考资料来源:百度百科——Verilog HDL
** 表示多少次幂。
module tester;
reg [1:0] SELECT;
reg IN0, IN1, IN2, IN3;
wire OUT;
mux my_mux (OUT, SELECT, IN0, IN1, IN2, IN3); //实例调用mux模块,这个实例被命名为my_mux
initial //需要仿真的激励代码
begin
*******
end
endmodule
在这个测试平台模块里,设计人员可以设定仿真时的输入信号以及信号监视程序,然后观察仿真时的输出情况是否符合要求,这样就可以了解设计是否达到了预期。
扩展资料:
在Verilog里,当一个变量的类型确定,即已经知道它是寄存器类型或者是线网类型,当把具体的数值赋值给它时,需要利用下面所述的数字表示方法。数字表示的基本语法结构为<位宽>'<数制的符号><数值>。
其中,位宽是与数据大小相等的对应二进制数的位数加上占位所用0的位数,这个位数需要使用十进制来表示。位宽是可选项,如果没有指明位宽,则默认的数据位宽与仿真器有关(最小32位);
数制需要用字母来表示,h对应十六进制,d对应十进制,o对应八进制,b对应二进制。如果没有指明数制,则默认数据为十进制数。例如:
12'h123:十六进制数123(使用12位)。
20'd44:十进制数44(使用20位,高位自动使用0填充)。
4'b1010:二进制数1010(使用4位)。
6'o77:八进制数77(使用6位)。
参考资料: 脑袋!