77范文网 - 专业文章范例文档资料分享平台

数字系统设计与Verilog HDL——实验指导(LYT)

来源:网络收集 时间:2019-01-27 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

实验一 一位全加器编译与仿真

一、实验前准备

在进行本实验前,请认真学习教材《数字系统设计与Verilog HDL》前三章的有关内容,了解Quartus Ⅱ的开发环境以及仿真验证流程。掌握1位全加器的原理电路。

二、实验目的

1、熟悉了解Quartus Ⅱ的运行环境。

2、掌握Quartus Ⅱ环境下的仿真验证流程。 3、了解数字电路集成设计的过程。

三、实验原理与实验内容

本次实验主要目的为让学生熟悉软件环境与开发流程,实验的基本原理以及内容详见教材第56页至65页。

四、实验要求

要求按照教材内容进行实验,最后得出与教材相同的仿真结果。

实验二 简单组合逻辑电路的设计

一、实验目的

1、熟悉verilog HDL语言的语法结构。 2、学会用Verilog HDL描述简单的电路。

二、实验原理与内容

这是一个可综合的数据比较器,很容易看出它的功能是比较数据a与数据b,如果两个数据相同,则给出结果1,否则给出结果0。在Verilog HDL中,描述组合逻辑时常使用assign结构。注意equal=(a==b)?1:0,这是一种在组合逻辑实现分支判断时常使用的格式。 模块源代码:

//--------------- compare.v ----------------- module compare(equal,a,b); input a,b; output equal;

assign equal=(a==b)?1:0; //a等于b时,equal输出为1;a不等于b时, //equal输出为0。 endmodule

测试模块用于检测模块设计得正确与否,它给出模块的输入信号,观察模块的内部信号和输出信号,如果发现结果与预期的有所偏差,则要对设计模块进行修改。 测试模块源代码:

`timescale 1ns/1ns //定义时间单位。 module comparetest; reg a,b; wire equal;

initial //initial常用于仿真时信号的给出。 begin a=0; b=0;

#100 a=0; b=1; #100 a=1; b=1; #100 a=1; b=0;

#100 $stop; //系统任务,暂停仿真以便观察仿真波形。 end

compare compare1(.equal(equal),.a(a),.b(b)); //调用模块。 endmodule

三、实验要求

1、用verilog HDL语言描写出简单的一位数据比较器及其测试程序; 2、用测试程序对比较器进行波形仿真测试; 3、得到仿真波形;

实验三 时序逻辑电路的设计

一、实验目的

1、理解计数器的概念。

2、掌握器件的Verilog HDL的语言程序设计方法。

二、实验原理

计数器是最常见的寄存器逻辑电路,从微处理器的地址发生器到频率计都需要用到计数器。一般计数器可以分为两类:加法计数器和减法计数器。加法计数器每来一个脉冲计数值加1;减法计数器每来一个脉冲计数器值减1;有时将两者做在一起称可逆计数器。计数器也分为自由计数器和可预置计数器。有的计数器只有简单复位控制端,称自由计数器;有的计数器可以预置计数初值,称可预置计数器。 下面将用Verilog HDL 语言设计一个带异步同步清零的二进制加法计数器。计数器采用,有一个时钟输入端CLK,每个时钟上升沿,计数器工作。一个同步清零端CLR,CLR=1 时,清零。一个使能端ENA,ENA=1 时计数,ENA=0 时保持。二进制输出为Q3、Q2、Q1、Q0,一位进位输出信号OUTQ。当计数输出端Q3Q2Q1Q0=1111 时,OUTY=1。

三、实验内容及步骤

编程实现二进制计数器并仿真。 按实验原理要求编写一个二进制计数器,并仿真。

Verilog HDL 源文件如下(counter.v):

module counter (count, clk, reset); output [3:0] count; input clk, reset; reg [3:0] count;

always @ (posedge clk or posedge reset) if (!reset)

count = 4'h00; else

count <= count + 4'h01; endmodule

在QuartusII下完成仿真,其仿真波形应如下图所示。

四、实验要求

按照实验内容及步骤完成实验并得到仿真波形。

实验四 有限状态机实验:“101”序列检测器仿真

一、 实验目的

1.对有限状态机(FSM)做初步了解。

2.熟悉用有限状态机实现“101”序列检测器的功能。 二、实验内容

1.Gray编码的“101”序列检测器仿真实验。 2.获取仿真波形图。 3.分析所实现的功能。

三、实验内容与实验步骤

“101”序列检测器就是在收到“101”序列后输出一个标示1,否则输出标示0.

单过程描述:在单过程描述方式中,将状态机的现态、次态和输出逻辑(CS+NS+OL)放在一个always过程中进行描述。

“101”序列检测器的状态转移图

例1 用Gray编码单过程描述的“101”序列检测器:

源程序:

module fsm4_seq101(clk,clr,x,z);

input clk,clr,x; output reg z; reg[1:0] state; parameter S0=2'b00,S1=2'b01,S2=2'b11,S3=2'b10; /*状态编码,采用格雷(Gray)编码方式*/ always @(posedge clk or posedge clr)

Begin if(clr) state<=S0; //异步复位,s0为起始状态 else case(state)

S0:begin if(x) begin state<=S1; z=1'b0;end

else begin state<=S0; z=1'b0;end end

S1:begin if(x) begin state<=S1; z=1'b0;end else begin state<=S2; z=1'b0;end end

S2:begin if(x) begin state<=S3; z=1'b0;end else begin state<=S0; z=1'b0;end end

S3:begin if(x) begin state<=S1; z=1'b1;end else begin state<=S2; z=1'b1;end end

default:begin state<=S0; z=1'b0;end /*default语句*/ endcase end

endmodule

四、实验要求

1、在Quartus II环境下进行时序仿真。

2、获取仿真波形图,分析其所实现的功能,写出实验报告。

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库数字系统设计与Verilog HDL——实验指导(LYT)在线全文阅读。

数字系统设计与Verilog HDL——实验指导(LYT).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/460615.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: