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

硬件描述语言与FPGA技术实验指导书(2012版)

来源:用户分享 时间:2025/8/8 14:49:31 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

《硬件描述语言与FPGA技术》

实验指导书

西北工业大学

2012/10/10

目录

实验一 简单的组合逻辑设计 ....................................................................................................... 3 实验二 简单分频时序逻辑电路的设计 ....................................................................................... 6 实验三 利用条件语句实现计数分频时序电路 ............................................................................. 9 实验四 阻塞赋值与非阻塞赋值的区别 ....................................................................................... 12 实验五 用always块实现较复杂的组合逻辑电路 ...................................................................... 16 实验六 在Verilog中使用函数 ..................................................................................................... 20 实验七 在Verilog HDL中使用任务(task) ............................................................................. 23 实验八 利用有限状态机进行时序逻辑的设计 ......................................................................... 27 实验九 利用状态机实现比较复杂的接口设计 ........................................................................... 32 练习十 利用SRAM设计一个FIFO ............................................................................................. 39

2

实验一 简单的组合逻辑设计

一、实验目的

1. 学习Quartus和ModSim两种EDA工具的使用方法; 2.掌握基本组合逻辑电路的实现方法; 3.初步了解两种基本组合逻辑电路的生成方法; 4.学习测试模块的编写;

5.通过综合和布局布线了解不同层次仿真的物理意义。

二、实验内容

本次实验采用Verilog HDL语言设计一个可综合的数据比较器,其功能是比较数据a与数据b的结果,如果两个数据相同,则输出结果1,否则给出结果0;并写出测试模型,使其进行比较全面的测试。

三、实验仪器、设备

预装了开发工具ModelSimSE、synplify的PC机。

四、实验原理

1. 组合逻辑电路是指在任何时刻,输出状态只决定于同一时刻各输入状态的组合而与

电路以前状态无关,而与其他时间的状态无关。其逻辑函数如下:

Li=f(A1,A2,A3??An) (i=1,2,3?m) 其中,A1~An为输入变量,Li为输出变量。

2. 组合逻辑电路的特点归纳如下:

① 输入、输出之间没有返馈延迟通道; ② 电路中无记忆单元。

3. 组合逻辑设计示例:可综合的数据比较器。它的功能是比较数据a与数据b,如果

两个数据相同,则给出结果1,否则给出结果0。描述组合逻辑时常使用assign结构。注意equal=(a==b)?1:0,这是一种在组合逻辑实现分支判断时常使用的格式。

模块源代码:

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

3

input a,b; output equal;

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

测试模块源代码:

`timescale 1ns/1ns `include \ module comparetest;

reg a,b; wire equal; 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. 建立工程文件,编写模块源码和测试模块,要求测试模块对源文件进行比较全面的

测试;

4

硬件描述语言与FPGA技术实验指导书(2012版).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c4a4pq5uy115gf8w599gi_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top