哈工大数电大作业 1

发布 2022-07-17 20:41:28 阅读 6080

harbin institute of technology

数电大作业(1)

课程名称:数字电子技术

院系:航天学院控制科学与工程系。

班级。设计者。

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

设计时间: 2015-1-5

哈尔滨工业大学。

利用verilog hdl设计一个电路,对输入的一串二进制数,检测序列中连续3个或者3个以上的1,状态转换如图所示。

要求:1.编写源程序;

2.给出**电路图、状态转换图和**波形图。

使用状态机进行编写,一共有4个状态分别用s0(00)、s1(01)、s2(10)、s3(11)来表示,其中s0、s1、s2状态的输出均为低电平“0”,只有s3状态的输出为高电平“1”,在四个状态有低电平输入时,则次态均为s0,在有高电平输入时,则状态依次更替(s0→s1→s2→s3→s3……)那么只有连续三个以上的高电平输入时才会使输出为高电平,否则输出将保持低电平。

下图为简略的状态转换表:

本实验使用xilinx软件进行编程与**。

根据《数字电子技术》教材第318页的例题,改编程序如下:

module zg(clk,din,op);

input clk,din;

output op;

reg[1:0] current_state,next_state;

reg op;

parameter s0=2'b00,s1=2'b01,s2=2'b10,s3=2'b11;

always@(posedge clk)

begincurrent_state <=next_state;

endalways@(current_state or din)

begincase(current_state)

s0:begin

op=0;if(din==0)

next_state = s0;

elsenext_state = s1;

ends1:begin

op=0;if(din==0)

next_state = s0;

elsenext_state = s2;

ends2:begin

op=0;if(din==0)

next_state = s0;

elsenext_state = s3;

ends3:begin

op=1;if(din==0)

next_state = s0;

elsenext_state = s3;

enddefault:begin

op=0;next_state = s0;

endendcase

endendmodule

1、调试**如下。

module tiaoshi;

// inputs

reg clk;

reg din;

// outputs

wire op;

// instantiate the unit under test (uut)

zg uut (

.clk(clk),

.din(din),

.op(op)

// note: clk must be defined as a reg when using this method

parameter period = 50;

always begin

clk = 1'b0;

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

#(period/2);

end initial begin

initialize inputs

clk = 0;

din = 0;

wait 100 ns for global reset to finish

#din=0;

#din=0;

#din=1;

#din=1;

#din=0;

#din=1;

#din=1;

#din=1;

#din=1;

#din=0;

#add stimulus here

endendmodule

2、**电路图如下。

3、**波形图如下。

由波形图可以看到,只有连续输入三个高点平时,输出才会变成高电平,否则将一直是低电平,由测试的输入和输出波形图可以看到,与上述简略的状态转换表完全相符,即基本满足了实验要求。

哈工大数电大作业

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

哈工大数电大作业

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

哈工大数电大作业

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