问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

这段程序为什么不能循环啊!!急!!Verilog

发布网友 发布时间:2024-10-03 15:16

我来回答

2个回答

热心网友 时间:2024-10-03 15:20

1、状态的赋值使用‘非阻塞赋值’ ‘<=’ !试试
2、写的有点乱!
module state_t(clk_1Hz,enable,up_down,load,s_n,counter_2,s1);
input clk_1Hz;
input enable,up_down,load;
input [1:0]s_n;
output reg[1:0] counter_2,s1;

always@(posedge clk_1Hz )
begin
if(enable==1)
begin
if(load==1)
begin
if(up_down==1)
begin
counter_2<=s_n;
case(counter_2)
2'b01: counter_2<=2'b10;
2'b10: counter_2<=2'b11;
2'b11: counter_2<=2'b01;
endcase
end
else //if(up_down==0)
begin
counter_2<=s_n;
case(counter_2)
2'b11: counter_2<=2'b10;
2'b10: counter_2<=2'b01;
2'b01: counter_2<=2'b11;
endcase
end
end

else
s1<=2'b01;
case(s1)
2'b01: s1<=2'b10;
2'b10: s1<=2'b11;
2'b11: s1<=2'b01;
endcase
end
else
counter_2<=2'b00;
end
endmodule

热心网友 时间:2024-10-03 15:22

程序有问题,
首先output reg[1:0] counter_2,s1;
应写成:
output [1:0] counter_2,s1;
reg[1:0] counter_2,s1;
其次 case 语句中需要加
default: counter_2=2'bx;
否则会产生不必要的锁存器.
另外在load=0时,时钟上升沿会执行下面的语句,
s1=2'b01;
case(s1)
2'b01: s1=2'b10;
2'b10: s1=2'b11;
2'b11: s1=2'b01;
endcase
每次执行后,s1的值都是2,这个产生不了循环的.

我把你写的程序修改后贴给你,做过了时序的仿真.下次在问问题的时候要把你想要实现的功能写出来.
module state_t(clk_1Hz,enable,up_down,load,s_n,counter_2,s1);
input clk_1Hz;
input enable,up_down,load;
input [1:0]s_n;
output [1:0] counter_2,s1;

reg[1:0] counter_2,s1;

always@(posedge clk_1Hz )
begin
if(enable==1)
begin
if(load==1)
begin
counter_2=s_n;
if(up_down==1)
case(counter_2)
2'b01: counter_2=2'b10;
2'b10: counter_2=2'b11;
2'b11: counter_2=2'b01;
default: counter_2=2'bx;
endcase

else //(up_down==0)
case(counter_2)
2'b11: counter_2=2'b10;
2'b10: counter_2=2'b01;
2'b01: counter_2=2'b11;
default: counter_2=2'bx;
endcase
end
else // (load==0)
s1=2'b01;
case(s1)
2'b01: s1=2'b10;
2'b10: s1=2'b11;
2'b11: s1=2'b01;
default:s1=2'bx;
endcase
end
else //(enable==0)
counter_2=2'b00;
end
endmodule
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
鞋底是空心格子怎么办 鞋里有格子硌脚怎么办 买的鞋子里面是空心格子底硌脚怎么办 鞋子底是空心格子的怎样办 浅谈NY5196—2002有机茶 有机食品茶叶标准 茶叶的储藏运销:茶叶贮藏期的化学变化 东方美人茶要怎么储存?东方美人茶储存方法 乌龙茶贮运方法 有机乌龙茶是什么贮藏与运输的? 第4章 Verilog逻辑设计介绍 FPGA必备基础7:verilog的6种延迟操作 架构好以老师不在为主题的作文,并且找到抄写有关好词好句好段!答对有赏... vivox5s有超级截屏吗? 手机vivoX5S L拍照截图的快捷键在哪 那时的一名优秀战士,为什么选择不留部队,为什么要选择退伍。 我是一名退伍军人,退伍军人在地方做生意都有什么优惠政策呢? ps设计可爱的缝纫字教程 iPhone 上有哪些很酷的应用? 取钱时没有吐钞,但是显示已经扣款,并且有交易凭条怎么办? 聂远主演的电视剧 超级海神英雄世界最新版安卓游戏如何下载 聂远最近拍了什么电视剧(电影) 一击必杀安卓游戏安卓APK 有一个游戏是一个火柴人用武器杀人一击必杀的,是练手速的 ...是一个火柴人用武器击杀别人一击必杀的。武器可以更换。就是无限击... 梦见找东西没找到,压抑 梦见老公回来了不见人影 什么是自由贸易区理论 这是哪不韩剧!一个女的蹲着,一男的打着伞的海报 (Verilog 基础篇)6.2 Verilog 任务 我准备在寒假花时间去提升手部力量,但现在连一个引体向上都做不了,怎么... 引体向上一个都做不了,有什么引体向上的力量的基础训练动作求教。 我胳膊没有什么力气做不了一个俯卧撑,怎么练手臂肌肉啊,(求大神)感觉... 海竿如何底钓鲢鳙 深秋如何底钓鲢鳙技巧 ...飞在天空里是我的眼泪……”这首歌的歌名是什么??? ...是:云翻飞,飞在我手心里是你的眼泪…… 是什么歌,貌似很老了_百度知... WLAN请问这个怎么发音?请口语好的人回答下,谢谢!能语音回答我吗?谢... 买的二手车行驶证16年的,保养手册15年做过保养咋回事? 二手车的四个轮胎四个厂家说明什么 若分式xy/x+y中的x,y都扩大2倍,则分式的值 把分式3xy除以(x-2y)(x不等于2y)的分子,分母中的x,y同时扩大为原来的两... 填空并加以证明.已知X&gt;0,y&gt;0,若将3xy:(x-y)中的x、y扩大2倍,则3xy... ...如果把分式x+y/xy中的x,y都扩大3倍,那么分式的值. 如果把分式 2xy x+y 中的x和y都扩大3倍,那么分式的值( ) A.不变 B... 若把分式x+y/2xy中的x和y都扩大3倍,那么分式的值( ) 分式的值为何缩小3... 把分式3xy/x^2+y^2中的x,y同时扩大3倍,那么分式的值()? 若把分式x+y/2xy中的x和y都扩大3倍,那么分式的值( ) 若把分式x+y分之2xy中的x,y分别扩大3倍,则分式的值