作为一个verilog语言刚入门的新手,verilog语法还没有完全掌握,简单记录一下HDLBits的刷题过程
题目如下:
给定一个输入位100位的矢量,输出按照循序进行翻转,即倒序输出。
第一次做法,很野蛮,直接上图。
虽然能够正确得出结果但是感觉傻乎乎的。得到正确答案后学到了两个新的语法。
原来verilog语言中居然也能用for 循环,震惊了。现在简单总结一下新学到的语发的含义吧!
always@(*)begin //这段话的意思:只要always块下面的输入信号电平会发生变化,其下面的语句就会被执行
end
$bits(out) //计算out的数据的宽度,这里out是从0到99,所以数据宽度是100!
剩下的就是简单的倒序赋值的逻辑了!!简单记录一下新学到的语法,完美结束!!!