欢迎来到天天文库
浏览记录
ID:56518138
大小:174.50 KB
页数:10页
时间:2020-06-26
《哈工大 数电大作业 三模式状态机.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、HarbinInstituteofTechnology三模式逻辑控制电路课程名称:数字电子技术基础院系:电气学院班级:姓名:学号:哈尔滨工业大学1、设计要求利用VerilogHDL设计一个逻辑控制电路,用于对某备进行模式切换控制,设备模式共三种,控制方式为:a)直通模式:高电平为直通有效,接地为直通无效;b)跳频模式:接地为跳频模式有效,高电平跳频无效;c)调谐模式:接地为调谐模式有效,高电平调谐无效。设备的同一时刻只有且必须有一个模式有效,其他两个无效。为防止同时个模式有效,模式切换之间应有较小的
2、延时,利用按键作为三种模式切换输入(按键最好有消除抖动的措施)2设计内容2.1设计方案设计一个三状态的状态机,分别对应a、b、c三种模式,change作为模式切换变量,din作为输出控制变量。考虑按键的抖动发生在change变化时,如果不采用按键消抖措施,change键按动时,由于发生电平跳动,输出状态可能会多次变化。为了解决这个问题,可以设计一个采集时钟,用来检测change的变化,只要时钟的频率设计的合适,就能在每次change变化时,只使得状态机只变化一次。2.2状态转换图图1状态转换图2.3
3、所使用的软件XilinxISE14.42.4源程序modulethree(clk,din,op,change);inputclk,din,change;outputop;reg[1:0]current_state,next_state;regop;parameterS0=2'b00,S1=2'b01,S2=2'b10;always@(posedgeclk)begincurrent_state<=next_state;endalways@(current_stateorchangeordin)begi
4、ncase(current_state)S0:beginif(change)beginnext_state=S1;endelsebeginnext_state=S0;endbeginif(din)op=1;elseop=0;endendS1:beginif(change)beginnext_state=S2;endelsebeginnext_state=S1;endbeginif(din)op=0;elseop=1;endendS2:beginif(change)beginnext_state=S0
5、;endelsebeginnext_state=S2;endbeginif(din)op=0;elseop=1;endenddefault:beginop=0;next_state=S0;endendcaseendendmodule2.5仿真电路图RTLViewer仿真电路如图2所示:图2RTLViewer仿真电路图TechnologyMapViewer仿真电路如图3所示:图4TechnologyMapViewer仿真电路图2.6TestBenches程序modulethreetest;//Inpu
6、tsregclk;regdin;regchange;//Outputswireop;//InstantiatetheUnitUnderTest(UUT)threeuut(.clk(clk),.din(din),.op(op),.change(change));initialbegin#1clk=0;#1din=0;#10din=0;change=0;#10din=1;#5change=0;#10din=0;#5change=0;#10din=1;#5change=0;#10din=0;#5chang
7、e=1;#5change=0;#10din=0;#5change=0;#10din=1;#5change=0;#10din=0;#5change=0;#10din=1;#5change=0;#10din=0;#5change=1;#5change=0;#10din=0;#5change=0;#10din=1;#5change=0;#10din=0;#5change=0;#10din=1;#5change=0;#10din=0;#5change=1;#5change=0;#10din=1;#5chan
8、ge=1;#5change=0;#10din=0;#5change=1;#5change=0;#10din=1;#5change=1;#5change=0;#10din=0;#5change=1;#5change=0;#10din=0;#5change=1;#5change=0;#10din=1;#5change=1;#5change=0;#10din=1;#4.5change=1;#0.5change=0;#0.5change=1;#0.5change=0;#0.5
此文档下载收益归作者所有