《【2017年整理】FPGA笔试题目》由会员分享,可在线阅读,更多相关《【2017年整理】FPGA笔试题目(9页珍藏版)》请在金锄头文库上搜索。
1、FPGA 笔试题目一填空题 1. 目前世界上有十几家生产 CPLD/FPGA 的公司,最大的两家是:( )和 ( )。答案:Xilinx、Altera目的:知识面考点:fpga 熟悉2. FPGA 的基本结构由 3 种可编程单元和一个用于存放编程数据的静态存储器组成。这 3种可编程的单元分别是() 、 ()和() 。答案:IOB输入输出模块 目的:知识面CLB可编程逻辑模块IR互联资源或可编程内部连线目的:fpga 基本结构的了解考点:fpga 基本知识3. Verilog 语言信号赋值包括非阻塞赋值和阻塞赋值,一般非阻塞赋值用在( )描述中,阻塞赋值用在( )描述中;答案:时序电路、组合逻辑
2、目的:verilog 语言的了解考点:硬件语言知识二选择题 1 . 电子系统设计优化,主要考虑提高资源利用率减少功耗(即面积优化) ,以及提高运行速度(即速度优化),下列方法 ( A )不属于面积优化。 A 流水线设计 B 资源共享 C 逻辑优化 D 串行化2. 下列方法中不能消除竞争冒险现象的是:(D )A. 接入滤波电容 B.修改逻辑设计 C.引入选通脉冲 D.使用组合逻辑3 . 大规模可编程器件主要有 CPLD 和 FPGA 两类,下面对 FPGA 结构与工作原理描述中,正确的是( C )A FPGA 全称为复杂可编程逻辑器件 B FPGA 是基于乘积项结构的可编程逻辑器件。 C. 基于
3、 SRAM 的 FPGA 器件,每次上电后必须进行一次配置。 D 在 Altera 公司生产的器件中,MAX7000 系列属于 FPGA 结构三简答1. 列出你熟悉的前仿真验证工具,并以一种为例简单描述仿真步骤?答案:modelsim、vcs 、NC 等;步骤:1) 创建工程(new procject)2) 导入设计文件(add file)3) 编译文件(compile)4) 添加仿真库(library )5) 加载设计(load design)6) 运行仿真器(run))目的:仿真工具的熟悉考点:工具知识掌握2. 列出仿真过程中常用的 verilog 系统任务并描述出该任务在仿真过程中的作用
4、? 答案:1).显示任务:$display $write主要作用是在仿真过程中将仿真数据打印输出到屏幕;2).监控任务$monitor主要用于监控仿真过程中指定的参数,并将参数值输出打印至屏幕;3)探测任务$strobe主要用于在指定的时间之后显示仿真数据;4) 文件输入和输出任务$fopen $fdisplay$fclose用于打开硬盘上的某个文件。主要用于将仿真信息写入到某个文件,形成仿真日志,待仿真完成后分析;$fread$readmemb 和$readmemh用于从文件中读出数据;可以将仿真读取的数据加载到存储器中,待需要使用的时候取出数据;5)模拟控制任务$stop :该任务可以使仿
5、真器被挂起。$finish: 该任务使仿真器退出;6)模拟时间任务$time :用于返回 64 位整型模拟时间;$stime :返回 32 位时间$realtime:返回实型模拟时间;7) $random:用于产生 32 位有符号整数;目的:对仿真的熟悉程度考点:仿真的基本技能及 verilog 语法打分标准: 打出 5 中得满分,多答出 1 种并描述作用多得 1 分;4. 简述同步电路与异步电路的区别?答案:同步电路:存储电路中所有触发器的时钟输入都接同一个时钟脉冲源,因而所有触发器的状态的变化都与所加的时钟脉冲信号同步。异步电路:电路没有统一的时钟,有些触发器的时钟输入端与时钟脉冲源相连,
6、这有些触发器的状态变化与时钟脉冲同步,而其他的触发器的状态变化不与时钟脉冲同步;目的:fpga 设计考点:fpga 基本知识四编程 1. 用 verilog 写一段代码,实现消除一个 glitch(毛刺)?答案:(将传输过来的信号经过两级触发器就可以消除毛刺)2. 根据描述功能用 verilog 编写一段代码并用状态机来实现该功能;1. 实现一个测试过程,该过程包括启准备状态、启动测试、停止测试、查询测试结果、显示测试结果、测试结束返回初始化 6 个状态;2. 用时间来控制该过程,90 秒内完成该过程;3. 画出状态机4. 描述状态跳转时间5. 编码实现答案:S t a t e _ m a c
7、 h i n eS 0S 1S 2S 3S 4S 5C 0C 1C 2C 3C 4C 5S0 表示初始化状态(initial)S1 表示准备状态:准备 20 秒钟。S2 表示测试启动状态(start):经过 30 秒测试完成。S3 表示测试停止状态(stop):表示测试结束。S4 表示测试查询状态:进行测试结果查询。S5 表示显示查询结果状态(display):显示测试结果。C0 表示 timer = 1 秒时跳到 S1 状态。C1 表示 timer =41 秒时,进入 S2 状态。C2 表示 timer= 71 秒,进入 S3 状态。C3 表示 timer = 72 秒,进入 S4 状态。C
8、4 表示 timer =73 秒时,进入 S5 结果显示状态。C5 表示 timer = 74 秒,返回 S0 初始化状态。Reg5:0 state ;wire63:0 timer ;always (posedge clk)beginif (reset)state = S0;elsebegincase (state)S0: /initialbegin if (timer = 1)state = S1;elsestate = state;endS1: /readybeginif (timer =41)state = S2;elsestate = state;endS2: /startbeginif (timer = 71)state = S3;elsestate = state;endS3: /stopbeginif (timer =72)state = S4;elsestate = state;endS4: /querybeginif (timer =73)state = S5;elsestate = state;endS5: /displaybeginif (timer = 74)state = S0;elsestate = state;enddefault: state = S0;endcaseendend