數字可编程逻辑器件开发与应用考试答案.docVIP

數字可编程逻辑器件开发与应用考试答案.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
數字可编程逻辑器件开发与应用考试答案

数字可编程逻辑器件的开发和应用 2009年秋季研究生课程考试答案: 简答题 1答:单片机是一种集成电路芯片,采用超大规模集成电路技术把具有数据处理功能的中央处理器CPU, 以及RAM, ROM, 多种I/O口中断系统,定时器,计时器等功能集成到一起的小型计算机系统。单片机广泛应用于仪表仪器,家用电器以及过程控制等领域。 DSP是处理大量数字信号信息的器件,其不仅具有可编程性,而且实时运行速度可达每秒千万条复杂指令,具有强大的数据处理能力和高运行速度,主要应用于实时高速的数字信号的处理。 可编程逻辑器件是由逻辑电路构成,可通过软件编程对该硬件的结构和工作方式进行构建,其使用了自顶而下的设计方案,大大缩短了开发周期。可编程逻辑器件实现了硬件上的并行工作。 相比单片机,可编程逻辑器件速度更快,且管脚更多,I/O资源丰富,更利于外设的连接,以实现更大规模的系统。同时由于可编程逻辑器件实现了并行处理,具有完成复杂功能的能力。 DSP主要用于算法处理,内部资源主要是乘法器,加法器等,而可编程逻辑器件侧重于设计具有某个功能的硬件电路,内部具有大量组成数字电路最小单元的门电路,连接可通过编程方法设计,在工程中带来了极大的方便。 2答:CPLD集成度小一点,多用于2万门规模以下的设计,适合实现复杂的组合逻辑。 FPGA集成度较高,内部触发器多,对用于1万门以上的大规模系统设计,适合实现复杂的时序逻辑。 两者间的比较如下图: CPLD FPGA 程序存储 内部EEPROM SRAM,外连EEPROM 资源类型 组合电路资源丰富 触发器资源丰富 集成度 低 高 使用场合 完成控制逻辑 能完成比较复杂的算法 速度 慢 快 其它资源 —— EAB,锁相环 保密性 可加密 一般不能保密 3答:设计是依照CPLD与FPGA的差别,特点和设计需求进行选择。 其中在布线方式和互连资源上,FPGA为非连续式布线,CPLD为连续式布线,所以FPGA每次编程实现逻辑功能,线路可不同,且不易控制时延;CPLD每次布线路径相同,连续式互连结构在定时上差异、延时很小。 在编程工艺上,CPLD属于只读型编程,可反复编程,如果数据改变了就要重新擦写;FPGA采用RAM型编程,功耗低,但必须与存储器联用,上电后重新配置。 FPGA为细粒度结构,CLB分块较小,有丰富的连线资源,芯片利用率高;CPLD为粗粒度结构,宏单元的与阵列较大,且之间用高速数据通道连接,容量有限,限制了器件灵活布线,利用率较低。 并且FPGA含有丰富的触发器资源,易于实现时序逻辑,若果要求实现复杂的组合逻辑电路则需要几个CLB结合使用;CPLD的与或阵列结构,适用于实现大规模组合功能,但其触发器资源很少。 且CPLD中逻辑单元为大单元,其变量为20到28个左右,而FPGA逻辑单元为小单元,输入变量只有几个。 4答:硬件电路中的信号总是同时工作的,描述语言应该有能力描述实际电路中信号同时流动的特性。VHDL语言中,并行语句位于Process外面,同时执行,不分位置的先后。并行语句包括:布尔等式=,with-select-when,when-else。 顺序语句在Process,Function,Procedure中顺序执行的语句,包括:IF,WAIT,CASE和LOOP语句。 举例说明如下: Signal s:std_logic_vector(1 downto 0) Signal a, b, c, d, x; std_logic; With s select x= a when “00”, b when “01”, c when “10”, d when others; 当s为不同值“00,01,10”求other时,分别执行相应的语句,而不是依照位置的先后顺序执行,即为并行语句。 Process(addr) Begin Step=’o’; If (addr=X”F”)then Step=’1’; End if End Process; 在Process中,语句顺序依照先后执行,首先给step赋予处置“0”,如果addr为X”F”时,给step赋值为1,显然是依照逻辑关系顺序依次执行语句。 5答:信号和常量是全局的,既可以用在顺序执行的代码中,也可以用在并发执行的代码中。相比较,变量都是局部的,只能用在顺序代码中,并且其值是不能直接向外传递的。 信号 变量 赋值符号 = := 功能 表示电路内部连接 表示局部信息 使用范围 全局 局部(仅在相应进程、函数和过程中) 行为用途 在顺序代码中,信号值的更新不是即时的,新值要在进程函数或过程中完成后有效用于包集,实

文档评论(0)

fv45ffsjjI + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档