- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
VHDL基本语句-属性描述语句 4.函数类属性: ·函数类属性是指属性以函数的形式,给出有关数据类型、数组、信号的某些信息。 数据类型属性函数 pos(x)-- 返回x值的位置序号 val(x)-- 返回位置序号x的值 succ(x)-- 返回输入值x的下一个值 pred(x)-- 返回输入值x的前一个值 leftof(x)-- 返回邻接x值左边的值 rightof(x)-- 返回邻接x值右边的值 VHDL基本语句-属性描述语句 4.函数类属性: ·函数类属性是指属性以函数的形式,给出有关数据类型、数组、信号的某些信息。 数组属性函数(多维数组) right(n)—返回n维区间的右端边界号 left(n)--返回n维区间的左端边界号 low(n)--返回n维区间的低端边界号 high(n)--返回n维区间的高端边界号 例:type m is array(0 to 7, 3 downto 0)of bit; m’left(1) -- 0 m’left(2) -- 3 m’right(1) -- 7 m’high(2) -- 3 m’low(1) -- 0 VHDL基本语句-属性描述语句 4.函数类属性: ·函数类属性是指属性以函数的形式,给出有关数据类型、数组、信号的某些信息。 信号类属性函数 event—当信号在很短的时间内发生了变化,返回真 last_value--返回信号最后一次改变以前的值 例:时钟上升沿的检测表达 IF clk’event and clk=‘1’ THEN … 更严谨的表达: IF clk’event and clk’last_value=‘0’and clk=‘1’THEN … VHDL基本语句-属性描述语句 5.数据类型属性: ·’base 该属性可以得到一个数据类型的基本类型 例: TYPE week IS(S0,S1,S2,S3,S4,S5,S6,S7); SUBTYPE wk IS week RANGE S0 TO S3; Variable x:week; x:=wk’base’right; --S7 VHDL基本语句-属性描述语句 6.用户自定义属性: 属性与属性值的定义格式如下: ATTRIBUTE 属性名:数据类型; ATTRIBUTE 属性名 OF 对象名:对象类型 IS 值; 例:枚举类型编码 TYPE state IS (S0,S1,S2,S3); 默认的编码方式: S0=“00”,S1=“01”,S2=“10”,S3=“11” ATTRIBUTE encoding OF state is : TYPE is “11 10 00 01”; VHDL测试基准 测试基准: 一旦设计者描述了一个设计,必须对其进行验证,一检查是否符合设计规范。 最常用的方法是在模拟时施加输入激励信号。另外一种方法是用VHDL写一个测试模型发生器和要检查的输出,即测试基准(Test Bench) 测试基准的用法将在仿真一节详细介绍 VHDL程序的其它构件 VHDL程序的其它构件 块 块(BLOCK)是VHDL中的一种划分机制,它允许设计者将一个模块划分成数个区域 注意:BLOCK方式的划分结构只是形式上的,在综合后硬件结构的逻辑层次不会增加,跟元件例化是不同的 块标号:BLOCK [(防护表达式)] 接口说明 类属说明 块说明部分; BEGIN 并行语句 END BLOCK[块标号]; VHDL程序的其它构件——块 块——example library ieee; use ieee.std_logic_1164.all; entity example3 is port ( d , clk : in bit ; q, qb: out bit); end example3; architecture latch_bus of example3 is begin b1: block ( clk =‘1’) --()是防护表达式为布尔型 begin q = guarded d after 5 ns; --由guarded引导防护语句 qb = not (d) after 7 ns; end block b1; end latch_bus; VHDL程序的其它构件——块 块——example仿真 分析:防护条件为真时,防护表达式才起作用,而对非防护表达式不起作用 VHDL程序的其它构件 函数 在VHDL中
原创力文档


文档评论(0)