
Verilog
流心芝士挞
这个作者很懒,什么都没留下…
展开
-
【Verilog】取变量部分位的方法
ii是变量,取部分位时,冒号前后不能都出现变量,否则会报错 range must be bounded by constant expresssions上述代码应改成即,不能写成 [n+7:n],应写成 [n +: 8],表示从第n位开始,往上取8位。如果是在generate-for中取位,可以使用由genvar声明的循环变量进行取位,冒号前后都有循环变量也可以。...原创 2021-09-18 10:44:09 · 8761 阅读 · 0 评论 -
【Verilog】parameter
parameter用来定义常量,不允许在运行时修改它的值,即不能在组合逻辑或者时序逻辑中对其进行赋值。parameter声明parameter可以写在模块头部,也可以写在模块内部:module fifo#(parameter MSB = 3, LSB = 0, DEPTH = 4)(port_list);item;endmodulemodule fifo(port_list);parameter MSB = 3, LSB = 0, DEPTH = 4;但是如果端口列表中用到了par原创 2021-09-18 10:42:56 · 2412 阅读 · 0 评论 -
【Verilog】输入输出数据类型
对于任何模块(被测模块、测试模块),输入的数据都必须是wire,输出的数据可以是wire也可以是reg。具体来说,被测模块中,输入一定是wire,输出可以是wire/reg;测试文件中,输入给被测模块(测试文件的输出)可以是wire/reg,被测模块的输出(测试文件的输入)一定是wire。Verilog程序模块中输入、输出信号类型默认为wire(可以不用手动声明)。...原创 2021-09-18 10:36:05 · 6155 阅读 · 0 评论