硬件描述语言实验报告资料.docx
- 文档编号:25265151
- 上传时间:2023-06-06
- 格式:DOCX
- 页数:11
- 大小:913.63KB
硬件描述语言实验报告资料.docx
《硬件描述语言实验报告资料.docx》由会员分享,可在线阅读,更多相关《硬件描述语言实验报告资料.docx(11页珍藏版)》请在冰豆网上搜索。
硬件描述语言实验报告资料
《硬件描述语言》实验报告
学院:
学 号:
姓 名:
专业:
实验时间:
实验地点:
指导教师:
年月
实验一简单组合逻辑设计
一、实验目的及要求:
1.掌握基本组合逻辑电路的实现方法。
2.初步了解两种基本组合逻辑电路的生成方法。
3.学习测试模块的编写。
4.通过综合和布局布线了解不同层次仿真的物理意义。
二、实验设备及要求
装有modesim和synplify的电脑一台
3、实验内容与步骤
1.实验内容:
本次实验采用VerilogHDL语言设计一个可综合的数据比较器,其功能是比较数据a与数据b的结果,如果两个数据相同,则输出结果1,否则给出结果0;并写出测试模型,使其进行比较全面的测试。
2.实验步骤:
(1)建立工程文件,编写模块源码和测试模块,要求测试模块对源文件进行比较全面的测试;
(2)编译源码和测试模块,用测试模块对源文件进行测试,并进行仿真;
(3)观察综合后生成的文件和源文件的不同点和相同点。
(4)综合时采用不同的FPGA器件,观察综合后的结果有什么不同。
四、实验结果与数据处理:
1.RTL图及仿真后波形图:
2.综合后的电路图:
五、分析与讨论:
1.课本练习一的测试方法二中,第二个initial块有什么用?
它与第一个initial块有什么关系?
答:
测试方法二中的第二个initial用来暂停仿真以便观察仿真波形,它与第一个initial是并行关系
2.如果在第二个initial块中,没有写出#10000或者$stop,仿真会如何进行?
答:
如果没有写#10000,仿真会直接停止,没有$stop,仿真不会结束。
3.比较两种测试方法,哪一种更全面?
答:
第二种测试方法更全面,测试了更多种的变换的情况。
实验二简单分频时序逻辑电路的设计
1、实验目的及要求:
1.掌握条件语句在简单时序模块设计中的使用;
2.掌握verilog语句在简单时序模块设计中的使用;
3.学习在Verilog模块中应用计数器;
4.学习测试模块的编写、综合和不同层次的仿真。
2、实验设备及要求
装有modesim和synplify的电脑一台
3、实验内容与步骤:
1.实验内容:
(1)使用always块和@(posedgeclk)或@(negedgeclk)的结构来表述时序逻辑,设计1/2分频的可综合模型。
得到如下波形图:
(2)对模块进行RTL级仿真、综合后门级仿真,布局布线仿真;
2.实验步骤:
(1)建立工程文件,编写模块源码和测试模块,要求测试模块能对源文件进行比较全面的测试。
(2)编译源码和测试模块,用测试模块对源文件进行测试,并综合仿真。
得到波形图。
(3)观察综合后生成的文件和源文件的不同点和相同点。
(4)记录数据并完成实验报告。
四、实验结果与数据处理:
1.RTL图及仿真后波形图:
2.综合后的电路图:
五、分析与讨论:
1.如果没有reset信号,能否控制2分频clk_out信号的相位?
答:
如果没有reset信号,则无法控制2分频clk_out信号的相位。
2.只用clk时钟沿的触发(即不用2分频产生的时钟沿)如何直接产生4分频、
8分频、或者16分频的时钟?
答:
借助一个整型变量j做计数操作。
3.如何只用clk时钟沿的触发直接产生占空比不同的分频时钟?
答:
借助一个整型变量j做计数操作,从而用clk时钟沿的触发直接产生4分频、8分频或者16分频的时钟,及产生占空比不同的分频时钟。
实验三利用条件语句实现计数分频时序电路
1、实验目的及要求:
1.掌握条件语句在简单时序模块设计中的使用;
2.掌握最基本时序电路的实现方法;
3.学习在Verilog模块中应用计数器;
4.学习测试模块的编写、综合和不同层次的仿真。
二、实验设备及要求
装有modesim和synplify的电脑一台
3、实验内容与步骤:
1.实验内容:
(1)复习课本,熟悉条件语句的使用方式;
(2)建立工程并编写源代码;
(3)综合并布局布线仿真并分析always语句在时序逻辑中的作用;
(4)学习测试模块的编写、综合和仿真。
2.实验步骤:
(·1)建立工程文件,编写模块源码和测试模块,要求测试模块能对源文件进行比较全面的测试;
(2)编译源码和测试模块,用测试模块对源文件进行测试,并综合仿真;
(3)观察综合后生成的文件和源文件的不同点和相同点;
(4)综合时采用不同的FPGA器件,如Altera公司的CycloneII系列和StratixIII系列,观察综合后的结果有什么不同。
四、实验结果与数据处理:
1.RTL图及仿真后波形图:
2.综合后的电路图:
五、分析与讨论:
如果综合时采用不同的FPGA器件,如Altera公司的CycloneII系列和StratixIII系列,想想综合后的结果有什么不同?
答:
时钟分频的实现方法如果是采用行波时钟的方式(异步设计),容易造成时钟偏差,很难控制芯片内部的逻辑基本单元中的触发器的建立/保持时间,同时不同芯片的内部参数也有所不同,同一代码的时序分析结果分析得不同也很正常。
如果分频后的时钟作为后级设计的工作时钟,那么整个设计不只使用一个主时钟,而是用多个时钟来实现的话(异步设计),存在信号的跨时钟域转换问题,跨时钟域的信号如果设计不当,会采到亚稳态。
实验四阻塞赋值与非阻塞赋值的区别
1、实验目的及要求:
1.通过实验,掌握阻塞赋值与非阻塞赋值的概念与区别;
2.深入理解顺序执行和并发执行的概念。
3.了解非阻塞和阻塞赋值的不同使用场合;
4.学习测试模块的编写,综合和不同层次的仿真。
二、实验设备及要求:
装有modesim和synplify的电脑一台
3、实验内容与步骤:
1.实验内容:
(1)本次实验参照课本上的练习三,采用VerilogHDL语言描述两个模块,分别包含有阻塞和非阻塞赋值语句;
(2)编写测试模块,在相同输入信号的条件下,比较阻塞与非阻塞语句的输出结果;
(3)对模块进行RTL级仿真、综合后门级仿真,布局布线仿真;
(4)分析阻塞赋值与非阻塞赋值的区别。
2.实验步骤:
(1)仔细阅读课本,建立工程文件,编写模块源码和测试模块,要求测试模块能对源文件进行比较全面的测试;
(2)编译源码和测试模块,用测试模块对源文件进行测试,并综合仿真;
(3)观察综合后生成的两个电路结构图并观察仿真波形图,分析阻塞与非阻塞赋值的异同
(4)综合时采用不同的FPGA器件,如Altera公司的CycloneII系列和StratixIII系列,观察综合后的结果有什么不同。
四、实验结果与数据处理:
1.RTL图及仿真后波形图:
2.综合后的电路图:
5、分析与讨论:
1.解释说明测试模块中forever语句后若有其他语句,是否能够执行?
为什么?
答:
不能。
forever循环语句常用于产生周期性的波形,用来作为仿真测试信号。
它与always不同之处在于它不能独立写在程序中,而必须写在initial块中。
2.在blocking模块中按如下两种方法,仿真与综合的结果会有什么样的变化?
作出仿真波形,分析综合结果。
答:
a)
always@(posedgeclk)
begin
c=b;
b=a;
end
可以实现与上面非阻塞赋值相同的赋值结果。
b)
always@(posedgeclk)b=a;
always@(posedgeclk)c=b;
有可能出现竞争现象。
实验五用always块实现较复杂的组合逻辑电路
1、实验目的及要求:
1.掌握用always实现较大组合逻辑电路的方法;
2.进一步了解assign与always两种组合电路实现方法的区别和注意点;
3.学习测试模块中随机数的产生和应用;
4.学习综合不同层次的仿真,并比较结果。
二、实验设备及要求
装有modesim和synplify的电脑一台
三、实验内容与步骤
1.实验内容:
(1)运用always语句块设计一个8位数据选择器。
要求:
每路输入数据与输出数据均为4位2进制数,当选择开关(至少3位)或输入数据发生变化时,输出数据也相应地变化;
(2)写出测试模块,对模块的功能进行测试;
(3)对模块进行RTL级仿真、综合后门级仿真,布局布线仿真。
2.实验步骤:
(1)仔细阅读课本,建立工程文件,编写模块源码和测试模块,要求测试模块能对源文件进行比较全面的测试;
(2)编译源码和测试模块,用测试模块对源文件进行测试,并综合仿真;
(3)观察综合后生成的两个电路结构图并观察仿真波形图,分析assign与always两种组合电路实现方法的区别和注意点;
(4)综合时采用不同的FPGA器件,如Altera公司的CycloneII系列和StratixIII系列,观察综合后的结果有什么不同。
四、实验结果与数据处理:
1.RTL图及仿真后波形图:
.2.综合后的电路图:
五、分析与讨论:
1.分析用assign语句和always语句进行组合逻辑设计时有什么异同点?
答:
verilog语言中的赋值语句有两种,一种是持续赋值语句(assign语句),另一种是过程赋值语句(always语句)。
持续赋值语句(assign语句)主要用于对wire型变量的赋值,因为wire的值不能存住,需要一直给值,所以需要用持续赋值。
过程赋值语句(always语句)主要用于reg型变量的赋值,因为always语句被执行是需要满足触发条件的,所以always过程块里面的内容不是每时每刻都被执行,因此需要将被赋值的对象定义成寄存器类型,以便这个值能被保持住。
过程赋值又分为阻塞赋值“=”和非阻塞赋值“<=”两种。
六、教师评语
签名:
日期:
成绩
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 硬件 描述 语言 实验 报告 资料