硬件描述语言实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《硬件描述语言》实验报告

学院:

学号:

姓名:

专业:

实验时间:

实验地点:

指导教师:

年月

实验一简单组合逻辑设计

一、实验目的及要求:

1.掌握基本组合逻辑电路的实现方法。

2.初步了解两种基本组合逻辑电路的生成方法。

3.学习测试模块的编写。

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

二、实验设备及要求

装有modesim和synplify的电脑一台

三、实验内容与步骤

1.实验内容:

本次实验采用Verilog HDL语言设计一个可综合的数据比较器,其功能是比较数据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.掌握条件语句在简单时序模块设计中的使用;

2.掌握verilog语句在简单时序模块设计中的使用;

3.学习在Verilog模块中应用计数器;

4.学习测试模块的编写、综合和不同层次的仿真。

二、实验设备及要求

装有modesim和synplify的电脑一台

三、实验内容与步骤:

1.实验内容:

(1)使用always块和@(posedge clk)或@(negedge clk)的结构来表述时序逻辑,设计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.掌握条件语句在简单时序模块设计中的使用;

2.掌握最基本时序电路的实现方法;

3.学习在Verilog模块中应用计数器;

4.学习测试模块的编写、综合和不同层次的仿真。

二、实验设备及要求

装有modesim和synplify的电脑一台

三、实验内容与步骤:

1.实验内容:

(1)复习课本,熟悉条件语句的使用方式;

(2)建立工程并编写源代码;

(3)综合并布局布线仿真并分析always语句在时序逻辑中的作用;

(4)学习测试模块的编写、综合和仿真。

2.实验步骤:

(·1)建立工程文件,编写模块源码和测试模块,要求测试模块能对源文件进行比较全面的测试;

(2)编译源码和测试模块,用测试模块对源文件进行测试,并综合仿真;(3)观察综合后生成的文件和源文件的不同点和相同点;

(4)综合时采用不同的FPGA器件,如Altera公司的Cyclone II系列和Stratix III系列,观察综合后的结果有什么不同。

四、实验结果与数据处理:

1.RTL图及仿真后波形图:

2.综合后的电路图:

五、分析与讨论:

如果综合时采用不同的FPGA器件,如Altera公司的Cyclone II系列和Stratix III系列,想想综合后的结果有什么不同?

答:时钟分频的实现方法如果是采用行波时钟的方式(异步设计),容易造成时钟偏差,很难控制芯片内部的逻辑基本单元中的触发器的建立/保持时间,同时不同芯片的内部参数也有所不同,同一代码的时序分析结果分析得不同也很正常。如果分频后的时钟作为后级设计的工作时钟,那么整个设计不只使用一个主时钟,而是用多个时钟来实现的话(异步设计),存在信号的跨时钟域转换问题,跨时钟域的信号如果设计不当,会采到亚稳态。

实验四阻塞赋值与非阻塞赋值的区别

相关文档
最新文档