
硬件描述语言及FPGA设计复习要点.doc
15页《硬件描述语言及FPGA设计》复习要点:一、名词解释⑴设计方法:自顶向下和自底向上,以自顶向下为主要设计 综合:指的是将较高级抽象层次的设计描述自动转化外较低层次的描述过程1. EDA :电子设计自动化2. HDL :硬件描述语言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和VHDL7. 当前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模式 和模式 。
14 .二出下图所示F0和F1的表达式:F0= 歼*”0十歼*先 ,F1=A * A + A * A10 10 1. verilog程序都是由_模块构成的,每个verilog程序包括4个主要的部分,分别是模块 声明、端口定义、信号类型声明、逻辑功能描述2. 端口是模块与外界连接和通信的信号线,有三种类型,分别是 输入端口、输出端口、 输入/输出端口3. always过程语句既可以用来描述 时序 电路,也可以描述 组合 电路4. always过程块列表中的敏感信号的表达方式有多种:用F连接所有的敏感信号、可以用来区分或连接所有的敏感信号和敏感信号表达式 5. 调用元件的格式是:〈门元件关键字 〉〈例化门元件名 〉(输入 端口列表,输出 端 口列表)6. 用verilog描述电路需要注意的是:存盘的文件名与 Verilog模块名一致,文件名的 后缀是 .v1. Verilog程序由 各种符号流 构成,符号包扌舌 空白符 、操作符 、数字 、字 符串 、 注释 、 标示符 、关键字 Verilog中的标识符可以是任意一组 字母、 数字 以及符号 “ $” 和“-”的组合,但标识符的第一个字符必须是字母或者 “-”。
3. Verilog中的常量主要有如下3种类型: 整数、 实数 、 字符串 4. 在整数的书写规则里,x(或z)在二进制中代表1位x(或z),在八进制中代表_ 位 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'bll00_1101_00113. 如果网线型变量说明后未赋值,那么其缺省值为( D )A. 0 B. 1 C. x D. z4. 对于定义 reg [7:0] mema [255:0],正确的赋值为( A )A. mema[5]=10 B. mema=8 d0 C. 1 b1 D. mema[5][3:0]=4 d15. 对于“a=4 51001, b=4,bx110”,选出正确的运算结果(BC )。
A. a&b=0 B. a&&b=1 C. b&a=4 bx000 D. b&&a=4 bx0006. 已知 “a=1b1,b=3,b001”,那么{a,b}= ( C )A. 4 b0011 B. 3 b001 C. 4 b1001 D. 3 b1017. 在 verilog 语言中,a=4 fb1011,那么&a= ( D )A. 4 b1011 B. 4 b1111 C. 1 b1 D. 1 b08、按操作符所带的操作数,操作符分类中不含的类型是( D )A. 单目 B. 双目 C. 三目 D. 多目1. 以下对initial语句的说法中,错误的是 b A. 有敏感信号 B. 沿时间轴可重复执行 C. 可用于描述激励信号 D. 可用于对寄存器值2. 以下语句中不可被综合的语句是 cA、if-else B、always C、initial D、assign3. 在下列关联方式中不属于元件例化语句的是CA、位置关联 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 NsetC.posedge clk or negedge Nreset or negedge Nset D.negedge Nreset or negedge Nset7. 下列语句中,不属于并行语句的是( b )A.非阻塞赋值语句B. assign语句 C.实例元件调用语句 D. case语句8. 在verilog中,下列那个语句不是分支语句( )A.if-else B.case C.casez D.repeat9•下列敏感信号的表示属于边沿敏感型的是(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.repeat1. 在 Verilog 程序中可以通过哪些方式描述电路的结构?( ABCD )A.门级结构描述 B.晶体管级结构描述 C. UDP D.不同模块间的调用2. 下列哪些Verilog的基本门级元件是多输入门(ABC)A. nand B. nor C. and D. not3. 针对Verilog HDL语言中的case语句说法不正确的是(B )A.case 语句表达式的取值可以超出语句下面列出的值的范围;B. 语句各分支表达式允许同时满足case表达式的值;C. 条件语句中的选择值需要完整覆盖表达式的取值范围;D. 保险起见,case语句最后分枝最好都加上default语句。
4. 以下针对过程语句的说法中不正确的是( C )A. 试图通过选择型列入过程语句的敏感信号列表来改变逻辑设计是无效的;B. 一个模块中包含的多个过程语句本身都是并行的;C. 任一过程引导的语句结构都是并行的;D. 只要过程语句的敏感信号发生变化,都将启动该过程5. 关于摩尔型和米里型状态机说法不正确的是( D )A. 米里型状态机的输出是在输入变化后发立刻生变化的,不依赖时钟信号的同步B. 摩尔型状态机的输入发生变化时还需要等待时钟的到来,必须等状态发生变化时才导致 输出的变化C. 摩尔型状态机比米里型状态机要多等待一个时钟周期D. 米里型状态机比摩尔型状态机要多等待一个时钟周期6. 关于阻塞赋值和非阻塞赋值描述正确的是( D )A. 设计时序电路时应尽量使用阻塞赋值方式B. 设计组合逻辑电路时建议使用阻塞赋值C. 可以在两个或者两个以上的always过程中对同一变量赋值D. 对同一个变量可以既进行阻塞赋值,又进行非阻塞赋值四、判断1. assign 引导的语句属于顺序语句 (t )2. assign 语句主要用于描述组合逻辑电路 ( t )3. 阻塞式赋值语句必须在块语句执行结。












