FPGA习题答案Word文件下载.docx
《FPGA习题答案Word文件下载.docx》由会员分享,可在线阅读,更多相关《FPGA习题答案Word文件下载.docx(16页珍藏版)》请在冰豆网上搜索。
ProgrammableLogicArray可编程逻辑阵列
ProgrammableArrayLogic可编程阵列逻辑
GenericArrayLogic通用阵列逻辑器件
ErasableProgrammableLogicDevice可擦除可编程逻辑器件ComplexProgrammableLogicDevice复杂可编程逻辑器件FieldProgrammableGateArray现场可编程门阵列
Very-High-SpeedHardwareDescriptionLanguage超高速硬件描述语言
InSystemProgramming在系统可编程
Look-UpTable查找表
ProgrammableLogicDevice可编程逻辑器件
LogicArrayBlocks逻辑阵列块
ComputerAidedDesign计算机辅助设计技术CAD
12.写出下列英文单词的中文意思。
(1)工程、项目
(2)
向导
(3)器件
(4)
封装
(5)管脚
(6)
系列
(7)原理图
(9)块
(11)输入
(13)编译
(15)分析
(17)装配、布局
(19)报告
(21)节点
(23)功能的
(25)分配
(27)互连
(29)乘积项
(8)图表
(10)符号
(12)输出
(14)信息
(16)综合
(18)汇编、装配
(20)波形
(22)仿真器
(24)时序的
(26)熔丝
(28)宏单元
(30)进位
、问答题
1.画出QuartusII软件的完整设计流程。
答案:
如图T1.1所示。
设计输入
完成设计的输入;
设计输入可以
有多种形式
文本编辑器
块与符号编辑器宏向导插件管理器
约束输入
完成约束的输入;
如速度约束、面积与速度的优先关系、引脚设置设计输入可以有多种形式
分配编辑器引脚规划器设置对话框布局图编辑器设计分割窗口
综合
完成设计综合,生成综合网表文件
布局布线
完成综合网表文件到器件的布局
布线
时序分析
完成综合后电路的时序分析
分析和综合器
RTL查看器
辅助工具
布局布线器
分配编辑器布局图编辑器增量布局连线工具芯片编辑器
Fitter工具
报告窗口
技术映射查看器
仿真
完成电路的仿真,包括功能仿真和时序仿真两种工具
器件编程与配置完成生成器件下载文件
仿真器
波形编辑器
汇编器
编程器
转换编程文件
图T1.1QuartusII软件的完整设计流程
2.
共包括以下5步:
①建立工程;
②输入设计;
③编译工程;
④设计仿真;
⑤器件编程,
任务实现基本流程如图T1.2所示。
建立工程文件
输入设计文件(原理图或其它)
V
工程编译查错
软件仿真(功能、时序)
选择器件、分配引脚
图T1.2设计步骤
3.
如图T1.3
可编程逻辑器件(PLD)
低密度可编程逻辑器件
高密度可编程逻辑器件
(LDPLD)
(HDPLD)
图T1.3可编程逻辑器件的分类
4.画出4选1数据选择器的输入输出结构及真值表。
如图T1.4和表T1.1所示。
控制选择端
SOS1
输出
图T1.44选1数据选择器
表T1.14选1数据选择器真值表
S1S0
F
00
P0
01
P1
10
P2
11
P3
5.简述FPGA的一般设计流程。
FPGA/CPLD进行电路设计的过程是指在计算机上利用EDA工具软件对FPGA/CPLD
器件进行开发设计的过程,一般包括设计准备、设计输入、功能仿真、设计实现、时序仿真、下载编程和器件测试七个步骤。
(1)设计准备
设计准备阶段是FPGA/CPLD进行电路设计的第一步,包括方案论证、系统设计、器件选择等工作。
(2)设计输入
设计输入阶段就是设计者将设计电路以某种方式输入到计算机中。
设计输入通常有以下
几种方式:
原理图输入方式、HDL硬件描述语言输入方式、波形输入方式、层次设计输入
方式、状态机图表输入方式等,前两种是比较常用的输入方式,下面分别简单介绍。
原理图输入方式与传统的原理图设计类似,用最直接的图形化的方式描述设计电路,使用工具软件提供的元件库中的符号,用连线画出原理图。
这种输入方式是大家最习惯的方式,直观简单,便于仿真,但原理图设计效率低,对设计人员要求高。
HDL硬件描述语言输入方式是用文本方式输入设计电路,是EDA设计的基本特征之一。
目前常用的硬件描述语言有VHDL(VeryHighspeedDescriptionLanguage)、Verilog-HDL等。
因为语言与工艺无关,采用这种方式输入设计电路,设计人员对底层电路和PLD结构不必
太熟悉,而且便于实现大规模系统的设计;
缺点是硬件描述语言必须依赖综合器,综合器的
好坏直接影响到生成电路的质量。
(1)功能仿真
功能仿真也称为前仿真。
在编译之前对设计的电路进行逻辑功能验证,初步检测电路功能是否正确。
仿真时首先要建立波形文件或测试向量,仿真结果一般是输出信号波形和报告
文件等。
(2)设计实现
设计电路的逻辑功能验证正确后,可以进入电路的设计实现环节了。
设计实现是
FPGA/CPLD进行电路设计的关键步骤,工具软件将对设计输入文件(原理图或文本等)进行逻辑化简、综合优化和适配,最后产生编程下载需要的编程文件。
(3)时序仿真
时序仿真一般称为后仿真,是把设计电路与具体实现器件(FPGA/CPLD)结合起来的仿真。
因为不同的器件内部延时不一样,不同的布局布线方案也会产生不同的延时。
因此,时序仿真是增加了延时信息后对设计电路的仿真,是仿真电路在器件中实现后,作为实际器件工作的情况。
(4)下载编程
下载编程是将设计实现阶段生成的编程文件装入到目标器件FPGA/CPLD中,也就是将设计电路在具体器件中实现。
(5)器件测试
器件测试就是指器件在编程实现后,可以用编译产生的文件对器件进行校验、加密等工作,当然,利用实验板对器件的性能进行现场测试也是十分必要的。
第二章Verilog设计基础
1.模块
2.module,endmodule
3.模块名字,模块输入输出端口列表
4.输入(input),输出(output),输入输出双向(inout)
5.分号
6.结构描述方式,行为描述方式,数据流描述方式7.门级原语,已建立好的电路模块
&
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:
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:
//说明端口1,端口2,…为n位双向端口
input[3:
//说明一个4位的输入端口data
output[7:
0]q;
//说明一个8位的输出端口qinout[1:
0]OUT;
//说明一个2位的双向端口OUT2.答案
wire连线型相当于组合逻辑电路中的各种连接线,其特点是输出的值紧随输入值的变化而变化,不能暂存。
verilogHDL模块中的输入输出信号类型默认定义为wire型。
程序模块中引用实例元件的输出信号变量以及用“assign”语句赋值的变量,一般地都定义为wire
型。
reg类型定义的是一种能暂存数据的变量,对应的是具有状态保持作用的电路元件,如触发器、寄存器等。
程序模块中需要在always过程语句中赋值的变量都须定义为reg型变量。
reg型变量与wire型变量的根本区别就在于:
reg型变量在定义时默认的初始值为不定值
X,在设计时要求放在always过程语句内部通过过程赋值语句赋予明确的值。
如果寄存器变
量没有得到新的赋值,它将一直保持原有的值不变。
3.答案
在电路建模过程中如果使用if条件语句,当分支条件表达式值已将控制表达式的所有可能取值都一一列出的话,则else语句项可以省略不写。
但如果没有列出所有可能出现的条件分支的话,在进行逻辑综合时编译器认为条件不满足从而引入一个触发器保持原值,在
进行组合电路设计过程中,应避免这种触发器的存在。
为了保证包含所有的条件分支情况,通常是在if语句最后加上else语句将没有罗列出来的情况统统包含进来。
4.答案
一个case语句中只能有一个default语句项。
如果分支表达式值已将控制表达式的所有可能取值都一一列出的话,则default语句项可以省略不写。
但由于每一个变量至少有4种