版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、FPGA与CPLD内部结构区别?CPLD以altraMAX7000 这种PLD为例,可分为三块结构:宏单元(Marocell), 可编程连线(PIA)和I/O控制块。宏单元是PLD的基本结构,由它来实现基本 的逻辑功能。可编程连线负责信号传递,连接所有的宏单元。I/O控制块负责输入输出的电气特性控制,比如可以设定集电极开路输出,摆率控制,三态输出等。这种基于乘积项(实际就是与或阵列)的PLD基本都是由EEPROM和Flash 工艺制造的,一上电就可以工作,无需其他芯片配合。布线方式是全局的,所以 延时可预测。CPLD适合做逻辑设计。FPGAFPGA基于LUT, LUT本质上就是一个RAM ,每
2、一个LUT可以看成一个有 4位地址线的16x1的RAM。这也是为什么FPGA需要外接一个rom来上电配 置。以xilinx的Spartan-II为例,主要包括CLBs, I/O块,RAM块和可编程连 线。在spartan-II中,一个CLB包括2个Slices,每个slices包括两个LUT,两 个触发器和相关逻辑。 Slices可以看成是SpartanII实现逻辑的最基本结构。FPGA的制造工艺确定了 FPGA芯片中包含的LUT和触发器的数量非常多, 往往都是几千上万,PLD一般只能做到512个逻辑单元,而且如果用芯片价格 除以逻辑单元数量,FPGA的平均逻辑单元成本大大低于PLDo所以如果
3、设计 中使用到大量触发器,例如设计一个复杂的时序逻辑,那么使用FPGA就是一个 很好选择。2 .Latch 和Register区别?行为描述中Latch如何产生?本质的区别在于:latch是电平触发,reg是边沿触发。时序设计中尽量使用reg触发。行为描述中,如果对应所有可能输入条件,有的输入没有对应明确的输出,系统会综合出 atch。二匕如:always( a or b) /缺少 else 语句beginif(a=1) q <= b;end3 .对竞争冒险的理解,以及如何消除?在组合逻辑中,由于门的输入信号通路中经过了不同的延时,导致到达该门的时间不一致叫竞争。产生毛刺叫冒险。如果布尔
4、式中有相反的信号则可能产生竞争和冒险现象。解决方法:一是添加布尔式的消去项,二是在芯片外部加电容。4 .用Verilog设计一个5分频器。5分频,奇数分频都可以类似这么做,只需要改div1和div2的参数。div1 为奇数分频除2的余数。采用上升延和下降延分别触发不同波形,最后叠加的 方式产生奇数分频。module divfreq(clk, clk1x, rst, clk1xpose, clk1xnege, coutpose, coutnege);input clk;input rst;output clklx;output clklxpose;output clklxnege;output2
5、:0 coutpose;output2:0 coutnege;reg clklxpose;reg clklxnege;reg2:0 coutpose;reg2:0 coutnege;parameter divl = 2 , div2 = 4;/ divl= 5 / 2, div2 = 5 - 1assign clk1x = clk1xpose | clk1xnege;always(posedge clk or negedge rst)beginif(!rst)clk1xpose = 0;else if(coutpose = div1)clk1xpose = clk1xpose;else if(
6、coutpose = div2)clk1xpose = clk1xpose;elseclk1xpose = clk1xpose;endalways(negedge clk or negedge rst)beginif(!rst)clk1xnege = 0;else if(coutnege = div1)clk1xnege = clk1xnege;else if(coutnege = div2)clklxnege = clk1xnege;elseclklxnege = clklxnege; endalways(posedge clk or negedge rst)beginif(!rst)cou
7、tpose = 0;else if(coutpose = div2)coutpose = 0;elsecoutpose = coutpose + 1; endalways(negedge clk or negedge rst)beginif(!rst)coutnege = 0;else if(coutnege = div2)coutnege = 0;elsecoutnege = coutnege + 1; endendmodule1、FPGA结构一般分为三部分:可编程逻辑块(CLB)、可编程I/O模块和 可编程内部连线。2 CPLD的内部连线为连续式布线互连结构,任意一对输入、输出端之间的 延
8、时是固定;FPGA的内部连线为分段式布线互连结构,各功能单元间的延时 不定(不可预测)。3大规模可编程器件主要有 CPLD和FPGA两类,其中CPLD通过可编程 乘积项逻辑实现其逻辑功能。基于SRAM的FPGA器件,每次上电后必须进行一次配置。FPGA内部阵列的配置一般采用在电路可重构技术,编程数据保存在 静态存储器(SRAM),掉电易失。4目前世界上有十几家生产 CPLD/FPGA的公司,最大的两家是:Altera, Xilinx。5硬件描述语言(HDL)是EDA技术的重要组成部分,是电子系统硬件行为 描述、结构描述、数据流描述的语言,它的种类很多,如VHDL、Verilog HDL、 AH
9、DL6 WHEN_ELSE条件信号赋值语句 和IF_ELSE顺序语句的异同WHEN_ELSE条件信号赋值语句中无标点,只有最后有分号;必须成对出 现;是并行语句,必须放在结构体中。IF_ELSE顺序语句中有分号;是顺序语句,必须放在进程中7可编程逻辑器件设计输入有原理图输入、硬件描述语言输入和波形输入三 种方式。原理图输入方式是一种最直接的设计描述方式,硬件描述语言的突出优点是:* 语言与工艺的无关性;语言的公开可利用性,便于实现大规模系统的设计;* 具有很强的逻辑描述和仿真功能,而且输入效率高,在不同的设计输入库 之间的转换非常方便,用不着对底层的电路和PLD结构的熟悉。波形设计输入适用于时
10、序逻辑和有重复性的逻辑函数。8用VHDL/Veilog HDL语言开发可编程逻辑电路的完整流程:文本编辑一功能仿真一逻辑综合一布局布线一时序仿真。* 所谓综合,就是根据设计功能和实现该设计的约束条件(如面积、速度、功耗和成本等),将设计输入转换成满足要求的电路设计方案,该方案必须同时 满足与其的功能和约束条件。综合的过程也是设计目标的优化过程,其目的是将 多个模块化设计文件合并为一个网表文件,供布局布线使用,网表中包含了目标器件中的逻辑单元和互连的信息。* 布局布线就是根据设计者指定的约束条件(如面积、延时、时钟等卜目标 器件的结构资源和工艺特性,以最优的方式对逻辑元件布局,并准确地实现元件
11、间的互连,完成实现方案(网表)到使实际目标器件(FPGA或CPLD)的变换。9基于EDA软件的FPGA / CPLD设计流程为:原理图/HDL文本输入一功能仿真一综合一适配一时序仿真一编程下载一硬 件测试。* 综合是EDA设计的关键步骤,综合就是将电路的高级语言转换成低级的, 可与FPGA/CPLD相映射的功能网表文件。为实现系统的速度、面积、性能的要 求,需要对综合加以约束,称为综合约束。10构成一个完整的VHDL语言程序的五个基本结构:实体(ENTITY)、结构体(ARCHITECURE)、配置(CONFIGURATION)、 库(LIBRARY)、程序包(PACKAGE)。* 实体的由实
12、体说明和结构体两部分组成。实体说明部分用于描述所设计系 统的外部端口信号和参数的属性和设置,而结构体部分则定义了设计单元的具体 功能、行为、数据流程或内部结构。* 结构体的三种描述方式,即行为级描述、数据流级描述和结构级描述。结构体通常由结构体名称、定义语句和并行处理语句构成,* 程序包用于存放各设计模块能共享的数据类型、常数、子程序等。* 库用于存放已编译的实体、结构体、程序包和配置,可以通过其目录进行 查询和调用。在VHDL语言中,可以存在多个不同的库,但是库与库之间是独 立的,不能互相嵌套。它可由用户生成或由 ASIC芯片制造商提供,以便于在设 计中为大家所共享。常用库:(1)IEEE库
13、IEEE 库主要包括 std_logic_1164、numeric_bit、numeric_std等程序包,还有 一些程序包非 ieee 标准,但并入 IEEE 库,如 std_logic_arich、std_logic_unsign ed> std_logic_signed。使用IEEE程序包,必须声明。(2) std 库包含standard textio程序包。Std库符合IEEE标准,应用中不必声明。(3) work 库用户的VHDL设计先行工作库。(4) vital 库包含时序程序包vital_timing和vital_primitives。设计开发过程通常不用每个设计实体都必须
14、有各自完整的库说明语句和use语句。Use语句的使用将使说明的程序包对本设计实体部分全部开放,即是可视的。11 VHDL的数据对象包括常量(constant)、变量(varuable)和信号(signal), 它们是用来存放各种类型数据的容器。12 在VHDL的端口声明语句中,端口方向包括in、out、buffer、inout、 linkage“BUFFERS缓冲端口,与OUT类似,只是缓冲端口允许实体内部使用该 端口信号,它可以用于输出,也可以用于端口信号的反馈。当一个结构体用“BUFFER说明输出端口时,与其连接的另一个结构体的端口也要用BUFFER说明。以“LINKAGE定义的端口不指定
15、方向,无论哪个方向的信号都可以连接。13 VHDL的PROCESS (进程)语句是由顺序语句 组成的,但其本身却是 并行语句。14 VHDL的子程序有 过程(PROCEDURE)和 函数(FUNCTION)两种类 型,具有可重载性特点。15 图形文件的扩展名是.bdf ;矢量波形文件的扩展名是.vwf ;使用VH DL语言,文本设计文件的扩展名是.vhd ;自建元件图形符号文件的扩展名.bsf;资源分配说明文件扩展名.qsf,用文本打开它可以修改引脚编号;逻辑综合会 生成.edf文件;双击.qpf文件可启动QuartusII并打开已有工程。16 图形编辑中模块间的连线有三种形式:节点线、总线和
16、管道线17 Quartus编译器编译FPGA工程最终生产两种不同用途的文件,它们分别 是.sof和.pof。sof是SRAM Object File,下载到FPGA中,断电丢失。pof是Programmer Object File,下载到配置芯片中,上电重新配置FPGA18 FPGA过程中的仿真有三种:行为仿真、逻辑仿真、时序仿真。19 IP核在EDA技术和开发中占有很重要的地位,提供 VHDL硬件描述语 言功能块,但不涉及实现该功能模块的具体电路的IP核为软件IP。二 名词解释,写出下列缩写的中文(或者英文)含义:1 . FPGA Field Programmable Gate Array
17、现场可编程门阵列2 VHDL- Very-High-Speed Integrated Circuit Hardware Description Langu age)甚高速集成电路硬件描述语言3 HDL Hardware Description Language硬件描述语言4 EDA Electronic Design Automation 电子设计自动化5 CPLD Complex Programmable Logic Device 复杂可编程逻辑器件6 PLD Programmable Logic Device 可编程逻辑器件7 GAL , generic array logic 通用阵列逻
18、辑8 . LAB Logic Array Block 逻辑阵列块9 . CLB Configurable Logic Block 可配置逻辑模块10 EAB Embedded Array Block 嵌入式阵列块11 SOPC System-on-a-Programmable-Chip 可编程片上系统12 . LUT Look-Up Table 查找表13 . JTAG Joint Test Action Group 联合测试行为组织14 . IP Intellectual Property 知识产权15 ASIC Application Specific Integrated Circuit
19、s 专用集成电路16 ISP In System Programmable 在系统可编程17 ICR In Circuit Re-config 在电路可重构18 RTL Register Transfer Level 寄存器传输级选择:1 .基于VHDL设计的仿真包括有门级时序仿真、行为仿真、功能 仿真和前端功能仿真这四种,按照自顶向下的设计流程,其先后顺序应该是:DA. B. C. D.2 .执行Quartus II的B命令,可以检查设计电路错误。A Create Default Symbol B Compiler-编译C Simulator -时序仿真 D Timing Analyzer
20、-时序分析3 .在设计输入完成后,应立即对设计文件进行( C )。A编辑B编译C功能仿真D时序仿真4 .在VHDL中用(C )来把特定的结构体关联一个确定的实体,为一个 大型系统的设计提供管理和进行工程组织。A输入B输出C综合D配置5 电子系统设计优化,主要考虑提高资源利用率减少功耗(即面积优化), 以及提高运行速度(即速度优化),下列方法A不属于面积优化。A流水线设计B资源共享C逻辑优化D用行化6 不完整地IF语句,其综合结果可实现A时序逻辑电路 B组合逻辑电路 C双向电路D三态控制电路7 .下面对利用原理图输入设计方法进行数字电路系统设计,那一种说法是不正确的。A.原理图输入设计方法直观便
21、捷,但不适合完成较大规模的电路系统设计;8 .原理图输入设计方法一般是一种自底向上的设计方法;C.原理图输入设计方法无法对电路进行功能描述;D.原理图输入设计方法也可进行层次化设计。8.在VHDL语言中,下列对进程(PROCESS)语句的语句结构及语法规 则的描述中,不正确的是C。A. PROCESS为一无限循环语句;敏感信号发生更新时启动进程,执行完成 后,等待下一次进程启动。8 .敏感信号参数表中,不一定要列出进程中使用的所有输入信号;C.进程由说明部分、结构体部分、和敏感信号三部分组成;D.当前进程中声明的变量不可用于其他进程9 IP核在EDA技术和开发中占有很重要的地位,提供VHDL硬
22、件描述语言 功能块,但不涉及实现该功能模块的具体电路的IP核为CA硬件IP B固件IP C软件IP D都不是10综合是EDA设计的关键步骤,下面对综合的描述中错误的是 A综合就 是把抽象设计中的一种表示转换成另一种表示的过程。B综合就是将电路的高级语言转换成低级的, 可与FPGA/CPLD相映射的功 能网表文件。C为实现系统的速度、面积、性能的要求,需要对综合加以约束,称为综 合约束。D综合可理解为一种映射过程,并且这种映射关系是唯一的,即综合结果 是唯一的。11大规模可编程器件主要有 CPLD和FPGA两类,下面对FPGA结构与工 作原理描述中,正确的是A FPGA全称为复杂可编程逻辑器件B
23、 FPGA是基于乘积项结构的可编程逻辑器件。C基于SRAM的FPGA器件,每次上电后必须进行一次配置。D在Altera公司生产的器件中,MAX7000系列属于FPGA结构12大规模可编程器件主要有 CPLD和FPGA两类,其中CPLD通过实现其 逻辑功能。A可编程乘积项逻辑;B查找表(LUT) C输入缓冲D输出缓冲13进程中的信号赋值语句,其信号更新是A按顺序完成B比变量更快完成C在进程最后完成D都不对14 VHDL语言是一种结构化的语言,一个设计实体(电路模块)包括实体说明与结构体两部分,结构体描述A器件的外部特性 B器件的内部功能C器件的综合约束D器件外部特性与内部功能15关于VHDL的数
24、字,请找出以下数字中最大的一个 A 2#1111_1110# B 8#276# C 10#170# D 16#E#E1判断下列标识符书写是否合法Architecture architecture add2-1 add2_12_009 2,009 2.009e3 2.009 E3VHDL语言的短标识符遵循以下命名规则:* 短标识符必须以英文字母开头;* 短标识符由26个字母(AZ, az)、数字(09)和下划线“,符组成;* 下划线“_S前后都必须有英文字母或者数字;* 短标识符不区分大小写;如:EDA、Eda、eda均为相同的命名。VHDL语言的扩展标识符遵循以下命名规则:* 扩展标识符用反斜
25、杠来分隔;如: ,等。* 扩展标识符允许包含图形符号及空格等;如:counter &, entity%end* 扩展标识符的两个反斜杠之间可以用保留字;如:,*扩展标识符的两个反斜杠之间可以用数字开头;如:44count* 扩展标识符中允许多个下划线相连;如:adder.es_等。* 同名的扩展标识符和短标识符不表示同一名称;如:和adder不相同。* 扩展标识符区分大小写字母;如:和 不相同。*扩展标识符中如果含有一个反斜杠,可以两个反斜杠来代替;如:表示的扩展标识符名称为 addercountera十进制数的定义格式为:整数.整数北指数其中整数可表示为"数字_数字”,指数
26、可表示为"E+(或-)整数”,但只有十进 制的实数才允许指数为负值。在相邻的数字之间插入下划线,对数值并无影响, 而且允许在数字之前冠以若干个零,但是不允许在数字中存在空格或其它字符。以基表示的数,格式:基#基于基的整数.基于基的整数#指数基是一个整数,其最小值是2,最大值是16。基于基的整数可表示为 扩展 数字扩展数字”,其中扩展数字为数字(或字母,如十六进制中的A、B、C、D、 E、F,且大小写字母所表达的意义相同),插入下划线不会影响其数值大小。2#111111_11# 等效于(2#11111111#),表示十进制数 2558#0037 等效于(8#377#),表示十进制数 2
27、55 3X82+7 >8+7016#0Ff# 等效于(16#FF#),表示十进制数 255=16X5+1516#8F#E1 表示十进制数 2288,即 143M6=(16 >8+15) M62#1.1111_01#e8 表示十进制数 500=(1+2-1+2-2+2-3+2-4+2-6) >2816#0.E#E0 表示十进制数 0.875 =(16 )0+14X16-1) X160位申用于表示位矢量,格式为:基数说明符 数字字符串”其中的基数说明符包括B、。和X,B表示二进制数,O表示八进制数,X表示十六进制数。B “10101111,” O “375; X “89AC,数位字符串实际是位矢量,只有 2, 8, 16进制,默认为B,用于对一维位矢量的赋值,8每数占3位,16每数占4位逻辑运算符的左边和右边以及代入的信号
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 延安大学《外国文学史(二)》2022-2023学年第一学期期末试卷
- 烟台大学《理论力学》2021-2022学年第一学期期末试卷
- 徐州工程学院《植物压花实践艺术》2022-2023学年第一学期期末试卷
- 办公室礼仪与环境管理培训
- 徐州工程学院《手工艺产品创新设计》2023-2024学年第一学期期末试卷
- 完善客户反馈机制计划
- 房屋按揭贷款合同三篇
- 邢台学院《高级英语一》2021-2022学年第一学期期末试卷
- 风险管理应对培训
- 信阳师范大学《计算方法与Matab实验》2022-2023学年第一学期期末试卷
- 毕业设计——A2O处理城市污水
- 一年级语文多元性评价方案
- PIC单片机型号命名规则
- 六年级上册道德与法治课件 第四单元第9课
- 高鸿业宏观经济学习题+答案
- 苏教版四年级上册科学期末试卷(含答案)
- 疾控中心后勤管理制度
- 年产吨酸性蛋白酶的生产工艺设计
- 高中语文课堂教学问卷调查
- 变电站蓄电池更换作业指导书
- 特种设备应急预案演练记录
评论
0/150
提交评论