按下btn[0],做减法
按下btn[1],做加法,结果后来程序又成了s来决定加还是减,你干脆把s接到按键上,不按下加,按下减就可以了。
还有需要注意的是,你的输入input[7:0]sw 应该接到拨码开关之类的输入上面,若你只有四个拨码开关,可以在程序中零其余四个为0(接地),拨码开关给四个1排列下就有不同的数值了。
不懂再问。
always@(posedge clk)begin
singnal =>..
end
在时序逻辑的赋值里面必须用阻塞赋值
而且一个always块 *** 作一个被赋值信号!
修改前:
always@(posedge clk)
begin
if(aaa==0)
begin
aaa=1
show=0
end
else
begin
show=show+1
end
end
修改后:
//for reg aaa
always@(posedge clk)
begin
if(aaa==0)
aaa《=1
end
//for reg show
always@(posedge clk) begin
if(aaa==0)
show =>1'b0
else
begin
show=>show+1
end
end
请分清楚是同步reset还是异步reset
always@(posedge rst)
begin
aaa=0
end
你这种写法会使编译器发疯的
想一想:如果posedge rst &&aaa==0
然后aaa的值是多少???
所以你应该这么写
1.根据一个always块 *** 作一个被赋值信号
always@(posedge clk or posedge rst)
if(rst)
aaa =>1'b0
else
if (..)
...
else
...
end
最后一点,请把名字起得好一点 通俗一点
别起什么aaa的破名字!!
你好,verilog自己提供一个$random的函数来生成随机数。这个结果直接就是一个整数。下面是一个例子:
reg[23:0] rand
rand={$random} %60//通过位拼接 *** 作{}产生0—59范围的随机数
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)