湖南工业大学EDA实验报告

时间:2024.3.24

EDA技术及应用—Verilog HDL版

实 验 报 告

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

班级:电子信息1204

指导老师:谭会生

姓名:

学号:

实验一 数字秒表的设计

一、 实验类型

综合性实验

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

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、erilog 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.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、存储器以及外围器件(如片内存储器、PIO、UART和片外存储器接口),并定制它们的功能。

(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 湖南工业大学


1。从学习和使用的角度,你认为EDA技术主要包括哪几方面的内容?这几个方面在整个电子系统的设计中分别起什么作用?(10分)

答:

A.大规模可编程逻辑器件。它是由用户编程以实现某种逻辑功能的新型逻辑器件。优势是开发周期短,投资风险小,产品上市速度快,市场适应能力强,硬件升级回旋余地大。

B.硬件描述语言。包括VHDL,ABEL,Verilog.其中VHDL和Verilog将承担几乎全部的数字系统设计任务。

C.软件开发工具。主要有quartus2,Foundation Series.

D.实验开发系统。提供芯片下载电路及EDA实验开发的外围资料,以供硬件验证用。

2.阐述EDA实验开发系统的主要作用及基本组成。(10分)

答:EDA实验开发系统的主要用于提供可编程逻辑器件的下载电路及EDA实验开发的外围资料,以供硬件验证用。一般包括:

A.实验或开发所需的各类基本信号发生模块,包括时钟,脉冲,高低电平等;

B.FPGA/CPLD输出信号显示模块,包括数码显示,发光器显示,声响指示等;C.监控程序模块,提供“电路重构软配置”

D.目标芯片配座以及上面的FPGA/CPLD目标芯片和编程电路下载。

1. 什么叫EDA技术?使用EDA技术进行电子系统设计有什么优点?(10分)

答: EDA技术有狭义的EDA技术和广义的EDA技术之分。狭义的EDA技术,就是指以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方式,以计算机、大规模可编程逻辑器件的开发软件及实验开发系统为设计工具,通过有关的开发软件,自动完成将用软件的方式设计的电子系统到硬件系统的逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、逻辑布局布线、逻辑仿真,直至对于特定目标芯片的适配编译、逻辑映射、编程下载等工作,最终形成集成电子系统或专用集成芯片的一门新技术,或称为IES/ASIC自动设计技术。广义的EDA技术,除了狭义的EDA技术外,还包括计算机辅助分析CAA技术(如PSPICE,EWB,MATLAB等),印刷电路板计算机辅助设计PCB-CAD技术(如PROTEL,ORCAD等)。(5分)

使用EDA技术进行电子系统设计的优点:(1)用软件的方式设计硬件;(2)用软件方式设计的系统到硬件系统的转换,由有关的开发软件自动完成;(3)设计过程中可用有关软件进行各种仿真;(4)系统可现场编程,在线升级;(5)整个系统可集成在一个芯片上,体积小、功耗低,可靠性高。(5分)

2.对于目标器件为FPGA/CPLD的VHDL工程设计,其工作步骤如何?并简要介绍各步的作用。(10分)

答:(1)源程序的编辑和编译:利用EDA工具的文本编辑器或图形编辑器将设计用文本或图形方式表达出来,进行排错编译,变成VHDL文件格式;(1.5分)

(2)逻辑综合和优化:将电路的高级语言描述转换成低级的,可与FPGA/CPLD或构成ASIC的门阵列基本结构相映射的网表文件,以便将VHDL的软件设计与硬件的可实现性挂钩;(2.0分)

(3)目标器件的布线/适配:将由综合器产生的网表文件针对某一具体的目标器进行逻辑映射操作,其中包括底层器件配置、逻辑分割、逻辑优化、布线与操作等,配置于指定的目标器件中,产生最终的下载文件,如JEDEC格式的文件;(2.0分)

(4)目标器件的编程/下载:将由FPGA/CPLD布线/适配器产生的配置/下载文件通过编程器或下载电缆载入目标芯片FPGA或CPLD中;(1.5分)

(5)设计过程中的有关仿真:设计过程中为了了解设计的结果,可通过仿真器进行有关仿真,包括行为仿真,功能仿真和时序仿真;(1.5分)

(6)硬件仿真/硬件测试:在ASIC设计中,常利用FPGA对系统的设计进行功能检测,通过后再将其VHDL设计以ASIC形式实现,这个过程称之为硬件仿真;针对FPGA或CPLD直接用于应用系统的设计中,将下载文件下载到FPGA后,对系统的设计进行的功能检测,这个过程称之为硬件测试。

1.FPGA的英文全称是Field Programmable Gate Array,CPLD的英文全称是Complex Programmable Logic Devices,二者在保存逻辑信息方面的区别是FPGA掉电后将丢失原有的逻辑信息而CPLD却能保持原有的逻辑信息。

2.一个相对完整的VHDL程序的三个基本组成部分别是 库、程序包使用说明 、

实体说明 和实体对应的结构体说明。

3.IEEE_1076标准程序包中定义的四种常用端口模式分别是IN模式、OUT模式、BUFFER模式和 INOUT 模式。

4.VHDL的数据对象有 常量 、 变量 和 信号 三种。VHDL程序设计中常用的库有 IEEE库 、 STD库 、WORK库 和VITAL库。

5.VHDL是一种强数据类型语言,强数据类型的具体含义是:(1) 各数据对象必须具有确定的数据类型

(2)具有相同数据类型的数据对象才能进行相互操作 。

6. VHDL的描述风格有三种,分别是 行为描述 、数据流描述 和 结构描述 。

1.FPGA的中文含义是 现场可编程门阵列 ,CPLD的中文含义是 复杂可编程逻辑器

件 ,二者在保存逻辑信息方面的区别是 FPGA掉电后将丢失原有的逻辑信息而

CPLD却能保持原有的逻辑信息

2.VHDL是一种强类型语言,强类型的具体含义是:(1) 要求设计实体中的每一个常数、信号、变量、函数以及设定各种参量都必须有明确的数据类型 ;

(2) 只有数据类型相同的量才能互相传递和作用 。其设计成强数据类型语言的目的是 使VHDL编译或综合工具很容易找出设计中的各种错误 。

3.VHDL程序的三个基本组成部分是 库、程序包使用说明 , 实体说明 和 实体对应的结构体说明 。

4.VHDL的基本标识符就是以 英文字母 开头,不连续使用 下划线 ,不以下划线“_”结尾的,由字母、数字以及下划线“_”组成的字符串。

7.VHDL的元件例化语句用于建立端口之间映射关系的两种常用方式是 名字关联方式

和 位置关联方式 。

8.状态机的两种基本操作分别是 状态机内部状态转换 和 产生输出信号序列 。

四、阅读本题程序,回答如下问题;(1)语句/语句组①~④的作用;(2)本程序将实现什么功能?

①LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY DETECT IS

PORT( DATAIN,CLK:IN STD_LOGIC;

Q:OUT STD_LOGIC);

END DETECT;

ARCHITECTURE ART OF DETECT IS

② TYPE STATETYPE IS(S0,S1,S3,S4,S5,S6,S7,S8);

BEGIN

PROCESS(CLK)

③ VARIABLE PRESENT_STATE:STATETYPE;

BEGIN

Q<=‘0’;

④CASE PRESENT_STATE IS

WHEN S0=>IF DATAIN=‘0’ THEN PRESENT_STATE:=S1;

ELSE PRESENT_STATE:=S0: END IF;

WHEN S1=> IF DATAIN=‘1’ THEN PRESENT_STATE:=S2;

ELSE PRESENT_STATE:=S1: END IF;

WHEN S2=> IF DATAIN=‘1’THEN PRESENT_STATE:=S3;

ELSE PRESENT_STATE:=S1: END IF;

WHEN S3=> IF DATAIN=‘1’THEN PRESENT_STATE:=S4;

ELSE PRESENT_STATE:=S1: END IF;

WHEN S4=> IF DATAIN=‘1’THEN PRESENT_STATE:=S5;

ELSE PRESENT_STATE:=S1: END IF;

WHEN S5=> IF DATAIN=‘1’THEN PRESENT_STATE:=S6;

ELSE PRESENT_STATE:=S1: END IF;

WHEN S6=> IF DATAIN=‘1’THEN PRESENT_STATE:=S7;

ELSE PRESENT_STATE:=S1: END IF;

WHEN S7=> IF DATAIN=‘0’THEN PRESENT_STATE:=S8;

Q<=‘1’;ELSE PRESENT_STATE:=S0;END IF;

WHEN S8=> IF DATAIN=‘0’THEN PRESENT_STATE:=S1;

ELSE PRESENT_STATE:=S2; END IF;

END CASE;

WAIT UNTIL CLK=‘1’;

END PROCESS;

END ART;

答:语句组①的作用:先打开IEEE库,再打开IEEE库中的STD_LOGIC_1164程序包中的所有项目。 语句组②的作用:定义一个枚举型的自定义数据类型STATETYPE,它有S0~S8共9个值;(2分) 语句组③的作用:定义一个变量PRESENT_STATE,其数据类型是自定义数据类型STATETYPE;(2分) 语句组④的作用:这是一个多选一的选择语句,当变量PRESENT_STATE为S0时,若这时输入端口DATAIN为0,则PRESENT_STATE变为S1,否则保持为S0;(3分)

本程序实现的功能:实现一个“01111110”序列信号的检测功能。(6分

四、阅读本题程序,回答如下问题;(1)语句组①~④的作用;(2)本程序将实现什么功能?(15分) ① LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY DPRAM IS ② GENERIC(WIDTH:INTEGER :=8; DEPTH:INTEGER :=1024; ADDER:INTEGER :10); PORT(DATAIN:IN STD_LOGIC_VECTOR(WIDTH?1 DOWNTO 0); DATAOUT:OUT. STD_LOGIC_VECTOR(WIDTH?1 DOWNTO 0); CLOCK,WE,RE:IN STD_LOGIC; WADD,RADD:IN STD_LOGIC_VECTOR(ADDER?1 DOWNTO 0)); END ENTITY DPRAM; ARCHITECTURE ART OF DPRAM IS TYPE MEM IS ARRAY(0 TO DEPTH?1) OF STD_LOGIC_VECTOR(WIDTH?1 DOWNTO 0); SIGNAL RAMTMP:MEM; BEGIN ③ PROCESS(CLOCK) BEGIN IF (CLOCK’EVENT AND CLOCK=‘1’) THEN IF (WE=‘1’) THEN RAMTMP(CONV_INTEGER(WADD))<=DATAIN; END IF; END IF; END PROCESS; ④ PROCESS(CLOCK) BEGIN IF (CLOCK’EVENT AND CLOCK=‘1’) THEN IF (RE=‘1’) THEN DATAOUT<=RAMTMP(CONV_INTEGER(RADD)); END IF; END IF; END PROCESS; END ARCHITECTURE ART; 答: (1)①先打开IEEE库,再打开IEEE库中的STD_LOGIC_1164,STD_LOGIC_ARITH,STD_LOGIC_UNSIGNED程序包中的所有项目。 ②对实体的WIDTH,DEPTH和ADDER的数据类型和宽度作了定义。 ③完成向地址‘写‘数据功能的进程。 ④完成从地址中‘读‘数据功能的进程。 (2)这是一个8x1024的双口SRAM。

eda湖南工业大学

1。从学习和使用的角度,你认为EDA技术主要包括哪几方面的内容?这几个方面在整个电子系统的设计中分别起什么作用?(10分)

答:

A.大规模可编程逻辑器件。它是由用户编程以实现某种逻辑功能的新型逻辑器件。优势是开发周期短,投资风险小,产品上市速度快,市场适应能力强,硬件升级回旋余地大。

B.硬件描述语言。包括VHDL,ABEL,Verilog.其中VHDL和Verilog将承担几乎全部的数字系统设计任务。

C.软件开发工具。主要有quartus2,Foundation Series.

D.实验开发系统。提供芯片下载电路及EDA实验开发的外围资料,以供硬件验证用。

2.阐述EDA实验开发系统的主要作用及基本组成。(10分)

答:EDA实验开发系统的主要用于提供可编程逻辑器件的下载电路及EDA实验开发的外围资料,以供硬件验证用。一般包括:

A.实验或开发所需的各类基本信号发生模块,包括时钟,脉冲,高低电平等;

B.FPGA/CPLD输出信号显示模块,包括数码显示,发光器显示,声响指示等;C.监控程序模块,提供“电路重构软配置”

D.目标芯片配座以及上面的FPGA/CPLD目标芯片和编程电路下载。

2. 什么叫EDA技术?使用EDA技术进行电子系统设计有什么优点?(10分)

答: EDA技术有狭义的EDA技术和广义的EDA技术之分。狭义的EDA技术,就是指以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方式,以计算机、大规模可编程逻辑器件的开发软件及实验开发系统为设计工具,通过有关的开发软件,自动完成将用软件的方式设计的电子系统到硬件系统的逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、逻辑布局布线、逻辑仿真,直至对于特定目标芯片的适配编译、逻辑映射、编程下载等工作,最终形成集成电子系统或专用集成芯片的一门新技术,或称为IES/ASIC自动设计技术。广义的EDA技术,除了狭义的EDA技术外,还包括计算机辅助分析CAA技术(如PSPICE,EWB,MATLAB等),印刷电路板计算机辅助设计PCB-CAD技术(如PROTEL,ORCAD等)。(5分)

使用EDA技术进行电子系统设计的优点:(1)用软件的方式设计硬件;(2)用软件方式设计的系统到硬件系统的转换,由有关的开发软件自动完成;(3)设计过程中可用有关软件进行各种仿真;(4)系统可现场编程,在线升级;(5)整个系统可集成在一个芯片上,体积小、功耗低,可靠性高。(5分)

2.对于目标器件为FPGA/CPLD的VHDL工程设计,其工作步骤如何?并简要介绍各步的作用。(10分)

答:(1)源程序的编辑和编译:利用EDA工具的文本编辑器或图形编辑器将设计用文本或图形方式表达出来,进行排错编译,变成VHDL文件格式;(1.5分)

(2)逻辑综合和优化:将电路的高级语言描述转换成低级的,可与FPGA/CPLD或构成ASIC的门阵列基本结构相映射的网表文件,以便将VHDL的软件设计与硬件的可实现性挂钩;(2.0分)

(3)目标器件的布线/适配:将由综合器产生的网表文件针对某一具体的目标器进行逻辑映射操作,其中包括底层器件配置、逻辑分割、逻辑优化、布线与操作等,配置于指定的目标器件中,产生最终的下载文件,如JEDEC格式的文件;(2.0分)

(4)目标器件的编程/下载:将由FPGA/CPLD布线/适配器产生的配置/下载文件通过编程器或下载电缆载入目标芯片FPGA或CPLD中;(1.5分)

(5)设计过程中的有关仿真:设计过程中为了了解设计的结果,可通过仿真器进行有关仿真,

包括行为仿真,功能仿真和时序仿真;(1.5分)

(6)硬件仿真/硬件测试:在ASIC设计中,常利用FPGA对系统的设计进行功能检测,通过后再将其VHDL设计以ASIC形式实现,这个过程称之为硬件仿真;针对FPGA或CPLD直接用于应用系统的设计中,将下载文件下载到FPGA后,对系统的设计进行的功能检测,这个过程称之为硬件测试。

1.FPGA的英文全称是Field Programmable Gate Array,CPLD的英文全称是Complex Programmable Logic Devices,二者在保存逻辑信息方面的区别是FPGA掉电后将丢失原有的逻辑信息而CPLD却能保持原有的逻辑信息。

2.一个相对完整的VHDL程序的三个基本组成部分别是 库、程序包使用说明 、

实体说明 和实体对应的结构体说明。

3.IEEE_1076标准程序包中定义的四种常用端口模式分别是IN模式、OUT模式、BUFFER模式和 INOUT 模式。

4.VHDL的数据对象有 常量 、 变量 和 信号 三种。VHDL程序设计中常用的库有 IEEE库 、 STD库 、WORK库 和VITAL库。

5.VHDL是一种强数据类型语言,强数据类型的具体含义是:(1) 各数据对象必须具有确定的数据类型

(2)具有相同数据类型的数据对象才能进行相互操作 。

6. VHDL的描述风格有三种,分别是 行为描述 、数据流描述 和 结构描述 。

1.FPGA的中文含义是 现场可编程门阵列 ,CPLD的中文含义是 复杂可编程逻辑器

件 ,二者在保存逻辑信息方面的区别是 FPGA掉电后将丢失原有的逻辑信息而

CPLD却能保持原有的逻辑信息

2.VHDL是一种强类型语言,强类型的具体含义是:(1) 要求设计实体中的每一个常数、信号、变量、函数以及设定各种参量都必须有明确的数据类型 ;

(2) 只有数据类型相同的量才能互相传递和作用 。其设计成强数据类型语言的目的是 使VHDL编译或综合工具很容易找出设计中的各种错误 。

3.VHDL程序的三个基本组成部分是 库、程序包使用说明 , 实体说明 和 实体对应的结构体说明 。

4.VHDL的基本标识符就是以 英文字母 开头,不连续使用 下划线 ,不以下划线“_”结尾的,由字母、数字以及下划线“_”组成的字符串。

7.VHDL的元件例化语句用于建立端口之间映射关系的两种常用方式是 名字关联方式

和 位置关联方式 。

8.状态机的两种基本操作分别是 状态机内部状态转换 和 产生输出信号序列 。

四、阅读本题程序,回答如下问题;(1)语句/语句组①~④的作用;(2)本程序将实现什么功能?

①LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY DETECT IS

PORT( DATAIN,CLK:IN STD_LOGIC;

Q:OUT STD_LOGIC);

END DETECT;

ARCHITECTURE ART OF DETECT IS

③ TYPE STATETYPE IS(S0,S1,S3,S4,S5,S6,S7,S8);

BEGIN

PROCESS(CLK)

③ VARIABLE PRESENT_STATE:STATETYPE;

BEGIN

Q<=‘0’;

④CASE PRESENT_STATE IS

WHEN S0=>IF DATAIN=‘0’ THEN PRESENT_STATE:=S1;

ELSE PRESENT_STATE:=S0: END IF;

WHEN S1=> IF DATAIN=‘1’ THEN PRESENT_STATE:=S2;

ELSE PRESENT_STATE:=S1: END IF;

WHEN S2=> IF DATAIN=‘1’THEN PRESENT_STATE:=S3;

ELSE PRESENT_STATE:=S1: END IF;

WHEN S3=> IF DATAIN=‘1’THEN PRESENT_STATE:=S4;

ELSE PRESENT_STATE:=S1: END IF;

WHEN S4=> IF DATAIN=‘1’THEN PRESENT_STATE:=S5;

ELSE PRESENT_STATE:=S1: END IF;

WHEN S5=> IF DATAIN=‘1’THEN PRESENT_STATE:=S6;

ELSE PRESENT_STATE:=S1: END IF;

WHEN S6=> IF DATAIN=‘1’THEN PRESENT_STATE:=S7;

ELSE PRESENT_STATE:=S1: END IF;

WHEN S7=> IF DATAIN=‘0’THEN PRESENT_STATE:=S8;

Q<=‘1’;ELSE PRESENT_STATE:=S0;END IF;

WHEN S8=> IF DATAIN=‘0’THEN PRESENT_STATE:=S1;

ELSE PRESENT_STATE:=S2; END IF;

END CASE;

WAIT UNTIL CLK=‘1’;

END PROCESS;

END ART;

答:语句组①的作用:先打开IEEE库,再打开IEEE库中的STD_LOGIC_1164程序包中的所有项目。 语句组②的作用:定义一个枚举型的自定义数据类型STATETYPE,它有S0~S8共9个值;(2分) 语句组③的作用:定义一个变量PRESENT_STATE,其数据类型是自定义数据类型STATETYPE;(2分) 语句组④的作用:这是一个多选一的选择语句,当变量PRESENT_STATE为S0时,若这时输入端口DATAIN为0,则PRESENT_STATE变为S1,否则保持为S0;(3分)

本程序实现的功能:实现一个“01111110”序列信号的检测功能。(6分)

四、阅读本题程序,回答如下问题;(1)语句组①~④的作用;(2)本程序将实现什么功能?(15分) ① LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY DPRAM IS ② GENERIC(WIDTH:INTEGER :=8; DEPTH:INTEGER :=1024;

ADDER:INTEGER :10); PORT(DATAIN:IN STD_LOGIC_VECTOR(WIDTH?1 DOWNTO 0); DATAOUT:OUT. STD_LOGIC_VECTOR(WIDTH?1 DOWNTO 0); CLOCK,WE,RE:IN STD_LOGIC; WADD,RADD:IN STD_LOGIC_VECTOR(ADDER?1 DOWNTO 0)); END ENTITY DPRAM; ARCHITECTURE ART OF DPRAM IS TYPE MEM IS ARRAY(0 TO DEPTH?1) OF STD_LOGIC_VECTOR(WIDTH?1 DOWNTO 0); SIGNAL RAMTMP:MEM; BEGIN ③ PROCESS(CLOCK) BEGIN IF (CLOCK’EVENT AND CLOCK=‘1’) THEN IF (WE=‘1’) THEN RAMTMP(CONV_INTEGER(WADD))<=DATAIN; END IF; END IF; END PROCESS; ④ PROCESS(CLOCK) BEGIN IF (CLOCK’EVENT AND CLOCK=‘1’) THEN IF (RE=‘1’) THEN DATAOUT<=RAMTMP(CONV_INTEGER(RADD)); END IF; END IF; END PROCESS; END ARCHITECTURE ART; 答: (1)①先打开IEEE库,再打开IEEE库中的STD_LOGIC_1164,STD_LOGIC_ARITH,STD_LOGIC_UNSIGNED程序包中的所有项目。 ②对实体的WIDTH,DEPTH和ADDER的数据类型和宽度作了定义。 ③完成向地址‘写‘数据功能的进程。 ④完成从地址中‘读‘数据功能的进程。 (2)这是一个8x1024的双口SRAM。

eda湖南工业大学

更多相关推荐:
大连理工大学实验报告模版

【大物实验】拉伸法测弹性模量http://hi.baidu.com/%CE%D2%B5%C4%D3%EE%D6%AE%D6%E6/blog/item/2fa915f54e65df75dcc4741b.html【…

RLC电流研究实验报告-大连理工大物实验

RLC电流研究实验报告

大连理工大学 大物实验报告 温度传感技术

这个实验操作步骤比较简单实验过程中主要就是等待不难老师是武震林人特别好报告为什么扣分我也不太清楚可能是数据点没用X表示需要注意的是伏安特性曲线要过原点有些点要舍去

大连理工大学盘锦校区大学物理实验报告页

大连理工大学大学物理实验报告实验报告完成日期学号姓名班级实验准备时间第周周第节实验完成时间第周周第节实验名称大连理工大学大学物理实验实验报告附件1预习与准备学号姓名班级实验准备时间年月日第周周第节实验名称大连理...

大工大物实验报告——低压气体直流击穿特性

低压气体直流击穿特性实验目的1研究低气压的实验和维持方法了解气压的测量原理2观测直流暗放电的脉冲现象研究电子碰撞引起雪崩电离的过程掌握分析和识别微观现象的实验方法认识低气压气体直流击穿现象研究雪崩电离过程与气体...

大工电机与拖动实验报告一

实验报告一实验名称单相变压器实验实验目的1通过空载和短路实验测定变压器的变比和参数2通过负载实验测取变压器的运行特性实验项目1空载实验测取空载特性U0fI0P0fU02短路实验测取短路特性UkfIkPkfI3负...

20xx年大连理工大学考研884物理化学及实验凯程学员回忆版

凯程考研集训营为学生引路为学员服务20xx年大连理工大学考研884物理化学及实验凯程学员回忆版选择填空题12小题每小题2分共24分恒温下反应As3Bg2CgDl判断该反应过程的H和U的大小正确答案是HU对于理想...

柏诺兹(J - 大学物理 大连理工大学国家级精品课程建设工程

柏诺兹JGeorgBednorz19xx和缪勒KarlAMuller19xx因发现钡镧铜氧系统中的高Tc超导电性共同分享了19xx年度诺贝尔物理学奖超导电性的发现使人们认识到超导技术有广泛的应用前景为了寻找更适...

大连理工大学物理与光电工程学院

大连理工大学物理与光电工程学院20xx年硕士研究生复试标准及复试方法学术型和全日制专业学位一复试分数线二复试比例以网上公布的复试名单为准按照物理学一级学科招生人数不含推免生下同的120来确定复试人数分专业排序录...

大连理工大学物理与光电工程学院

大连理工大学物理与光电工程学院20xx年硕士研究生复试标准及复试方法学术型和全日制专业学位一复试分数线二复试比例以网上公布的复试名单为准按照物理学一级学科招生人数不含推免生下同的120来确定复试人数分专业排序录...

大连理工大学考研物理试题及答案

考试日期20xx年1月19日下午大连理工大学二三年硕士生入学考试化工原理及实验试题注试题必须注明题号答在答题纸上否则试卷作废一填空45分1流体流动的两种基本类型为判断流体流动类型的无因次数群特征数2在重力场中流...

大工15春《机械基础实验(二)》毕业清考实验报告提交要求

大连理工大学网络教育学院机械基础实验二毕业清考实验报告提交要求一课程考核形式本课程的毕业清考形式为离线作业实验报告无在线作业和考试毕业清考实验报告及要求在该课程的离线作业模块中下载二离线作业要求学生需要在平台离...

大连理工大学大物实验报告(17篇)