第四章_VHDL设计初驳慕1.pptVIP

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

EDA技术实用教程;【例4-1】 ENTITY mux21a IS PORT( a, b : IN BIT ; s : IN BIT; y : OUT BIT ) ; END ENTITY mux21a ; ARCHITECTURE one OF mux21a IS BEGIN y = a WHEN s = 0 ELSE b ; END ARCHITECTURE one ;;【例4-2】 ENTITY mux21a IS PORT ( a, b : IN BIT; s : IN BIT; y : OUT BIT ); END ENTITY mux21a; ARCHITECTURE one OF mux21a IS SIGNAL d,e : BIT; BEGIN d = a AND (NOT S) ; e = b AND s ; y = d OR e ; END ARCHITECTURE one ;;4.1.1 2选1多路选择器的VHDL描述;4.1.1 2选1多路选择器的VHDL描述;4.1.2 VHDL相关语法说明;GENERIC类属说明语句;; PORT(端口)说明;端口模式;结构体的一般语言格式: ; 说明语句对结构内部使用的数据类型、常数、信号、子程序和元件等元素进行定义。说明语句不是必需的 功能描述语句用于描述实体逻辑功能和电路结构。 功能描述语句可以是并行语句,也可以是顺序语句或是它们的混合。;用VHDL语言描述结构体功能有3种方法;功能描述语句结构;3 操作符;表4-2 VHDL操作符优先级; 【例】 SIGNAL a ,b,c : STD_LOGIC_VECTOR (3 DOWNTO 0) ; SIGNAL d,e,f,g : STD_LOGIC_VECTOR (1 DOWNTO 0) ; SIGNAL h,I,j,k : STD_LOGIC ; SIGNAL l,m,n,o,p : BOOLEAN ; ... a=b AND c; --b、c 相与后向a赋值,a、b、c的数据类型同属4位长的位矢量 d=e OR f OR g ; -- 两个操作符OR相同,不需括号 h=(i NAND j)NAND k ; -- NAND不属上述三种算符中的一种,必须加括号 l=(m XOR n)AND(o XOR p); -- 操作符不同,必须加括号 h=i AND j AND k ; -- 两个操作符都是AND,不必加括号 h=i AND j OR k ; -- 两个操作符不同,未加括号,表达错误 a=b AND e ; -- 操作数b 与 e的位矢长度不一致,表达错误 h=i OR l ; -- i 的数据类型是位STD_LOGIC,而l的数据类型是 ... -- 布尔量BOOLEAN,因而不能相互作用,表达错误。 ;关系操作符;4. IF_THEN条件语句;例: Library ieee; use ieee.std_logic_1164.all; Entity encoder is Port(d: in std_logic_vector(3 downto 0); q: out std_logic_vector(1 downto 0)); end encoder; architecture example_if of encoder is begin process(d) begin if(d(0)=‘0’) then q=“11”; elsif(d(1)=‘0’) then q=“10”; elsif(d(2)=‘0’) then q=“01”; else q=“00”; end if ; end process; End example_if;;5. WHEN_ELSE条件信号赋值语句;例:用条件信号赋值语句设计四选一电路模块;6. PROCESS进程语句和顺序语句; PROCESS 组成; 进程要点;【例】 ENTITY mul IS PORT (a, b, c, selx, sely : IN BIT; data_ou

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档