硬件描述语言第二讲.ppt
《硬件描述语言第二讲.ppt》由会员分享,可在线阅读,更多相关《硬件描述语言第二讲.ppt(41页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、硬件描述语言及器件 教材:任勇峰等编著VHDL与硬件实现速成 主讲教师:刘文怡08/09学年第1学期教学安排n第1讲:VHDL概述及其开发环境 n第2讲:VHDL的基本元素 n第3讲:VHDL的进程 n第4讲:其它并行语句 n第5讲:VHDL实例剖析 n第6讲:VHDL的顺序描述语句 n第7讲:结构体的描述风格 n第8讲:计数器和状态机 n第9讲:不同风格的状态机举例 n第10讲:VHDL综合举例2008-092008.12第2讲:VHDL的基本元素 n1 标识符n2 数据对象n3 数据类型n4 操作符n5 端口模式2008-092008.121 标识符n标识符规则是VHDL语言中符号书写的一
2、般规则。不仅对电子系统设计工程师是一个约束,同时也为各种各样的EDA工具提供了标准的书写规范,使之在综合仿真过程中不生产生歧义,易于仿真。nVHDL语 言 有 两 个 标 准 版:VHDL87版 和 VHDL93版。VHDL87版的标识符语法规则经过扩展后,形成了VHDL93版的标识符语法规则。前一部分称为短标识符,扩展部分称为扩展标识符。VHDL93版含有短标识符和扩展标识符两部分。2008-092008.12短标识符(1)n 短标识符短标识符nVHDL的短标识符是遵守以下规则的字符序列:n(1)必须以英文字母打头。n(2)字符可以是大写、小写的数字(09)和下划线(_)。n(3)下划线前后
3、都必须有英文字母或数字。n(4)EEA工具综合、仿真时,短标识符不区分大小写。n一般地,对VHDL的保留字:ENTITY,ARCHITECTURE,END,BUS,USE,WHEN,WAIT,IS在程序书写时,一般要求大写或黑体,使得程序易于阅读,易于检查错误。2008-092008.12短标识符(2)n 下面是合法的标识符:n multi_screensn Multi_screensn Multi_Screensn MULTI_SCREENSn 下面的书写是不合法的:n illegal%name illegal-name illegal-name2008-092008.12扩展标识符n扩展标
4、识符是VHDL93版增加的标识符书写规则:n(1)扩展标识符用反斜杠来定界。nmulti_screens,eda_centrol等都是合法的扩展标识符。n(2)允许包含图形符号、空格符。例如:mode A,$100,p%name等。n(3)反斜杠之间的字符可以用保留字。例如:buffer,entity,end等。n(4)扩展标识符的界定符两个斜杠之间可以用数字打头。如:100$,2chip,4screens等。n(5)扩展标识符中允许多个下划线相连。例如:n Four_screens,TWO_Computer_sharptor等。n(6)扩展标识符区分大小写。例如:EDA 与eda不同。n(7
5、)扩展标识符与短标识符不同。例如:COMPUTER 与Computer不同。2008-092008.122 数据对象(1)n在VHDL语言中,凡是可以赋于一个值的客体叫对象(object)。nVHDL对象包含有专门数据类型,主要有4个基本类型:常量(CONSTANT)、信号(SIGNAL)、变量(VARIABLE)和文件(FILES)。其中文件类型是VHDL93标准中新通过的。2008-092008.12数据对象(2)n信号和变量可以连续的赋于不同的值。n常量只在它被说明时赋值,在整个器件工作期间值不变化。试图对常量多次赋值是错误的。n文件可以用参数向子程序传递数据,通过子程序对文件进行读和写
6、操作。文件不可以通过赋值来更新文件的内容,文件参数没有模式。2008-092008.12数据对象(3)n对象说明的一般书写格式为:n对象类别 标识符表:子类型标识:初值;n对象说明举例:nCONSTANT T1,T2:time:30ns,-常量说明nVARIABLE SUM:read;-变量说明nSIGNAL CLOCK:bit;-信号说明nFILE input:Text IS IN“STD_INPUT”-文件说明2008-092008.12数据对象(4)n对象的赋值规则:n 可用函数调用的方法给对象赋初值。CONSTANT Busnumber:Integer:My_function(True
7、,6);n如果在同一个对象说明语句中,对多个同一类型的对象指定初始值,则多个对象同时取得了这一指定值。n信号和变量的默认值。当信号和变量没有指定初始值或没有给信号变量赋值时,即信号和变量的值在对象说明语句中默认时,信号变量的取值称为默认值。一般地,若变量为字符型变量则取最大值;若变量、信号为数值型变量,则取初始值,默认值为0 2008-092008.12常量(1)n常量(constant)是设计者给实体中某一常量名赋予的固定值。一般地,常量赋值在程序开始前进行说明,数据类型在实体说明语句中指明。常量说明的一般格式如下:nCONSTANTCONSTANT 常数名:数据类型:表达式;n根据上面的格
8、式,举例如下:n8位寄存器宽度指定:nCONSTANTCONSTANT width:integer:8;n设计实体的电源供电电压指定:nCONSTANTCONSTANT Vcc:real:5.0;n某一模块信号输入/输出的延迟时间:nCONSTANTCONSTANT DALY:time:100ns;3 数据对象2008-092008.12常量(2)n常量标识符、WIDTH,VCC,DALY,PBUS等在VHDL程序中多处有用,其值在运行中不变。若要改变常量值,必须要改变设计,改变实体中的常量说明,然后重新编译。n常量必须在程序包、实体、结构体或进程的说明区域中对常量的标识符、类型、常量值进行指
9、定。n定义在程序包中的常量由所在的实体或结构体调用。n定义在实体内的常量仅在实体内使用,定义在进程内的常量仅在进程内使用。2008-092008.12变量(1)n变量(variables)仅用在进程语句、函数语句、过程语句中的结构中使用,变量是一个局部量,变量的赋值立即生效,不产生赋值延时。变量书写的一般格式为:nVARIABLESVARIABLES 变量名:数据类型 约束条件:表达式;n根据上述格式,举例如下:nVARIABLESVARIABLES result:std_logic:0;变量赋初值nVARIABLESVARIABLES x,y,z:integer;nVARIABLESVARI
10、ABLES count:integer range 0 TO 255:10;2008-092008.12变量(2)n在VHDL语言中,变量的使用规则和限制范围说明如下:n变量赋值是直接非预设的。在某一时刻仅包含了一个值。n变量赋值和初始化赋值符号用“:”表示。n变量不能用于硬件连线和存储元件。n在仿真模型中,变量用于高层次建模。n在系统综合时,变量用于计算,作为索引载体和数据暂存。n在进程中,变量的使用范围在进程之内。若将变量用于进程之外,必须将该值赋给一个相同类型的信号,即进程之间传递数据靠的是信号。2008-092008.12信号(1)n信号(signal)是电子电路内部硬件实体相互连接的
11、抽象表示。信号通常在构造体、包集合和实体说明中使用,其一般书写格式为:nSIGNAL 信号名:数据类型、约束条件:表达式;使用上述格式举例如下:nSIGNAL SIGNAL sys_clksys_clk:BIT:BIT:0 0;-系统时钟信号nSIGNAL count:bit_vector(7 downto 0);-计数器宽度 2008-092008.12信号(2)n有关信号的使用规则说明如下:n“:=”表示对信号直接赋值,表示信号初始值不产生延时。n“=”表示代入赋值,是变量之间信号的传递,代入赋值法允许产生延时。例如:T1=T2;n在仿真中,初始化能保证信号设定在指定值上。对于存储元件的加
12、电初始状态,应该设计复位或予置位机构,而不是通过信号指定初始化值来实现。n在EDA工具综合时,信号应在结构体中描述清楚。2008-092008.124 数据类型nVHDL语言标准定义了10种标准的数据类型。为了方便设计,允许用户自定义数据类型。nVHDL语言程序是系统行为的描述、功能的说明和结构的组织,使用规范化语言,有着很强的约束性。不同的数据类型不能直接代入,相同的类型,位长不同也不能代入。EDA工具在编译、综合时会报告类型错。2008-092008.12数据类型(2)nVHDL语言标准所定义的标准数据类型n(1)整数类型(INTEGER TYPE)n(2)实数类型或浮点类型(REAL T
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 硬件 描述 语言 第二
限制150内