- 1、本文档共69页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
可编程器件及数字系统设计 可编程器件及数字系统设计 第五讲 第五讲:VHDL设计实例 常用组合逻辑电路设计 常用时序逻辑电路设计 VHDL程序设计规范 一、常用组合逻辑电路设计 (1)编码器 (2)译码器 (3)比较器 (4)数据选择器 (5)三态输出电路 (1)编码器 architecture m1 of bmq is signal sel : std_logic_vector(8 downto 0); begin Process(En, A) Begin If En=1 then if A=then Y= 000; elsif A=then Y= 001; elsif A=then Y= 010; elsif A=then Y= 011; elsif A=then Y= 100; elsif A=then Y= 101; elsif A=then Y= 110; else Y= 111; end if; Else Y= 000; end if; end process; end m1; (2)译码器 A. 3-8译码器 library ieee; use ieee.std_logic_1164.all; entity ymq is port( Y : in std_logic_vector(2 downto 0); EN : in std_logic; A : out std_logic_vector(7 downto 0)); end ymq; architecture m1 of ymq is signal sel : std_logic_vector(3 downto 0); begin sel=En Y; with sel select Awhen 1000, when 1001, when 1010, when 1011, when 1100, when 1101, when 1110, when 1111, when others; end m1; (2)译码器 B.码制转换 Library ieee; Use ieee.std_logic_1164.all; Use ieee.std_logic_unsigned.all; Entity bcd is Port( A : in std_logic_vector(3 downto 0); bcd0,bcd1 : out std_logic_vector(3 downto 0); seven0,seven1 : out std_logic_vector(6 downto 0)); End bcd; Architecture a of bcd is signal tmp:std_logic_vector(3 downto 0); Begin bcd0=A when (A10) else A+6; bcd1=“0000” when (A10) else “0001”; tmp = bcd0; seven0=0111111 when tmp=0000 else --0 0000110 when tmp=0001 else --1 1011011 when tmp=0010 else --2 1001111 when tmp=0011 else --3 1100110 when tmp=0100 else --4 1101101 when tmp=0101 else --5 1111101 when tmp=0110 else --6 0000111 when tmp=0111 else --7 1111111 when tmp=1000 else --8
文档评论(0)