FPGA考试 下载本文

《硬件描述语言及FPGA设计》复习要点:

一、名词解释

设计方法:自顶向下和自底向上,以自顶向下为主要设计。

综合:指的是将较高级抽象层次的设计描述自动转化为较低层次的描述过程。

EDA(Electronic Design Automation)电子设计自动化:就是以计算机为工作平台,以EDA软件工具为开发环境,以PLD器件或者ASIC专用集成电路为目标器件设计实现电路系统的一种技术。

1.EDA :电子设计自动化 2.HDL :硬件描述语言

3.SoC:系统芯片。把一个功能完整的系统集成在一个芯片上。 4.ASIC :专用集成电路 5.PLD :可编程逻辑器件

6.CPLD :复杂可编程逻辑器件 7.FPGA : 现场可编程门阵列 8.LUT :查找表

9.JTAG :联合测试行动组 10.ISP : 在系统编程

11.IP核 :完成某种功能的设计模块

12.逻辑综合 : 将设计者在EDA平台上编辑输入的HDL文本、原理图或状态图描述,依据给定的硬件结构和约束控制条件进行编译、优化和转换,最终获得门级电路甚至更底层的电路描述网表文件的过程。

13.设计输入 :将设计者所设计的电路以开发软件要求的某种形式表达出来,并输入到相应软件中的过程。

14.下载 :把适配后生成的编程文件装入到PLD器件中的过程 15.FSM: 有限状态机 16.UDP:用户自定义 17.NS:次态

18.OL:输出逻辑 二、填空

1.EDA就是以 计算机 为工作平台,以 EDA软件工具 为开发环境,以 PLD器件或 者 ASIC专用集成电路 为目标器件设计实现电路系统的一种技术。

2.在数字电路设计过程中, 综合 是将软件转化为硬件电路的关键步骤,是文字描述与硬件实现的一座桥梁。

3.通常,将对CPLD的下载称为 编程 ,对FPGA中的SRAM进行直接下载的方式称 配置 。 4.仿真时是否考虑硬件延时分类,可分为 功能 仿真和 时序 仿真。 5.IP核主要包括 硬核 、 固核 和 软核 。

6.当前最流行的并且成为IEEE标准的硬件描述语言包括 Verilog HDL 和 VHDL 。 7.当前EDA设计中普遍采用的方法是: 自顶向下 。

8.PLD按照编程工艺和编程元件可以分为 采用熔丝(Fuse) 、 采用反熔丝(Antifuse) 、 采用紫外线擦出、点编程方式的器件 、 EEPROM型 、 闪速存储器(Flash)型 和 采

用静态存储器(SRAM)机构的器件

9.简单PLD包括 PROM 、 PLA 、 PAL 和 GAL 四类。

10.PLD按不同的内部结构可分为基于 乘积项 结构的PLD器件和基于 查找表 结构的PLD器件,前者的典型代表是 CPLD ,后者的典型代是 SRAM 。 11.PLD的开发中常用的测试技术是: 边界扫描测试 技术。

12.FPGA器件主要有两类配置方式: 主动配置模式 和 被动配置模式 。 13.Cyclone器件支持的配置方式有 JTAG模式 、 PS模式 和 AS模式 。 14.写出下图所示F0和F1的表达式:F0=

A1?A0?A1?A0 ,F1=

A1?A0?A1?A0 。

1.verilog程序都是由 模块构成的,每个verilog程序包括4个主要的部分,分别是 模块声明 、 端口定义 、 信号类型声明 、 逻辑功能描述 。

2. 端口是模块与外界连接和通信的信号线,有三种类型,分别是 输入端口 、 输出端口 、 输入/输出端口 。

3. always过程语句既可以用来描述 时序 电路,也可以描述 组合 电路。

4. always过程块列表中的敏感信号的表达方式有多种: 用 or 连接所有的敏感信号、可以用来区分或连接所有的敏感信号和 敏感信号表达式 。

5. 调用元件的格式是:< 门元件关键字 >< 例化门元件名 >( 输入 端口列表, 输出 端口列表) 。

6.用verilog描述电路需要注意的是:存盘的文件名与 Verilog模块名 一致,文件名的后缀是 .v 。

1. Verilog 程序由 各种符号流 构成,符号包括 空白符 、 操作符 、 数字 、 字符串 、 注释 、 标示符 、 关键字 。

2.Verilog中的标识符可以是任意一组 字母 、 数字 以及符号 “ $” 和 “-” 的组合,但标识符的第一个字符必须是 字母 或者 “-” 。

3. Verilog中的常量主要有如下3种类型: 整数 、 实数 、 字符串 。 4.在整数的书写规则里, x(或z)在二进制中代表 1 位x(或z),在八进制中代表 3 位x(或z),在十六进制中代表 4 位x(或z),它代表的宽度取决于 进制 。 5. 在 位宽 和 ’ 之间,以及 进制 和 数值 之间允许出现空格,除此之外不允许出现空格。

6. 当位宽与进制缺省时表示的是 十 进制数。

7. 如果定义的位宽比实际的位数长,通常在其 左边 补零。但如果数最左边一位为x(或z),那么就相应地在左边补 x(或z) 。如果定义的位宽比实际的位数小, 左边的位截掉 。

8. 实数的表示方法有 十进制表示法 和 科学计数法 ,实数转换为整数的方法是 四舍五入 。

9.Verilog有四种基本的逻辑状态,分别是 0 、 1 、 X或x 、 Z或z 。 10. 向量的定义形式为: 类型[MSB:LSB] 向量名 。A=mybyte[6]是对向量A进行了 位赋值 ,B=mybyte[5:2]是对向量B进行了 域赋值 。用这两种形式赋值的时候应当注意应使等号左右两端的宽度 要一致 。

11. 存储器由一组寄存器构成的阵列, 用verilog定义存储器时,需定义存储器的 容量 和 字长 ,前者表示 存储器的存储单元数 ,后者则表示 每个单元的数据宽度 。

1.Verilog HDL支持三种描述方式来设计电路,分别是 结构描述 、 行为描述 和 数据流描述 。

2.三态门元件的调用格式为: 关键字 门元件名 ( 输出 , 输入 , 使能控制端 )。

1.根据输出信号的不同,状态机可以分为 米里型 和 摩尔型 ,前者的输出是 当前状态 和 当前输入 的函数,后者的输出是 输入 的函数。

2.在状态机的设计中主要包含三个对象为: 现态 、 次态 和 输出逻辑 。 3.在状态机的设计中,常用的状态编码方式有 顺序编码 、 格雷编码 、和 约翰逊编码 。 三、单选

1.下列标识符哪些是合法的?( B )

A.$ time B._date C.8sum D.mux# 2.下列哪些整数的书写是合法的?( B D )

A.′da30 B.′o721 C.4′d-4 D.8′b1100_1101_0011 3.如果网线型变量说明后未赋值,那么其缺省值为( D )。 A.0 B.1 C.x D.z 4.对于定义reg [7:0] mema [255:0],正确的赋值为( A )。

A.mema[5]=10 B.mema=8′d0 C.1′b1 D.mema[5][3:0]=4′d1 5.对于“a=4′b11001,b=4′bx110”,选出正确的运算结果( BC )。 A.a&b=0 B.a&&b=1 C.b&a=4′bx000 D.b&&a=4′bx000 6.已知“a=1′b1,b=3′b001”,那么{a,b}=( C )。 A.4′b0011 B.3′b001 C.4′b1001 D.3′b101 7.在verilog语言中,a=4′b1011,那么&a=( D )。 A.4′b1011 B.4′b1111 C.1′b1 D.1′b0

8、按操作符所带的操作数,操作符分类中不含的类型是( D ) A. 单目 B. 双目 C. 三目

D. 多目

1、以下对initial语句的说法中,错误的是___b___

A. 有敏感信号 B. 沿时间轴可重复执行 C. 可用于描述激励信号 D. 可用于对寄存器值 2.以下语句中不可被综合的语句是 c A、if-else B、always C、initial D、assign 3、在下列关联方式中不属于元件例化语句的是 C A、位置关联 B、端口名关联 C、混合关联 D、指定关联

4.时间尺度定义为`timescale 10ns/100ps,选择正确答案( c )。

A.时间精度为10ns B.时间单位为100ps C.时间精度为100ps D.时间精度不确定 5.在verilog中定义了宏名‵define sum a+b+c,下面宏名引用正确的是( B )。 A.out=sum+d B.out=′sum+d C.out=‵sum+d D.都正确

6.在下列程序中,always过程语句描述了一个带异步Nreset和Nset输入端的上升沿触发器,从选项中找出括号内应该填入的正确答案。 always @ ( c ) if (!Nreset) Q<=0; else if (!Nset) Q<=1; else Q<=D;

A.posedge clk or negedge Nreset B.posedge clk or negedge Nset

C.posedge clk or negedge Nreset or negedge Nset D.negedge Nreset or negedge Nset 7.下列语句中,不属于并行语句的是( b )。

A.非阻塞赋值语句 B. assign语句 C.实例元件调用语句 D.case语句 8.在verilog中,下列那个语句不是分支语句( )。 A.if-else B.case C.casez D.repeat 9.下列敏感信号的表示属于边沿敏感型的是( a )

A.always@(posedge clk or posedge clr) B.always@(A or B) C.always@(posedge clk or clr) D.always @ (*) 10.以下不属于for循环语句的是( b ) A.for B.assign C.while D.repeat

1.在Verilog程序中可以通过哪些方式描述电路的结构?( ABCD )

A.门级结构描述 B.晶体管级结构描述 C.UDP D.不同模块间的调用 2.下列哪些Verilog的基本门级元件是多输入门(ABC)

A. nand B. nor C. and D. not

3.针对Verilog HDL语言中的case语句说法不正确的是(B ) A.case语句表达式的取值可以超出语句下面列出的值的范围; B.语句各分支表达式允许同时满足case表达式的值; C.条件语句中的选择值需要完整覆盖表达式的取值范围;