哈工大数电大作业

发布 2022-07-17 19:53:28 阅读 7349

harbin institute of technology

数电大作业(一)

院系:航天学院。

班级。姓名。

学号。指导教师:陶隽源。

哈尔滨工业大学航天学院。

2024年1月。

1、设计要求。

利用verilog hdl设计一个逻辑控制电路,用于对某备进行模式切换控制,设备模式共三种,控制方式为:

a) 直通模式:高电平为直通有效,接地为直通无效;

b) 跳频模式:接地为跳频模式有效,高电平跳频无效;

c) 调谐模式:接地为调谐模式有效,高电平调谐无效。

设备的同一时刻只有且必须有一个模式有效,其他两个无效。为防止同时多个模式有效,模式切换之间应有较小的延时,利用按键作为三种模式切换输入(按键最好有消除抖动的措施)。

2、编程环境。

编程软件:ise 13.4 webpack版。

使用语言:verilog hdl 语言。

3、源程序。

module homework_2(

input clk,input key,output [2:0] op

reg[2:0] out;

reg[2:0] c_mode=3'b111,n_mode=3'b111;

wire key_done;

reg xiaodou1,xiaodou2,xiaodou3;

parameter z_mode=3'b111,t_mode=3'b001,d_mode=3'b010;

always@(posedge clk)

beginxiaodou1<=key;

xiaodou2<=dou1;

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;

endcase

endassign op=out;

endmodule

4、程序电路原理图。

利用ise中view rtl schematic功能生成rtl级原理图如下:

5、**结果。

**程序:module asda;

// inputs

reg clk;

reg key;

// outputs

wire [2:0] op;

parameter period = 20;

always begin

clk = 1'b0;

#(period/2) clk = 1'b1;

#(period/2);

end // instantiate the unit under test (uut)

homework_2 uut (

.clk(clk),

.key(key),

.op(op)

initial begin

initialize inputs

clk = 0;

key = 0;

wait 100 ns for global reset to finish

#add stimulus here

#key=0;

#key=1;

#key=0;

#key=1;

#key=0;

#key=1;

#key=0;

#key=1;

#key=0;

#key=1;

#key=0;

#key=1;

#key=0;

#key=1;

#key=0;

#key=1;

#key=0;

#key=1;

#key=0;

#key=1;

#key=0;

#key=1;

endendmodule

**结果:图一。

图二。6、**结果分析。

需要实现的功能,按键消抖,即按键按下出现抖动,快速01变换时,既要判断按键按下,并且不会判断按键多次按下。

由**结果图一,按键连续出现两次峰值,我们看到只有第一次出现峰值时,实现了状态变化由111变为001,第二次峰值与第一次峰值只相差两个时钟周期,故不再重复触发。当间隔一段时间以后,又一次峰值到来时,才能再次触发,输出状态由001变为010。

由**结果图二,按键为0一段时间后,出现连续的几个峰值,状态只变化一次,后面的峰值间隔小于三个时钟周期,故无论出现多少峰值,都不会再次触发,只有经历一个三周期的间隔,才能实现再次触发。

经**验证,该设计符合题目要求。实现了消抖和延时功能。

哈工大数电大作业

harbin institute of technology 数电大作业 一 院系 航天学院。班级。姓名。学号。指导教师 陶隽源。哈尔滨工业大学航天学院。2015年1月。1 设计要求。利用verilog hdl设计一个逻辑控制电路,用于对某备进行模式切换控制,设备模式共三种,控制方式为 a 直通模式...

哈工大数电大作业

数电大作业。1 实验题目。实验要求 设计一个十六进制以上的计数器。要求解析 用两片74ls161设计一个的三十进制的计数器,并用multism进行分析。2 实验电路。图1 三十进制计数器原理图。3 设计思路。首先,74ls161是十六进制计数器,要达到要求的三十进制计数器,必须要使用两片74ls16...

哈工大数电大作业

harbin institute of technology 数字电子技术基础。课程设计。课程名称 数字电子技术基础 设计题目 十字路 通灯控制 院系 航天学院自动化专业 班级。设计者。学号。指导教师 于泳。设计时间 2015.12.25 2015.12.31 哈尔滨工业大学。十字路 通灯控制电路。...