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...