《2023年哈工大数电大作业.doc》由会员分享,可在线阅读,更多相关《2023年哈工大数电大作业.doc(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Harbin Institute of Technology数电大作业(一)院 系:航天学院 班 级: 姓 名: 学 号: 指导教师:陶隽源 哈尔滨工业大学航天学院2023年1月一、 设计规定运用Verilog HDL设计一个逻辑控制电路,用于对某备进行模式切换控制,设备模式共三种,控制方式为:a)直通模式:高电平为直通有效,接地为直通无效;b)跳频模式:接地为跳频模式有效,高电平跳频无效;c)调谐模式:接地为调谐模式有效,高电平调谐无效。设备的同一时刻只有且必须有一个模式有效,其他两个无效。为防止同时多个模式有效,模式切换之间应有较小的延时,运用按键作为三种模式切换输入(按键最佳有消除抖动的
2、措施)。二、 编程环境编程软件:ISE 13.4 webpack版使用语言:verilog HDL 语言三、 源程序module homework_2( input clk, input key, output 2:0 op );reg2:0 out;reg2:0 c_mode=3b111,n_mode=3b111;wire key_done;reg xiaodou1,xiaodou2,xiaodou3;parameter Z_mode=3b111,T_mode=3b001,D_mode=3b010;always(posedge clk)beginxiaodou1=key;xiaodou2=d
3、ou1;xiaodou3=dou2;c_mode=n_mode;out=c_mode;endassign key_done=(xiaodou1|xiaodou2|xiaodou3);always(posedge key_done)begincase(c_mode)Z_mode:n_mode=T_mode;T_mode:n_mode=D_mode;D_mode:n_mode=Z_mode;endcaseendassign op=out;endmodule四、 程序电路原理图运用ISE中view RTL schematic功能生成RTL级原理图如下:五、 仿真结果仿真程序:module asda;
4、/ Inputsreg clk;reg key;/ Outputswire 2:0 op;parameter PERIOD = 20; always begin clk = 1b0; #(PERIOD/2) clk = 1b1; #(PERIOD/2); end / Instantiate the Unit Under Test (UUT)homework_2 uut (.clk(clk), .key(key), .op(op);initial begin/ Initialize Inputsclk = 0;key = 0;/ Wait 100 ns for global reset to f
5、inish#100; / Add stimulus here#40key=0;#40key=1;#40key=0;#40key=1;#40key=0;#400key=1;#40key=0;#40key=1;#40key=0;#400key=1;#40key=0;#40key=1;#40key=0;#40key=1;#40key=0;#40key=1;#40key=0;#40key=1;#40key=0;#40key=1;#40key=0;#40key=1;end endmodule仿真结果:图一图二六、 仿真结果分析需要实现的功能,按键消抖,即按键按下出现抖动,快速01变换时,既要判断按键按下,并且不会判断按键多次按下。由仿真结果图一,按键连续出现两次峰值,我们看到只有第一次出现峰值时,实现了状态变化由111变为001,第二次峰值与第一次峰值只相差两个时钟周期,故不再反复触发。当间隔一段时间以后,又一次峰值到来时,才干再次触发,输出状态由001变为010。由仿真结果图二,按键为0一段时间后,出现连续的几个峰值,状态只变化一次,后面的峰值间隔小于三个时钟周期,故无论出现多少峰值,都不会再次触发,只有经历一个三周期的间隔,才干实现再次触发。经仿真验证,该设计符合题目规定。实现了消抖和延时功能。