EDA实验报告

时间:2024.4.14

EDA技术及应用

                  —Verilog HDL

实 验 报 告

学院:电气与信息工程学院

班级:电子信息1203    

指导老师:谭会生  

姓名:     李炎    

学号:12401720504 

实验一  数字秒表的设计

一、  实验类型:综合性实验

二、实验仪器设备与工具软件

1.PC机(要求内存在256M以上);

2.EDA实验开发系统;

3.Quartus II软件

三、实验目的与任务

1.实验目的:(1)熟悉Quartus II/ISE Design suite/ispLEVER软件的基本使用方法

 (2)熟悉EDA实验开发系统(B-ICE-EDA实验开发系统)的使用;

(3)熟悉Verilog HDL过程区块语句、if条件语句和元件实例化语句的综合使用。

(4)熟悉计数器、分频器等Verilog HDL基本逻辑电路的综合设计应用,掌握程序仿真是根据实际情况进行有关参数的调整方法。

2.实验任务:用Verilog HDL设计一个计时范围为0.01秒~1小时的数字秒表,并用Quartus II进行调试和验证,熟悉Verilog HDL程序的基本设计,熟悉Quartus II的设计输入、设计编译、仿真验证、时序分析、器件编程等基本操作。

四、实验基本原理与电路原理图 

设计一个计时范围为0.01秒~1小时的数字秒表,首先需要获得一个比较精确的计时基准信号,这里是周期为1/100秒的计时脉冲。其次,除了对每一计数器需设置清零信号输入外,还需在六个计数器设置时钟使能信号,即计时允许信号,以便作为秒表的计时起、停控制开关。因此数字秒表可由一个分频器、四个十进制计数器(分别按1/100秒、1/10秒、1秒、1分的周期进行计数)以及两个六进制计数器(分别按10秒、10分的周期进行计数)组成,如图1.1所示。六个计数器中的每一计数器的4位输出,通过外设的BCD译码器输出显示。图1.1中六个4位二进制计数输出的最小显示值分别为:dout[3:0]1/100秒、dout[7:4]1/10秒、dout[11:8]1秒、dout[15:12]10秒、dout[19:16]1分、dout[23:20]10分。 实验原理图如下图1.1

图1.1  数字秒表电路逻辑图

五、实验步骤

1、Verilog HDL源程序

1) ?3 MHz→100 Hz分频器的源程序clkgen.v

module clkgen(clk, newclk);

  input  clk;

  output newclk;

  reg newclk;

  integer cnt=0;

  always @(posedge clk)

    begin

    //if(cnt1<29999)   //实际系统分频值

    if(cnt < 29)  //仿真时的分频值

      begin

      newclk <= 1'b0;

      cnt = cnt + 1;

      end

    else

      begin

      newclk <= 1'b1;

      cnt = 0;

      end

  end

endmodule

2) 六进制计数器的源程序cnt6.v

module cnt6(clk,clr,ena,cq,co);

  input clk, clr, ena;

  output [3:0] cq;

  output co;

  reg [3:0] cnt;

  reg co;

  always @(posedge clk or posedge clr)

    begin

    if (clr)    

      cnt <= 4'b0;

else

if (ena)

        if (cnt==4'h5)

          cnt <= 4'h0;

        else

          cnt <= cnt + 1;

    end

  assign cq = cnt;

  always @(posedge clk )

    begin

      if (cnt==4'h5)

        co = 4'h1;

      else

        co= 4'h0;

    end

endmodule

3)十进制计数器源程序cnt10.v

module cnt6(clk,clr,ena,cq,co);

  input clk, clr, ena;

  output [3:0] cq;

  output co;

  reg [3:0] cnt;

  reg co;

  always @(posedge clk or posedge clr)

    begin

    if (clr)    

      cnt <= 4'b0;

else

if (ena)

        if (cnt==4'h5)

          cnt <= 4'h0;

        else

          cnt <= cnt + 1;

    end

  assign cq = cnt;

  always @(posedge clk )

    begin

      if (cnt==4'h5)

        co = 4'h1;

      else

        co= 4'h0;

    end

endmodule

4)数字秒表的源程序times.v

module times(clk, clr, ena, dout);

  input clk, clr, ena;

  output [23:0] dout;

  wire clk, clr, ena;

  wire [23:0] dout;

  wire s0, s1, s2, s3, s4, s5, s6, s7, s8;

  clkgen u0 (.clk(clk), .newclk(s0)); 

  cnt10 u1 ( .clk(s0), .clr(clr),.ena(ena), .cq (dout[3:0]),.co (s1));

  cnt10 u2 ( .clk(s1), .clr(clr),.ena(ena), .cq (dout[7:4]),.co (s2));

  cnt10 u3 ( .clk(s2), .clr(clr),.ena(ena), .cq (dout[11:8]),.co (s3));

  cnt6 u4 ( .clk(s3), .clr(clr),.ena(ena), .cq (dout[15:12]),.co (s4));

  cnt10 u5 ( .clk(s4), .clr(clr),.ena(ena), .cq (dout[19:16]),.co (s5));

  cnt6 u6 ( .clk(s5), .clr(clr),.ena(ena), .cq (dout[23:20]),.co ( ));

endmodule

2、程序仿真结果

1)下图1.3和14分别为使用Quartus II 8.0对clkgen和times的时序仿真的结果

图1.3clkgen的时序仿真结果图(分频常数改为30

图1.4times的时序仿真结果

3、管脚锁定

图1.5管脚锁定

4.硬件逻辑验证

若使用GW48-CK EDA实验开发系统进行硬件逻辑验证,可选择实验电路结构图1.1和图1.4锁定。时钟信号clk可接CLOCK0,计数清零信号接键3,计数使能信号接键4,数码管1~数码管6分别显示以1/100 秒、1/10 秒、1 秒、10 秒、1 分、10分为计时基准的计数值。

进行硬件验证时方法如下:选择实验模式0,时钟信号clk与CLOCK0信号组中的3 MHz信号相接,键3和键4分别为计数清零信号和计数使能信号,计数开始后时间显示在六个数码管上。

六、实验总结

VerilogHDL版实验中,编写程序要特别细心,少了一个分号都会导致程序的语法错误,从而无法进行下面的实验步骤,还要注意文件的存放位置与文件名,以便容易查找,在硬件验证时需要修改相关参数,分频值需要修改为29999,通过本次实验对verilogHDL语言程序编写有了进一步的掌握。

实验二  SOPC设计的基本应用

一、实验类型:研究探索性实验

二、实验目的与任务

1.实验目的:熟悉NIOS II嵌入式处理器的设计过程和方法,熟悉QuartusII的SOPC开发

2.实验任务:通过创建一个Quartus II工程,创建Quartus II模块,将图标添加到BDF文件中,编译工程设计文件,配置FPGA等步骤完成一个Nios II嵌入式处理器的设计,再通过完成相应的软件实现,开发一个以Nios II为嵌入式处理器的SOPC

三、实验仪器设备与工具软件

1.PC机(要求内存在256M以上);

2.EDA实验开发系统(含Altera Nios Cyclone适配板);

3.Quartus II软件(含Nios II)。

四、实验基本原理 

1.硬件开发流程

(1)用SOPC Builder系统综合软件来选取合适的CPU、存储器以及外围器件。

(2)使用Quartus II软件来选取具体的Altera可编程器件系列,并对SOPC Builder生成的HDL设计文件进行布局仿真;再使用Quartus II软件来选取目标器件并对Nios II系统上的各种I/O口进行分配管脚,另外还要根据硬件编译选项或时序约束的设置。在编译的过程中,Quartus II从HDL源文件综合生成一个适合目标器件的网表。最后,生成配置文件。

(3)使用Quartus II编程器和Altera下载电缆,将配置文件(用户定制的NIOS II处理器系统的硬件设计)下载到开发板上。当校验完当前硬件设计后,软件开发者就可以把此开发板作为软件开发的初期硬件平台进行软件功能的开发验证了。

2.软件设计流程

(1)在用SOPC Builder系统集成软件进行硬件设计的同时,就可以开始编写独立于器件的C/C++软件,比如算法或控制程序。用户可以使用现成的软件库和开放的操作系统内核来加快开发进程。

(2)在Nios II IDE中建立新的软件工程时。IDE会根据SOPC Builder对系统的硬件配置自动生成一个定制HAL(硬件抽象层)系统库。这个库能为程序和底层硬件的通信提供借口驱动程序,它类似于创建Nios II系统时SOPC Builder生成的SDK。

(3)使用Nios II IDE对软件工程进行编译、调试。

(4)将硬件设计下载到开发板上后,就可以将软件下载到开发板上并在硬件上运行。

五、实验内容 

1、硬件的设计

1)通过创建一个Quartus II工程,创建Quartus II模块,

2)添加一个NIOS2软核

3)添加 NIOS II 处理器

4) 添加外设

a添加符合JTAG 接口标准的Debug接口  b 添加System ID

c 添加系统时钟                      d 添加FLASH

f 添加SDRAM                         g添加革新公司的IP 核SRAM (sram_256x16bit)

h 添加一个Avalon Tri-state Bridge   i 添加非易失性配置芯片

j 添加button I/O输入端口            k添加LED_PIO输出端口

l添加 RS232串行口                   m 进行Aalon 数据线的连接

图2.1 Nios  Ⅱ系统配置及其地址映射表

图2.2 完成原理图编辑后的结果

5)配置FPGA,进行管脚锁定

图2.3管脚锁定

6)下载到B-ICE-EDA/SOPC实验开发平台中

2、软件的设计

1)打开Nios II 10.1 IDE ,用它打开已编程好的软件

2)选择File>New>Nios II C/C++ Application:在Select Project Template 模板中,选择Blank Project Select Target Hardware 硬件目标板,选择bice_0.pdf应用程序工程名输入 LED。

3)编译工程,选中工程点击右键选择Build Project。

4)编译完成,选择Buttong工程,点击鼠标右键,运行Run As-》Nios II Hardware

(5)调试程序。

(6)将程序下载到Flash中,硬件参考问价夹中的视频。

六、实验总结

     通过本次实验对sopc开发的基本步骤有了进一步的了解,虽然基于Nios  II的SOPC系统的设计比较复杂,但经过老师的指导和查阅书籍,最终顺利完成了硬件部分,但是软件部分始终调试不出来,最后老师也没做要求了,但是自己还是要思考原因,深入学习eda的知识。


第二篇:EDA实验报告 (4)


实验四   VHDL组合逻辑电路设计

一  实验目的:

     在学习了VHDL语言的语句,语法以及利用VHDL语言设计逻辑电路的基本方法之后,进行本次试验。通过本次试验,使学生了解常见组合逻辑电路的VHDL描述,并且通过仿真,深入了解一种组合逻辑电路的功能和特性。通过编辑VHDL程序熟悉VHDL语言结构和词法元素的规则,了解常见的语法错误,学习利用QUARTUSII文本编辑器对VHDL语言程序进行编译,调试,并利用波形编辑器进行逻辑关系验证。

二  实验内容:

     本实验是一个设计型实验,利用所学VHDL语言,设计实现8421BCD码十进制转换。通过本次试验,使学生能够熟练使用VHDL语言描述设计简单的组合逻辑电路。进一步掌握VHDL描述的结构以及语法规则。

三  实验仪器:

     1.PC机一台    2.QUARTUSII软件     3.EDA实验箱

四  实验原理:

8421BCD码—十进制转换的逻辑关系如下表所示。

五  实验步骤:

1.编译得到如图4.1所示。

                                           图4.1

2.仿真得到如4.2所示波形。

图4.2

六  实验总结

。通过本次试验,加深了我对常见组合逻辑电路的VHDL描述的了解,并且通过仿真,深入了解一种组合逻辑电路的功能和特性。

更多相关推荐:
3d实验报告

实验报告实验报告院系信息科学与技术学院课程名称三维动画设计日期实验报告九江学院实验报告实验报告实验报告实验报告实验报告实验报告院系信息科学与技术学院课程名称三维动画设计日期九江学院3D王燕信A1131实验报告

3D实验报告

景德镇陶瓷学院设计艺术学院实验报告课程名称计算机辅助设计三维设计姓名戈瑞琪教师董翠专业班级08陶设4班成绩日期实验项目名称1基础工具2建模3材质4灯光摄影机5渲染实验学时1基础工具8学时2建模32学时3材质16...

3d实习报告

前言所谓三维设计就是利用电脑进行设计与创作以产生真实的立体场景与动画虽然在这个学期对3DSMAX的接触才知道3DSMAX是一个广泛应用于游戏开发后期制造影视特效及专业视觉设计领域的一款功能强大的三维设计软件它是...

unity 3d实验报告

江南大学Unity3D实验报告实验题目班级姓名学号日期一目的与要求1理解使用Unity3D制作游戏的基本过程和方法2理解Unity3D软件的操作界面3掌握地形的创建和简单编辑方法4掌握游戏场景中光源的添加和设置...

3D打印实验报告

姓名:学号:指导教师:20xx年x月x日一、技术介绍3D打印是一种通过材料逐层添加制造三维物体的变革性、数字化增材制造技术,它将信息、材料、生物、控制等技术融合渗透,将对未来制造业生产模式与人类生活方式产生…

3D MAX过程训练实验报告

3D MAX过程训练实验报告,内容附图。

3d实验报告建筑材质 灯光

本科学生综合性实验报告项目组长郭恺学号0094326成员郭恺专业09环艺2班实验项目名称建筑材质灯光设计指导教师及职称陈茜讲师开课学期20xx至20xx学年二学期上课时间20xx年3月30日学生实验报告一实验综...

3D电子沙盘实验报告

科学技术学院实验报告实验主题3D电子沙盘实验学生姓名郭宏琴学号70402120xx专业班级工商管理121班实验地点实验楼109实验时间20xx年12月22日12月24日一实验目的通过实训让我们体会了解现代企业运...

JAVA开放性实验报告贪吃蛇

电子与信息工程系开放性实验报告JAVA程序设计开放性实验报告专业班级学号姓名实验报告实验2贪吃蛇游戏设计4学时1实验内容1创建软件主窗体和相关控制菜单在窗体中以图形模拟蛇的形状使用键盘控制图形在窗体中任意移动模...

3D打印机实训报告

快速成型与快速模具3D打印实训报告书姓名:***学号:**********班级:12机械(2)班专业:机械设计与制造学院:机电工程与自动化学院学校:黎明职业大学指导老师:一、3D打印机的介绍1、3D打印机的介绍…

3D MAX过程训练实验报告

电脑三维表现过程训练实验报告

实验报告 -3D打印机

人机交互技术实验报告实验名称3D打印机原理及构造班级数媒1301组长学号姓名刘家旺组员学号姓名沈苏明成绩实验四3D打印机原理及构造一实验目的了解学院使用的3D打印机的工作原理二实验要求了解学院使用的3D打印机的...

3d实验报告(35篇)