eda-2005_张春.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
eda-2005_张春

VHDL硬件描述语言 内容摘要 设计流程 VHDL简介 电路单元造型 仿真 综合 设计流程 内容摘要 设计流程 VHDL简介 电路单元造型 仿真 综合 背景知识 Very high speed integrated Hardware Description Language (VHDL) 是工业界标准的一种硬件描述语言 IEEE Std 1076-1987 (VHDL 1987) IEEE Std 1076-1993 (VHDL 1993) 特点 描述电路的行为和功能,隐藏了设计细节 依靠EDA工具综合出电路,提高设计效率,缩短设计周期 可重用性和可移植性(Soft Core) 工艺无关性、易于修改和维护 VHDL程序结构(一) 库library LIBRARY ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; 实体entity 结构体architecture 配置configuration VHDL程序结构(二) VHDL程序举例 实体(entity) In,out或buffer std_logic, std_logic_vector, integer Out和buffer类型 结构体(architecture) 描述电路的结构或行为 数据类型 9值逻辑std_logic ‘1’,’0’,’X’,’U’,’Z’等 矢量类型std_logic_vector(m downto n) “0000”, ”0100000”, X”40” 整型integer signal y: integer range 0 to 15; y = 11; y = CONV_INTEGER(x); 自定义类型 type instr is array (0 to 15)of std_logic_vector(7 downto 0); signal IRAM: instr; y = IRAM(12); 数据操作 赋值(=) y = z; y = ‘1’; x = “0010”; 逻辑AND、OR、NOT、NAND、NOR、XOR、XNOR 数学运算(+,-,*) 用于整数和矢量运算 例: y = x1+x2; 比较(=、/=、 、、=、=) 矢量的运算操作 +、-、* 数据操作-拼接 拼接() 拼接可以把两个信号拼接成一个新的矢量信号 x(3 downto 2) = x(1) x(0); 电路模块的实现 并行赋值语句 COMPONENT 进程 PROCESS (信号1,信号2,…) BEGIN 行为描述语句; END PROCESS; 进程内语句 赋值 条件分支 CASE语句 LOOP语句 条件分支 If 条件 then 语句; else 语句; end if; CASE语句 Case 信号 is When 值1 = 语句; when 值2 | 值3 | … = 语句; when others = 语句; End case; 内容摘要 设计流程 VHDL简介 电路单元造型 仿真 综合 电路单元分类 组合逻辑(并行赋值) 组合逻辑(进程) process(A,B,C) begin if A=’1’ and B=’1’ and C=’1’ then F = ‘1’; Else F =’0’; End if; End process; 所有的条件分支必须写全 敏感表包括所有的输入信号 组合逻辑的推断 MUX process(Data_In, Sel) begin case Sel is -- synopsys infer_mux when 000 = Data_Out = Data_In(0); when 001 = Data_Out = Data_In(1); when 010 = Data_Out = Data_In(2); when others = Data_Out = Data_In(0); end case; end process; 触发器(D触发器) 异步复位(置位) 时钟信号控制 输出保持 敏感表只有异步信号和时钟信号 process(RST,CLK) begin if RST=’1’ then Q = ‘0’; Elsif CLK’event and CLK=’1’ then --时钟

文档评论(0)

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

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

1亿VIP精品文档

相关文档