文档库 最新最全的文档下载
当前位置:文档库 › FPGA习题答案

FPGA习题答案

FPGA习题答案
FPGA习题答案

FPGA/CPLD应用技术(Verilog语言版)

第一章认识数字系统设计开发环境:

一、填空题

1.

(1)11001,19

(2)45,2D

(3)111111,63

2. 建立工程;输入设计;编译工程;设计仿真;器件编程

3. Altera

4.

可编程只读存储器PROM(Programmable Read Only Memory)

可编程逻辑阵列PLA(Programmable Logic Array)

可编程阵列逻辑PAL(Programmable Array Logic)

通用阵列逻辑器件GAL(Generic Array Logic)

可擦除可编程逻辑器件EPLD(Erasable Programmable Logic Device)复杂可编程逻辑器件CPLD(Complex Programmable Logic Device)

现场可编程门阵列FPGA(Field Programmable Gate Array)

5. 低密度可编程逻辑器件(LDPLD)、高密度可编程逻辑器件(HDPLD)

6. “与或阵列”、“门阵列”、“与或阵列”

7. 输入电路、与阵列、或阵列、输出电路

8. 可编程功能单元、可编程I/O引脚、可编程布线资源和片内存储块RAM

9. 电子设计自动化、Electronic Design Automatic

10. 硬件描述语言、Hardware Description Language

11.

Programmable Read Only Memory

Programmable Logic Array可编程逻辑阵列

Programmable Array Logic可编程阵列逻辑

Generic Array Logic通用阵列逻辑器件

Erasable Programmable Logic Device可擦除可编程逻辑器件

Complex Programmable Logic Device复杂可编程逻辑器件

Field Programmable Gate Array现场可编程门阵列

Very-High-Speed Hardware Description Language 超高速硬件描述语言In System Programming 在系统可编程

Look-Up Table 查找表

Programmable Logic Device 可编程逻辑器件

Logic Array Blocks 逻辑阵列块

Computer Aided Design 计算机辅助设计技术CAD

12. 写出下列英文单词的中文意思。

(1)工程、项目(2)向导

(3)器件(4)封装

(5)管脚(6)系列

(7)原理图 (8)图表 (9)块 (10)符号 (11)输入 (12)输出 (13)编译 (14)信息 (15)分析 (16)综合 (17)装配、布局 (18)汇编、装配 (19)报告 (20)波形 (21)节点 (22)仿真器 (23)功能的 (24)时序的 (25)分配 (26)熔丝 (27)互连 (28)宏单元 (29)乘积项 (30)进位

二、问答题

1. 画出Quartus II 软件的完整设计流程。 答案:如图T1.1所示。

图T1.1 Quartus II 软件的完整设计流程

2.

答案:共包括以下5步:①建立工程;②输入设计;③编译工程;④设计仿真;

⑤器件编程,

文本编辑器 块与符号编辑器 宏向导插件管理器 分配编辑器 引脚规划器 设置对话框 布局图编辑器 设计分割窗口 分析和综合器 RTL 查看器 辅助工具 布局布线器 分配编辑器 布局图编辑器 增量布局连线工具 芯片编辑器 Fitter 工具 时序分析 报告窗口

技术映射查看器 仿真器 波形编辑器 汇编器 编程器

转换编程文件

任务实现基本流程如图T1.2所示。

图T1.2 设计步骤

3.

答案:如图T1.3

图T1.3 可编程逻辑器件的分类4. 画出4选1数据选择器的输入输出结构及真值表。

答案:如图T1.4和表T1.1所示。

图T1.4 4选1数据选择器

5. 简述FPGA 的一般设计流程。 答案:

FPGA/CPLD 进行电路设计的过程是指在计算机上利用EDA 工具软件对FPGA/CPLD 器件进行开发设计的过程,一般包括设计准备、设计输入、功能仿真、设计实现、时序仿真、下载编程和器件测试七个步骤。 (1)设计准备

设计准备阶段是FPGA/CPLD 进行电路设计的第一步,包括方案论证、系统设计、器件选择等工作。 (2)设计输入

设计输入阶段就是设计者将设计电路以某种方式输入到计算机中。设计输入通常有以下几种方式:原理图输入方式、HDL 硬件描述语言输入方式、波形输入方式、层次设计输入方式、状态机图表输入方式等,前两种是比较常用的输入方式,下面分别简单介绍。

原理图输入方式与传统的原理图设计类似,用最直接的图形化的方式描述设计电路,使用工具软件提供的元件库中的符号,用连线画出原理图。这种输入方式是大家最习惯的方式,直观简单,便于仿真,但原理图设计效率低,对设计人员要求高。

HDL 硬件描述语言输入方式是用文本方式输入设计电路,是EDA 设计的基本特征之一。目前常用的硬件描述语言有VHDL (Very High speed Description Language )、Verilog-HDL 等。因为语言与工艺无关,采用这种方式输入设计电路,设计人员对底层电路和PLD 结构不必太熟悉,而且便于实现大规模系统的设计;缺点是硬件描述语言必须依赖综合器,综合器的好坏直接影响到生成电路的质量。 (1) 功能仿真

功能仿真也称为前仿真。在编译之前对设计的电路进行逻辑功能验证,初步检测电路功能是否正确。仿真时首先要建立波形文件或测试向量,仿真结果一般是输出信号波形和报告文件等。 (2) 设计实现

设计电路的逻辑功能验证正确后,可以进入电路的设计实现环节了。设计实现是

P0

P1 F 输入

输出

控制选择端 P2 P3

FPGA/CPLD进行电路设计的关键步骤,工具软件将对设计输入文件(原理图或文本等)进行逻辑化简、综合优化和适配,最后产生编程下载需要的编程文件。

(3)时序仿真

时序仿真一般称为后仿真,是把设计电路与具体实现器件(FPGA/CPLD)结合起来的仿真。因为不同的器件内部延时不一样,不同的布局布线方案也会产生不同的延时。因此,时序仿真是增加了延时信息后对设计电路的仿真,是仿真电路在器件中实现后,作为实际器件工作的情况。

(4)下载编程

下载编程是将设计实现阶段生成的编程文件装入到目标器件FPGA/CPLD中,也就是将设计电路在具体器件中实现。

(5)器件测试

器件测试就是指器件在编程实现后,可以用编译产生的文件对器件进行校验、加密等工作,当然,利用实验板对器件的性能进行现场测试也是十分必要的。

第二章Verilog设计基础

一、填空题

1.模块

2. module, endmodule

3.模块名字,模块输入输出端口列表

4.输入(input),输出(output),输入输出双向(inout)

5.分号

6.结构描述方式,行为描述方式,数据流描述方式

7.门级原语,已建立好的电路模块

8. wire连线型,reg寄存器型,memory存储器型

9. wire类型

10. reg类型

二、问答题

1.答案:

在实际电路系统中,经常会遇到总线,比如地址总线、数据总线等,它们具有多位数据线。

用Verilog来描述n位总线信号为wire型变量的格式如下:

wire[n-1:0] 信号名1,信号名2,……;

例如:wire[7:0] data; //说明一个8位数据总线data为wire型

用Verilog来描述n位总线信号为reg型变量的格式如下:

reg[n-1:0] 信号名1,信号名2,……;

例如:reg[7:0] a,b;//说明一个8位数据总线a和b为reg型

如果用Verilog来描述n位总线型的输入输出端口,则可以按如下格式定义:

input[n-1:0] 端口1,端口2,……; //说明端口1,端口2,…为n位输入端口

output[n-1:0] 端口1,端口2,……; //说明端口1,端口2,…为n位输出端口

inout[n-1:0] 端口1,端口2,……; //说明端口1,端口2,…为n位双向端口

例如:input[3:0] data; //说明一个4位的输入端口data

output[7:0] q; //说明一个8位的输出端口q

inout[1:0] OUT; //说明一个2位的双向端口OUT

2.答案

wire连线型相当于组合逻辑电路中的各种连接线,其特点是输出的值紧随输入值的变化而变化,不能暂存。verilog HDL模块中的输入输出信号类型默认定义为wire型。程序模块中引用实例元件的输出信号变量以及用“assign”语句赋值的变量,一般地都定义为wire 型。

reg类型定义的是一种能暂存数据的变量,对应的是具有状态保持作用的电路元件,如触发器、寄存器等。程序模块中需要在always过程语句中赋值的变量都须定义为reg型变量。

reg型变量与wire型变量的根本区别就在于:reg型变量在定义时默认的初始值为不定值x,在设计时要求放在always过程语句内部通过过程赋值语句赋予明确的值。如果寄存器变量没有得到新的赋值,它将一直保持原有的值不变。

3.答案

在电路建模过程中如果使用if条件语句,当分支条件表达式值已将控制表达式的所有可能取值都一一列出的话,则else语句项可以省略不写。但如果没有列出所有可能出现的条件分支的话,在进行逻辑综合时编译器认为条件不满足从而引入一个触发器保持原值,在进行组合电路设计过程中,应避免这种触发器的存在。为了保证包含所有的条件分支情况,通常是在if语句最后加上else语句将没有罗列出来的情况统统包含进来。

4.答案

一个case语句中只能有一个default语句项。如果分支表达式值已将控制表达式的所有可能取值都一一列出的话,则default语句项可以省略不写。但由于每一个变量至少有4种取值0、1、z和x,所以一般不可能列出所有的可能取值。如果没有列出所有条件分支的话,在进行逻辑综合时编译器认为条件不满足从而引入一个触发器保持原值,在进行组合电路设计过程中,应避免这种触发器的存在。为了保证包含所有的取值,通常都在case语句的最后加上default语句。如果是用if条件语句建模的话,通常是在if语句最后加上else 语句将没有罗列出来的取值统统包含进来。

5.答案

Verilog HDL支持采用自顶向下的结构化设计方法进行复杂电路系统设计。将一个复杂的系统设计分割成许多较小的、较简单的功能单元模块,这些小模块与大系统相比,设计更容易、测试更简单。对这些小模块分别进行设计和验证通过后,再调用这些小模块嵌套在更大的功能单元模块中进行设计和验证,最后组合为一个完整的电路系统。

在Verilog HDL的层次化设计中调用小单元模块的方法有两种:一种是和调用门原语方法类似的位置映射法;一种是将例化模块的端口名对应信号名的信号映射法。

用位置映射法引用一个模块,需要先在引用语句前面写上这个模块的名字,然后在一个空格后写上此模块引用的实例名,在其后圆括号内按模块端口顺序写上连接到各个端口的信号线名。其引用的语法如下:

模块名实例名(连接端口1的信号名, 连接端口2的信号名,…);

用信号映射法引用一个模块,不必严格遵守端口顺序,只需将所调用的模块端口逐一对应到信号线上列出。信号映射法引用模块的语法如下:

模块名实例名

(

.端口名1(连接端口1的信号名),

.端口名2(连接端口2的信号名),

);

三、操作题

1.(1)结构描述方式

module circuit1(

A,

B,

C,

D,

F

);

input A,B,C,D;

output F;

nand(W1,A,B);

and(W2,B,C,D);

or(F,W1,W2);

endmodule

(2)数据流描述方式

module circuit2(

A,

B,

C,

D,

F

);

input A,B,C,D;

output F;

assign F=(~(A&B))|(B&C&D); endmodule

(3)行为描述方式

module circuit1(

A,

B,

C,

D,

F

);

input A,B,C,D;

output F;

reg F;

always @(A or B or C or D) begin

F=(~(A&B))|(B&C&D);

end

endmodule

2. module tri_circuit(

IN,

E,

OUT

);

input IN,E;

output OUT;

assign OUT=E?IN:1’bz; //若E=1,则OUT=IN;若E=0,则OUT为高阻态 endmodule

3. module 7segLED(

IN,

OUT,

);

input[3:0] IN;

output[6:0] OUT;

always @ (IN)

begin

case(IN)

4’d0:OUT=7’b1111110;

4’d1:OUT=7’b0110000;

4’d2:OUT=7’b1101101;

4’d3:OUT=7’b1111001;

4’d4:OUT=7’b0110011;

4’d5:OUT=7’b1011011;

4’d6:OUT=7’b1011111;

4’d7:OUT=7’b1110000;

4’d8:OUT=7’b1111111;

4’d9:OUT=7’b1111011;

default:OUT=7’bx;

endcase

end

endmodule

第三章组合逻辑电路

一、填空题

1. 两;输入;reg;if-else;case。

2. always;initial。

3. 并行;顺序执行。

4. reg;wire。

5.

(1)0001 0000 0001

(2)0001 0011

(3)0110 0110

(4)0100 0010

(5)0101 0110

(6)1000 0110

7. 电路当前的输出仅取决于当前的输入信号,输出信号随输入信号的变化而改变,与电路原来的状态无关,这种电路无记忆功能。

8. =;<=。

9. 共阴极;共阳极;静态显示;动态显示。

二、判断题

×√×√××√×√

三、问答题

1. (1)4位;(2)寄存器类型;(3)会错,a应该为wire类型变量;(4)4’b1001;(5)1’b0;(6)m=3’b10;

2. 基于硬件描述语言的组合逻辑设计方法如下:

第一步,文字描述的逻辑命题,转换规格书。

首先,分析事件的因果关系,确定输入和输出变量。一般总是把引起事件的原因定为输入变量,把事件引起的结果定为输出变量。

然后,定义逻辑状态的含义。即确定0,1 分别代表输入、输出变量的两种不同状态。

最后,画出电路的结构框图,并且定义好相关信号含义,写出电路规格书。

第二步,根据规格书的要求,用RTL的硬件描述语言描述电路(一般需要通过仿真验证)。第三步,根据已有的库进行综合,得到可以与实际直接对应的网表并最终实现电路。

第4章时序逻辑电路设计

一、填空题

1. 同步电路、异步电路

2. 非阻塞赋值

3. 全局时钟(同步时钟)

4. Mealy型状态机、Moore型状态机

5. 有限状态机

6. Mealy、Moore

7. 时钟沿

8. 有限状态机、Finite State Machine。

二、简答题

1.

答案:

(1)在用Verilog HDL进行数字逻辑设计时,只使用一个主时钟,同时只使用同一个时钟沿(上升沿或下降沿)。

(2)在FPGA设计中,推荐所有输入、输出信号均应通过寄存器寄存,寄存器接口当作异步接口考虑。

(3)当全部电路不能用同步电路思想设计时,即需要多个时钟来实现,则可以将全部电

路分成若干局部电路(尽量以同一时钟为一个模块),局部电路之间接口当异步接口考虑。

(4)电路中所有的寄存器、状态机在上电复位时必须有一个确定的初始态。

(5)电路的实际最高频率不应大于理论最高频率,应留有设计余地。

2.

答案:

异步复位是指在复位信号有效时,系统立即进行复位,而不管时钟信号的状态,在用Verilog HDL的always块描述异步复位时,always块中的敏感信号列表必须包括复位信号,如always@(posedge clk or posedge reset)。

同步复位是指在复位信号和时钟信号同时有效时,系统才进行复位。在用Verilog HDL 的always块描述同步复位时,always块中的敏感信号列表不包含复位信号。

3.

答案:

触发器是时钟沿敏感的器件,而锁存器是电平敏感的器件,在项目设计中,锁存器会带来诸多问题,如额外延时,DFT问题等,因此,在实际设计中必须尽量避免锁存器的出现。

4.

答案:

RS触发器是一种危险的触发器,R=S=1会导致不稳定态,初始状态不确定。在设计时尽量避免采用这种电路。可编程逻辑器件一般选用D触发器来完成设计。

5.

答案:

图中加上虚线部分完整的框图表示的是Mealy型状态机,Mealy型状态机的输出不仅与当前状态有关,而且还与输入信号有关。

去掉图中的虚线部分则表示的是Moore型状态机,Moore型状态机仅仅与当前状态有关,而与输入信号没有直接关系。

6.

答案:

可以确保Mealy型和Moore型状态机输出没有“毛刺”,可以采用以下设计方法:(1)对于Mealy型状态机设计,用时钟同步输出信号;

(2)对于Moore型状态机设计,用时钟同步输出信号;

(3)直接把状态机的状态作为输出信号。

7.

答案:

a)选择Mealy状态机还是Moore状态机

b)构造状态转换图

c)把状态转换图转换为Verilog HDL设计

8.

答案:

(1)组合逻辑输出状态机设计

状态机输出产生输出的逻辑和产生下一状态的逻辑通过一个组合逻辑块来实现。这种设计有两个不利之处在于:组合输出会在两个状态之间形成毛刺,对状态的变化形成干扰;另外由于组合逻辑输出的时延,本来被状态机输出驱动的逻辑块的时钟将会更晚一步到达。(2)寄存器输出状态机设计

与第一种设计方法相比,由时钟同步寄存器输出可以有效消除输出信号的毛刺。并且这种设计方法对于电路综合非常有利,它有效的遏制了由于组合逻辑的恶劣延时而给电路带来的时延问题。但是这种设计方法多用了两个寄存器,使综合电路面积增大,同时要求在作逻辑分析时要格外小心,因为这种设计的“下一个输出”由当前态和输入共同决定。

(3)One-hot编码输出状态机设计

将输出逻辑通过One-Hot编码的方式和当前状态寄存器融合在一起。输出信号未经过额外的逻辑对现态进行译码,而是直接来自状态寄存器,因而输出信号不会产生毛刺,同时减少了直接输出的逻辑,使电路综合面积更小。

三、应用题

答案(略)

FPGA习题集及参考答案

习题集及参考答案 一、填空题 1.一般把EDA技术的发展分为()个阶段。 2.FPGA/CPLD有如下设计步骤:①原理图/HDL文本输入、②适配、③功能仿真、④综合、 ⑤编程下载、⑥硬件测试,正确的设计顺序是①()⑤⑥。 3.在EDA工具中,能完成在目标系统器件上布局布线的软件称为()。 4.设计输入完成之后,应立即对文件进行()。 5.基于硬件描述语言的数字系统设计目前最常用的设计方法称为()设计法。 6.将硬件描述语言转化为硬件电路的过程称为()。 7.IP核在EDA技术和开发中具有十分重要的地位,以HDL方式提供的IP被称为() IP。 8.SOC系统又称为()系统。SOPC系统又称为()系统。 9.将硬核和固核作为()IP核,而软核作为()IP核。 10.IP核在EDA技术和开发中具有十分重要的地位,以HDL方式提供的IP被称为()。 11.HDL综合器就是逻辑综合的过程,把可综合的VHDL/Verilog HDL转化成硬件电路时, 包含了三个过程,分别是()、()、()。 12.EDA软件工具大致可以由五个模块构成,分别是设计输入编辑器、()、()、 ()和()。 13.按仿真电路描述级别的不同,HDL仿真器分为()仿真、()仿真、() 仿真和门级仿真。 14.系统仿真分为()、()和()。 15.()仿真是对设计输入的规范检测,这种仿真通过只能表示编译通过,说明设计 满足一定的语法规范,但不能保证设计功能满足期望。 16.()仿真是对综合后的网表进行的仿真,它验证设计模块的基本逻辑功能,但不 带有布局布线后产生的时序信息,是理想情况下的验证。 17.()仿真是布局布线后进行的后仿真,仿真时考虑了布线延时,和芯片实际的工 作情况更加接近。 18.目前Xilinx公司生产的FPGA主要采用了()配置存储器结构。 19.描述测试信号的变化和测试工程的模块叫做()。 20.现代电子系统设计领域中的EDA采用()的设计方法。 21.有限状态机可分为()状态机和()状态机两类。 22.Verilog HDL中的端口类型有三类:()、()、输入/输出端口。 23.Verilog HDL常用两大数据类型:()、()。 24.FPGA / CPLD设计流程为:原理图/HDL文本输入→()→综合→适配→()→ 编程下载→硬件测试。 25.()是描述数据在寄存器之间流动和处理的过程。 26.连续赋值常用于数据流行为建模,常以()为关键词。 27.Verilog HDL有两种过程赋值方式:()和()。 28.`timescale 1ns/100ps中1ns代表(),100ps代表()。 29.未来的集成电路技术的发展趋势,把整上系统集成在一个芯片上去,这种芯片被称为 ()。 30.从互连结构上可将PLD分为确定型和统计型两类。确定型结构的代表是(),

FPGA试卷+答案+超详细解答

20XX—20XX学年度第(X)学期期末考试试卷科目:<>(X)卷 考试形式:闭卷考试时间:100 分钟 院(系)别、班级:姓名:学号: 试题区:(试题区必须与答题区同时交回,含答题纸、试题纸、草稿纸的装订试卷不能分拆)一、单项选择题:(20分) 1.在VHDL语言中,下列对进程(PROCESS)语句的语句结构及语法规则的描述中,不正确的是___C___。 A.PROCESS为一无限循环语句;敏感信号发生更新时启动进程,执行完成后, 等待下一次进程启动。 B.敏感信号参数表中,不一定要列出进程中使用的所有输入信号; C.进程由说明部分、结构体部分、和敏感信号三部分组成; (进程由声明语句、顺序语句、敏感信号列表组成) D.当前进程中声明的变量不可用于其他进程。 2.在一个VHDL设计中idata是一个信号,数据类型为integer,数据范围0 to 127,下面哪个赋值语句是正确的___C___。(信号赋值符号 <= ) A.idata := 32; B.idata <= 16#A0#; (十进制数为:10*16= 160,idata范围为0~127) C.idata <= 16#7#E1;(十进制数为:7*16^1= 112) D.idata := B#1010#;

3.大规模可编程器件主要有FPGA、CPLD两类,下列对FPGA结构与工作原理的描述中,正确的是___C___。 A.FPGA是基于乘积项结构的可编程逻辑器件; (FPGA芯片基于查找表的可编程逻辑结构) B.FPGA是全称为复杂可编程逻辑器件; (FPGA 现场可编程逻辑门阵列,CPLD才是复杂可编程逻辑器件) C.基于SRAM的FPGA器件,在每次上电后必须进行一次配置; D.在Altera公司生产的器件中,MAX7000系列属FPGA结构。 (MAX7000系列属CPLD结构) 4.进程中的变量赋值语句,其变量更新是___A___。 (变量(variable)是立即完成的,信号(signal)有延时) A.立即完成; B.按顺序完成; C.在进程的最后完成; D.都不对。 5.VHDL语言是一种结构化设计语言;一个设计实体(电路模块)包括实体与结构体两部分,结构体描述___D___。(结构体实现实体的功能,通过对实体的逻辑功能进行描述) A.器件外部特性; B.器件的综合约束; C.器件外部特性与内部功能; D.器件的内部功能。 6.CASE语句是___A___。(case语句时顺序语句中最重要最常用的顺序语句) A. 顺序语句 B. 并行语句 C. 其它 D.组合逻辑控制电路语句 7. LIBRARY ___A___; --库的声明 USE IEEE.STD_LOGIC_1164.ALL; --库的引用,引用IEEE库中的std_logic_1164中的所有项目A. IEEE B. STD C.WORK D.ENTITY counter IS

FPGA试卷+答案+超详细解答

广东技术师范学院电子与信息学院10应用电子技术教育2班 20XX—20XX学年度第(X)学期期末考试试卷科目:<>(X)卷 考试形式:闭卷考试时间:100 分钟 院(系)别、班级:姓名:学号: 试题区:(试题区必须与答题区同时交回,含答题纸、试题纸、草稿纸的装订试卷不能分拆) 一、单项选择题:(20分) 1.在VHDL语言中,下列对进程(PROCESS)语句的语句结构及语法规则的描述中,不正确的是___C___。 A.PROCESS为一无限循环语句;敏感信号发生更新时启动进程,执行完成后, 等待下一次进程启动。 B.敏感信号参数表中,不一定要列出进程中使用的所有输入信号; C.进程由说明部分、结构体部分、和敏感信号三部分组成; (进程由声明语句、顺序语句、敏感信号列表组成) D.当前进程中声明的变量不可用于其他进程。 2.在一个VHDL设计中idata是一个信号,数据类型为integer,数据范围0 to 127,下面哪个赋值语句是正确的___C___。(信号赋值符号 <= ) A.idata := 32; B.idata <= 16#A0#; (十进制数为:10*16= 160,idata范围为0~127) C.idata <= 16#7#E1;(十进制数为:7*16^1= 112) D.idata := B#1010#;

3.大规模可编程器件主要有FPGA、CPLD两类,下列对FPGA结构与工作原理的描述中,正确的是___C___。 A.FPGA是基于乘积项结构的可编程逻辑器件; (FPGA芯片基于查找表的可编程逻辑结构) B.FPGA是全称为复杂可编程逻辑器件; (FPGA 现场可编程逻辑门阵列,CPLD才是复杂可编程逻辑器件) C.基于SRAM的FPGA器件,在每次上电后必须进行一次配置; D.在Altera公司生产的器件中,MAX7000系列属FPGA结构。 (MAX7000系列属CPLD结构) 4.进程中的变量赋值语句,其变量更新是___A___。 (变量(variable)是立即完成的,信号(signal)有延时) A.立即完成; B.按顺序完成; C.在进程的最后完成; D.都不对。 5.VHDL语言是一种结构化设计语言;一个设计实体(电路模块)包括实体与结构体两部分,结构体描述___D___。(结构体实现实体的功能,通过对实体的逻辑功能进行描述) A.器件外部特性; B.器件的综合约束; C.器件外部特性与内部功能; D.器件的内部功能。 6.CASE语句是___A___。(case语句时顺序语句中最重要最常用的顺序语句) A. 顺序语句 B. 并行语句 C. 其它 D.组合逻辑控制电路语句 7.LIBRARY ___A___; --库的声明 USE IEEE.STD_LOGIC_1164.ALL; --库的引用,引用IEEE库中的std_logic_1164中的所有项目A. IEEE B. STD C.WORK D.ENTITY counter IS

EDA复习题(含答案)

1.可编程逻辑器件在现代电子设计中越来越重要,请问:你所知道的可编程逻辑器件有哪些?目前最常用的两种器件是什么?其结构特征如何? 答:按可编程逻辑器件的发展,有简单PLD器件(包括PLA、PAL、GAL、CPLD、FPGA等)和复杂PLD器件两大类。目前最常用的两种复杂PLD器件是CPLD和FPGA。CPLD即复杂可编程逻辑器件,其结构是基于ROM的乘积项的可编程结构,而FPGA 是现场可编程门阵列器件,其结构基于可编程的查找表。 2.简述FPGA等可编程逻辑器件设计流程 答:FPGA等可编程逻辑器件的设计流程即现代EDA设计的流程,主要包括设计输入、逻辑与结构综合、时序与功能仿真、编程下载、硬件测试等步骤。(或绘流程图说明) 3.一个设计实体由哪几个基本部分组成?它们的作用如何? 答:(1)库与程序包部分:使实体所用资源可见;(2)实体部分:设计实体的外部特征描述;(3)结构体部分:设计实体的部电路结构或功能描述。 4.进程语句是如何启动的? 答:进程由敏感信号列表中的敏感信号的变化启动。有两种格式:一种是 PROCESS(敏感信号表)IS,一种是PROCESS WAIT UNTILL 敏感信号 5.过程与函数的区别体现在哪些方面? 答:相同点:过程与函数都属于子程序,;都需要先定义后使用;都允许调用;都可以重载。但也有不同:(1)过程调用时作为一个独立的语句出现,函数调用时只能作为一个语句元素出现;(2)函数调用的结果是返回一个函数值,过程调用的结果是执行过程体中的顺序语句。 6.过程可以定义在一个VHDL程序的那些位置?函数可以定义在一个VHDL程序的那些位置? 7.VHDL是强类型语言还是弱类型语言?若数据类型不一致能否进行数据操作?如能,如何实现? 答:强类型语言,即只有同类型的数据能够直接进行数据操作。若数据类型不一致不能进行直接数据 操作,但能够通过类型转换函数等方法转换为同类型数据后进行操作。 8. 有限状态机适用于什么数字系统的设计?有何优点? 答:有限状态机适用于具有顺序控制特征的数字系统设计,一般作为系统的控制部分。具有结构模式简单、结构清晰、易优化、可靠性高、可实现高速控制等优点。 9.详细讨论并用示例说明with_select语句和case语句的异同点。 相同点:(1)描述完全条件;(2)条件的列出要求一致;… 不同点:(1)with_select是并行语句,case是顺序语句;(2)格式上,with_select语句只有最后一个子句分隔符用分号“;”,前面所有子句用逗号“;”。case语句的所有子句分隔符都用分号“;”;… 10.传统设计方法和EDA设计方法的主要的不同点? 传统设计方法:自下而上(Bottom - up)的设计方法,是以固定功能元件为基础,基于电路板的设计方法。 EDA方法:自上而下(Top - Down)的设计方法。其方案验证与设计、系统逻辑综合、布局布线、性能仿真、器件编程等均由 EDA工具一体化完成。 11.现代数字系统常用设计方法有哪些? 自顶向下(Top--down)设计,自低向下(Bottom--up)设计,IP复用技术与SoC(片上系统。 12.VHDL语言可以把任意复杂的电路系统视作一个模块,一个模块可主要分为哪三个组成部

FPGA习题答案

FPGA/CPLD应用技术(Verilog语言版) 第一章认识数字系统设计开发环境: 一、填空题 1. (1)11001,19 (2)45,2D (3)111111,63 2. 建立工程;输入设计;编译工程;设计仿真;器件编程 3. Altera 4. 可编程只读存储器PROM(Programmable Read Only Memory) 可编程逻辑阵列PLA(Programmable Logic Array) 可编程阵列逻辑PAL(Programmable Array Logic) 通用阵列逻辑器件GAL(Generic Array Logic) 可擦除可编程逻辑器件EPLD(Erasable Programmable Logic Device) 复杂可编程逻辑器件CPLD(Complex Programmable Logic Device) 现场可编程门阵列FPGA(Field Programmable Gate Array) 5. 低密度可编程逻辑器件(LDPLD)、高密度可编程逻辑器件(HDPLD) 6. “与或阵列”、“门阵列”、“与或阵列” 7. 输入电路、与阵列、或阵列、输出电路 8. 可编程功能单元、可编程I/O引脚、可编程布线资源和片内存储块RAM 9. 电子设计自动化、Electronic Design Automatic 10. 硬件描述语言、Hardware Description Language 11. Programmable Read Only Memory Programmable Logic Array可编程逻辑阵列 Programmable Array Logic可编程阵列逻辑 Generic Array Logic通用阵列逻辑器件 Erasable Programmable Logic Device可擦除可编程逻辑器件 Complex Programmable Logic Device复杂可编程逻辑器件 Field Programmable Gate Array现场可编程门阵列 超高速硬件描述语言Very-High-Speed Hardware Description Language In System Programming 在系统可编程 Look-Up Table 查找表 Programmable Logic Device 可编程逻辑器件 Logic Array Blocks 逻辑阵列块 Computer Aided Design 计算机辅助设计技术CAD 12. 写出下列英文单词的中文意思。 (1)工程、项目(2)向导

fpga第六章作业及答案

第6章PPT课件作业 1.顺序语句和并行语句分别有哪些?顺序语句和并行语句主要有什么区别? 答:顺序执行语句是顺序执行的,只能出现在进程和子程序中,用于定义进程的算法。顺序描述语句主要有:信号赋值语句、变量赋值语句、if语句、case语句、wait语句和null语句。结构体中的并行语句主要有6种:并行信号赋值语句、进程语句、块语句、元件例化语句、生成语句、并行过程调用语句; 区别主要在于:在执行顺序上,顺序语句是顺序执行的,if语句一定要在顺序结构中,有优先级;并行语句在结构体内是并行执行的。在赋值上,顺序语句可对变量和信号赋值,并行语句的赋值目标必须为信号或端口,在结构体的进程之外使用。 2.阅读下面的程序,分析其实现的逻辑功能,并说明是时序逻辑还是组合逻辑 library ieee; Use ieee.std_logic_1164.all; Entity decoder is Port (a : in std_logic_vector(9 downto 0); c : out integer range 0 to 9); end Entity decoder ; architecture one of decoder is begin with a select c<=0 when “0000000001” , 1 when “0000000010” , 2 when “0000000100” , 3 when “0000001000” , 4 when “0000010000” , 5 when “0000100000” , 6 when “0001000000” , 7 when “0010000000” , 8 when “010*******” , 9 when “1000000000” , 0 when others ; end architecture one; 答:功能:是10位2进制的部分译码器。由1出现的位置来决定译码器输出的是数字几。当右边的第一位是一时,输出0,第二位是1时输出1,以此类推直到输出9.其余的编码都是输出0。由于没有用到ckl所以使用的是组合逻辑。 3.结构体的描述方式有几种方式?各有什么特点? 答:结构体有三种描述方式,即行为级描述:是对整个设计单元的数学模型描 述,属于一种高层次描述方式;数据流级描述:采用进程语句控制数据流在控

第一 二章作业题(参考答案)汇总

第一章引论(Introduction) 1.知识要点 数字电路的发展及其在信息技术领域中的地位;数字信号与模拟信号之间的关系及数字信号的基本特点;数字系统输入/输出特性及其逻辑特点,数字逻辑电路(Digital Logic Circuit)的主要内容。 重点: 1.数字信号(Digital Signal)与模拟信号(Analog Signal)之间的关系; 2.数字信号的基本特点; 3.数字系统(Digital System)输入/输出特性及其逻辑特点。 难点: 1.数字信号的基本特点; 2.数字系统的特点。 数字信号只在离散时刻(观测时刻)变化;其取值也是离散的,即数字信号只能取有限种不同的值,为方便电路中处理,这些数值可以用二进制(Binary Number)表达(0,1)。 数字系统的特点: (1)只需考虑观测时刻的输入/输出关系,无须考虑其连续的变化; (2)只需考虑有限的信号取值,不考虑其中间值; (3)任何时刻一根输入/输出线上的状态只能为0或1,所以输入/输出具有有限状态,输入-输出的关系可以采用有限表格进行表达; (4)对于输出的讨论只是考虑在哪些输入条件下输出会等于0,哪些条件下会等于1,于是输入-输出关系体现为逻辑关系。 2.Exercises 1.1 Define the following acronyms: ASIC, CAD, CD, CO, CPLD, DIP, DVD, FPGA, HDL, IC, IP, LSI, MCM, MSI, NRE, PBX, PCB, PLD, PWB, SMT, SSI, VHDL, VLSI. ASIC: Application Specific Integrated Circuit,专用集成电路 CAD: Computer Aided Design,计算机辅助设计 CD: Compact Disc,原意: 紧凑型小唱片,即CD光盘 CO: Central Office,中央局,中心站,交换机(也可作Carry Out,进位输出) CPLD: Complex Programmable Logic Device,复杂可编程逻辑器件 DIP: Dual Inline-pin Package,双列直插式封装 DVD: Digital Versatile Disc,数字通用光盘 FPGA: Field Programmable Gate Array,现场可编程门阵列 HDL: Hardware Description Language,硬件描述语言 IC: Integrated Circuit,集成电路 IP: Internet Protocol,因特网协议(也可作Intellectual Property,知识产权)

FPGA网络作业及答案解析

试题1: 1 计算机辅助设计的英文首字母缩写是 CAD 。 2 计算机辅助工程的英文首字母缩写是 CAE 。 3 电子设计自动化的英文首字母缩写是 EDA 。 4 ASIC是专门为某一应用领域或某一专门用户需要而设计制 5 ASIC分为数字ASIC和模拟ASIC两大类。 6 数字ASIC包括全定制ASIC和半定制ASIC。 7 半定制 ASIC 8 FPGA器件的全称是现场可编程门阵列。 9 FPGA器件是一种新型的高密度可编程逻辑器件PLD。 编程内部连线三部分。 11 按逻辑功能块的大小,FPGA和粗粒度FPGA。

12 从逻辑功能块的结构上,FPGA可分为查找表结构、多路开关结构和多级与非门三种结构。 14 根据编程方式,FPGA 15 绝大多数的FPGA器件都采用了基于 构。 16 CLB 是FPGA的主要组成部分,是实现逻辑功能的基本单元。 17 IOB 提供了器件引脚和内部逻辑阵列之间的连接,通常排列在芯片的四周。 18 可编程互连资源(IR)包括各种长度的金属连线线段和一些可编程连接开关,它们将各个CLB之间和CLB与IOB之间互相连接起来,构成各种复杂功能的系统。 特征:采用通用的逻辑元器件、在系统硬件设计的后期进行仿真和调试、主要设计文件是电原理图。

要特点:电路设计更趋合理、采用系统(早期)仿真、降低了硬件电路设计难度、主要设计文件是用 HDL 语言编写的源程序。 22 利用HDL语言对系统硬件电路的自上而下设计一般分为三 23 行为描述是对整个系统的数学模型的描述。 24 逻辑综合是利用逻辑综合工具,可将 RTL方式描述的程序转换成用基本逻辑元件表示的文件,即门级网络表。 25高密度复杂可编程逻辑器件的设计流程分七个步骤:它包括设计准备、设计输入、功能仿真、设计处理、时序仿真和器件编程、测试。 后仿真或延时仿真。 27设计处理是器件设计中的核心环节。在设计处理过程中,编译软件将对设计输入文件进行逻辑化简综合优化和适配,最后产生编程用的编程文件。

FPGA作业

习题一 1 使用`timescale 编译器指令的目的是什么? 答:指定延时时间单位,及时间精度。如` timescale 1ns /100ps表示时间单位为1ns,时间精度为0.1ns。 2 写出产生下图所示波形的变量BullsEye的初始化语句。 答:32b’0010 0000 0000 1111 1111 1100 1110 0000 3 使用数据流描述方式编写下图所示的异或逻辑的Verilog HDL描述,并使用规定的 时延。 答:`timescale 1ns/100ps moduleyihuo(out,a,b); input a, b; output out; wireaf,bf,abf,afb,out; always @( a or b) assign #1 af=~a; assign #1 bf =~b; assign #6 abf = a&bf; assign #6 afb = af&b; assign #10 out=abf|afb; endmodule 4下列表达式的位模式是什么? 7'o44八进制, 'Bx0二进制, 5'bx110二进制, 'hA0十六进制, 10'd2十进制, 'hzF十六进制 习题二 1.说明参数GATE_DELAY, 参数值为5。 答:parameter GATE_DELAY = 5; 2.假定长度为64个字的存储器, 每个字8位,编写Verilog 代码,按逆序交换存储 器的内容。即将第0个字与第63个字交换,第1个字与第62个字交换,依此类推。 答:reg[7:0]Mem[63:0]; inti = 0; reg[7:0]temp; always @(i< 31)

EDA第一章作业习题及答案

EDA习题 第一章 1.1 EDA的英文全称是什么?EDA的中文含义是什么? 答:EDA即Electronic Design Automation的缩写,直译为:电子设计自动化。 1.2 什么叫EDA技术? 答:EDA技术有狭义和广义之分,狭义EDA技术就是以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方式,以计算机、大规模可编程逻辑器件的开发软件及实验开发系统为设计工具,通过有关的开发软件,自动完成用软件的方式设计的电子系统到硬件系统的逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、逻辑布局布线、逻辑仿真,直至完成对于特定目标芯片的适配编译、逻辑映射、编程下载等工作,最终形成集成电子系统或专用集成芯片的一门新技术,或称为IES/ASIC自动设计技术。 1.3 利用EDA技术进行电子系统的设计有什么特点? 答:①用软件的方式设计硬件;②用软件方式设计的系统到硬件系统的转换是由有关的开发软件自动完成的;③设计过程中可用有关软件进行各种仿真;④系统可现场编程,在线升级;⑤整个系统可集成在一个芯片上,体积小、功耗低、可靠性高。 1.4 从使用的角度来讲,EDA技术主要包括几个方面的内容?这几个方面在整个电子系统的设计中分别起什么作用? 答:EDA技术的学习主要应掌握四个方面的内容:①大规模可编程逻辑器件;②硬件描述语言;③软件开发工具;④实验开发系统。其中,硬件描述语言是重点。 对于大规模可编程逻辑器件,主要是了解其分类、基本结构、工作原理、各厂家产品的系列、性能指标以及如何选用,而对于各个产品的具体结构不必研究过细。 对于硬件描述语言,除了掌握基本语法规定外,更重要的是要理解VHDL的三个“精髓”:软件的强数据类型与硬件电路的惟一性、硬件行为的并行性决定了VHDL语言的并行性、软件仿真的顺序性与实际硬件行为的并行性;要掌握系统的分析与建模方法,能够将各种基本语法规定熟练地运用于自己的设计中。 对于软件开发工具,应熟练掌握从源程序的编辑、逻辑综合、逻辑适配以及各种仿真、硬件验证各步骤的使用。 对于实验开发系统,主要能够根据自己所拥有的设备,熟练地进行硬件验证或变通地进行硬件验证。 1.5 什么叫可编程逻辑器件(简称PLD)?FPGA和CPLD的中文含义分别是什么?国际上生产FPGA/CPLD的主流公司,并且在国内占有较大市场份额的主要有哪几家?其产品系列有哪些?其可用逻辑门/等效门数大约在什么范围? 答:可编程逻辑器件(简称PLD)是一种由用户编程以实现某种逻辑功能的新型逻辑器件。 FPGA和CPLD分别是现场可编程门阵列和复杂可编程逻辑器件的简称。 国际上生产FPGA/CPLD的主流公司,并且在国内占有市场份额较大的主要是Xilinx,

2010年FPGA大作业试题

2010年《基于FPGA的数字信号处理技术》 课程结业大作业试题 一、笔答部分(60分) 1、请讨论SRAM-FPGA、反熔丝FPGA、EEPROM的CPLD的结构特征,并 指出:(5分) (1)在相同规模的条件下,哪一种可能的资源利用率最高,为什么? (2)在相同的逻辑实现条件下,哪一种逻辑实现时的电路时延可估算性最好。为什么? (3)在相同的资源利用的条件下,FPGA和CPLD,哪一种复杂逻辑的实现灵活性好,为什么? 2、在采用FPGA或CPLD作为目标器件,来实现你的逻辑设计时,其选择的原 则是什么,主要从哪几个限制因素去考虑。(5分) 3、流水线技术提高系统处理速度同时也会造成输出滞后,并且需要额外的寄存 器资源。因此有人认为,如果用FPGA来实现电路逻辑,宜采用流水线方式,而如使用CPLD来实现路逻辑,往往不必采用流水线方式,为什么?(5分) 4、请叙述几种FPGA设计优化措施,说明其原理。(5分) 5、请简述影响功耗的因素。给出几种FPGA设计过程中将低功耗的方法。(5分) 6、请简述如何保证FPGA的设计收敛?(5分) 7、从Xilinx或Altera公司的产品中任选一款嵌入式微处理器,请说明该处理器 结构、性能、片上总线结构,及嵌入式系统开发流程与环境。(8分) 8、以Xilinx或Altera的FPGA芯片为例,说明一下其各种配置方式以及配置过 程。(5分) 9、请说一下你是如何理解ASIC、FPGA、结构化ASIC的。(5分) 10、请解释FPGA为什么适合DSP应用?并请举例说明。(7分) 11、请查阅Xilinx或Altera公司最新系列FPGA,说明其最新特性、资源、 系列、结构特点、应用领域等。(5分)

FPGA应用设计考试试卷+答案+超详细解答

试题区:(试题区必须与答题区同时交回,含答题纸、试题纸、草稿纸的装订试卷不能分拆) 一、单项选择题:(20分) 1.在VHDL语言中,下列对进程(PROCESS)语句的语句结构及语法规则的描述中,不正确的是___C___。 A.PROCESS为一无限循环语句;敏感信号发生更新时启动进程,执行完成后,等待下 一次进程启动。 B.敏感信号参数表中,不一定要列出进程中使用的所有输入信号; C.进程由说明部分、结构体部分、和敏感信号三部分组成; (进程由声明语句、顺序语句、敏感信号列表组成) D.当前进程中声明的变量不可用于其他进程。 2.在一个VHDL设计中idata是一个信号,数据类型为integer,数据范围0 to 127,下面哪个赋值语句是正确的___C___。(信号赋值符号 <= ) A.idata := 32; B.idata <= 16#A0#; (十进制数为:10*16= 160,idata范围为0~127) C.idata <= 16#7#E1;(十进制数为:7*16^1= 112) D.idata := B#1010#; 3.大规模可编程器件主要有FPGA、CPLD两类,下列对FPGA结构与工作原理的描述中,正确的是___C___。 A.FPGA是基于乘积项结构的可编程逻辑器件; (FPGA芯片基于查找表的可编程逻辑结构) B.FPGA是全称为复杂可编程逻辑器件; (FPGA 现场可编程逻辑门阵列,CPLD才是复杂可编程逻辑器件)

C.基于SRAM的FPGA器件,在每次上电后必须进行一次配置; D.在Altera公司生产的器件中,MAX7000系列属FPGA结构。 (MAX7000系列属CPLD结构) 4.进程中的变量赋值语句,其变量更新是___A___。 (变量(variable)是立即完成的,信号(signal)有延时) A.立即完成; B.按顺序完成; C.在进程的最后完成; D.都不对。 5.VHDL语言是一种结构化设计语言;一个设计实体(电路模块)包括实体与结构体两部分,结构体描述___D___。(结构体实现实体的功能,通过对实体的逻辑功能进行描述) A.器件外部特性; B.器件的综合约束; C.器件外部特性与内部功能; D.器件的内部功能。 6.CASE语句是___A___。(case语句时顺序语句中最重要最常用的顺序语句) A. 顺序语句 B. 并行语句 C. 其它 D.组合逻辑控制电路语句 7.LIBRARY ___A___; --库的声明 USE IEEE.STD_LOGIC_1164.ALL; --库的引用,引用IEEE库中的std_logic_1164中的所有项目A. IEEE B. STD C.WORK D.ENTITY counter IS 8.下列标识符中,___B___是不合法的标识符。(标识符开头必须是英文字符) A. State0 B. 9moon C. Not_Ack_0 D. signall 9.关于VHDL中的数字,请找出以下数字中最大的一个:___A___。(整型数字的表示)

相关文档