从今天开始打算记录一些自己工作过程中的总结。
1,task可以没有输入,function至少输入;
2,task里不能出现always,assign 等
3,时钟产生:写task时会用到不能用always块;
for (i=0;i<100;i++)
begin
#200;
dmmclk=0;
#200;
dmmclk=1;
end
4, data[10-:8] 从“:”左边开始索引一共有“:”右边这么多的位数,+是递增,-是递减;
5, if else语句 每一个if后必须加begin养成好习惯 不然只能执行一句;当然如果if后只有一句也可以不写begin end 使代码简洁;
6,8,16,32位数据位宽和五种端口port的测试用例;
task test_data;
reg [5:0] port_n;
reg [6:0] data_w;
for(port_n=0;port_n<=16;port_n++)begin
for(data_w=0;data_w<=32;data_w++)begin
if(data_w8) begin
ahb_wr_op(16’h00,32’h0006_0010);
case(port_n)
1:ahb_wr_op(16’h02,32’h0001_0001);
2:ahb_wr_op(16’h02,32’h0002_0002);
4:ah
我的verilog学习笔记
最新推荐文章于 2023-01-14 12:28:08 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)