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. “与或阵列”、“门阵列”、 “与或阵列”
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步:①建立工程;②输入设计;③编译工程;④设计仿真;⑤器件编程,任务实现基本流程如图T1.2所示。
图T1.2 设计步骤
3.
答案:如图T1.3
图T1.3 可编程逻辑器件的分类
4. 画出4选1数据选择器的输入输出结构及真值表。
答案:如图T1.4和表T1.1所示。
图T1.4 4选1数据选择器
表T1.1 4选1数据选择器真值表
控制选择端 | 输出 |
S1 S0 | F |
00 01 10 11 | P0 P1 P2 P3 |
| |
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) 设计实现
设计电路的逻辑功能验证正确后,可以进入电路的设计实现环节了。设计实现是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位输出端口