硬件描述语言(副本).ppt

  1. 1、本文档共48页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
传统的电路系统设计方法的步骤从状态图的简化,写出最简逻辑表达式,到绘出电路原理图。这在不是较大的电路系统中,工程师可以用一定的时间,了解电路的原理。若电路系统非常庞大,工程师就不容易在电路原理图上了解电路的原理,而且对绘图者也是一项非常烦琐的工作。因此众多软件公司开发研制了具有自己特色的电路硬件描述语言(Hardware Description Language,HDL),这些硬件描述语言必然有很大的差异,工程师一旦选用某种硬件描述语言作为输入工具,就被束缚在这个硬件设计环境之中,不能在众多的软件工具中选择一个最佳组合作为自己的最优设计环境。因此,硬件设计工程师需要一种强大的、标准化的硬件描述语言,作为可相互交流的设计环境。 美国国防部在80年代初提出了VHSIC(Very High Speed Integrated Circuit)计划,其目标之一是为下一代集成电路的生产,实现阶段性的工艺极限以及完成10万门级以上的设计,建立一项新的描述方法。1981年提出了一种新的HDL,称之为VHSIC Hardware Description Language,简称为VHDL,这种语言的成就有两个方面: VHDL的主要优点是: 4.支持大规模设计的分解和已有设计的再利用,一个大规模设计不可能一个人独立完成,它将由多人,多项目组来共同完成。VHDL为设计的分解和设计的再利用提供了有力的支持。 §8-1 VHDL的基本组成 例1: 二、接口部分—设计实体: 实体部分的大写单词ENTITY、IS、PORT、IN、OUT和END为关键字。在ENTITY...END之间表示实体内容,ENTITY后的字符串kxor表示实体的名称,即电路的符号名。端口(引脚)信息关键字PORT中的语句有三个端口,描述了信号的流向,分别是两个输入(IN)模式a1和b1,一个是输出(OUT)模式c1,端口信息除了输入输出之外,还可以是双向、缓冲器等。std_logic表示信号取值的类型为标准逻辑位,除了标准逻辑位之外,还可以是实数、整数、无符号数、物理以及以上数据类型组成的记录和数组集合,信号类型也可以是设计者定义。 三、描述部分—结构体: §8-2 VHDL数据类型和属性 在VHDL中有三类目标:信号、变量和常量。 目标:是一个或多个代表着目标种类的字符串,多个目 标时用“,”号分开。 TYPE 类型名 IS 类型范围 ; PACKAGE meals_pkg IS TYPE meal IS(breakfast,lunch,dinner); END meals_pkg; 二、复合数据类型 ARCHITECTURE rom_arc OF rom IS BEGIN PROCESS(cs,x1,x2,x3,x4) VARIABLE n:NATURAL RANGE 0 TO 15; CONSTANT rom0:std_logic_vector(0 TO 15):= “0101010101010101”; CONSTANT rom1:std_logic_vector(0 TO 15):= “0011001100110011”; CONSTANT rom2:std_logic_vector(0 TO 15):= “0000111100001111”; CONSTANT rom3:std_logic_vector(0 TO 15):= “0000000011111111”; BEGIN IF cs= ‘1’ THEN n:=0; IF x1 = ‘1’ THEN n:= n+1; END IF; IF x2 = ‘1’ THEN n:= n+2; END IF; IF x3 = ‘1’ THEN n:= n+4; END IF; IF x4 = ‘1’ THEN n:= n+8; END IF; d0 = rom0(n) AFTER 10 ns; d1 = rom1(n) AFTER 10 ns; d2 = rom2(n) AFTER 10 ns; d3 = rom3(n) AFTER 10 ns; ELSE d0 = ‘Z’ AFTER 10 ns; d1 = ‘Z’ AFTER 10 ns; d2 = ‘Z’ AFTER 10 ns; d3 = ‘Z’ AFTER 10 ns; END IF; END PROCES

文档评论(0)

xiaofei2001129 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档