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所示。
约束输入 完成约束的输入;如速度约束、面积与速度的优先关系、引脚设置设计输入可以有多种形式 设计输入 完成设计的输入;设计输入可以有多种形式 文本编辑器 块与符号编辑器 宏向导插件管理器 分配编辑器 引脚规划器 设置对话框 布局图编辑器 设计分割窗口 分析和综合器 RTL查看器 辅助工具 布局布线器 分配编辑器 布局图编辑器 增量布局连线工具 芯片编辑器 Fitter工具 时序分析 报告窗口
技术映射查看器 仿真器
波形编辑器 汇编器 编程器
转换编程文件
综合 完成设计综合,生成综合网表文件 布局布线 完成综合网表文件到器件的布局布线 时序分析 完成综合后电路的时序分析 仿真 完成电路的仿真,包括功能仿真和时序仿真两种工具 器件编程与配置 完成生成器件下载文件 图T1.1 Quartus II软件的完整设计流程
2.
答案:共包括以下5步:①建立工程;②输入设计;③编译工程;④设计仿真;⑤器件编程,
任务实现基本流程如图T1.2所示。
3.
答案:如图T1.3
建立工程文件 输入设计文件 (原理图或其它) 工程编译查错 有错? N 软件仿真(功能、时序) Y 有错? N 选择器件、分配引脚 Y 工程编译查错 有错? N 器件编程 Y 图T1.2 设计步骤
可编程逻辑器件(PLD)低密度可编程逻辑器件(LDPLD)高密度可编程逻辑器件(HDPLD)PROMPLAPALGALEPLDCPLDFPGA 图T1.3 可编程逻辑器件的分类
4. 画出4选1数据选择器的输入输出结构及真值表。 答案:如图T1.4和表T1.1所示。
控制选择端 S0 S1 P0
输入
P1 P2 P3
F 输出
图T1.4 4选1数据选择器
表T1.1 4选1数据选择器真值表
控制选择端 S1 S0 00 01 10 11 输出 F 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) 设计实现
设计电路的逻辑功能验证正确后,可以进入电路的设计实现环节了。设计实现是