- 1、本文档共27页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
专题三-VHDL与数字集成电路(IF与CASE)
一、半加器 半加器电路是指对两个输入数据位进行加法,输出一个结果位和进位,不产生进位输入的加法器电路。 是实现两个一位二进制数的加法运算电路。 真值表 VHDL表述——逻辑关系 原理图 MOS级电路图——异或门 VHDL表述——真值表 二、选择器 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY mux4 IS PORT (s : IN STD_LOGIC_vector(1 downto 0);; a,b,c,d : IN STD_LOGIC; z : OUT STD_LOGIC); END ENTITY mux4; ARCHITECTURE active OF mux4 IS BEGIN PROCESS(s,a,b,c,d) BEGIN CASE s IS WHEN “00”=z=a; WHEN “01”=z=b; WHEN “10”=z=c; WHEN “11”=z=d; WHEN OTHERS=NULL; END CASE; END PROCESS; END active; LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY mus4 IS PORT (s : IN STD_LOGIC_vector(1 downto 0); a,b,c,d : IN STD_LOGIC; z : OUT STD_LOGIC); END ENTITY mus4; ARCHITECTURE active OF mus4 IS BEGIN PROCESS(s,a,b,c,d) BEGIN if (s=00) THEN z=a; ELSIF (S=01) THEN z=b; ELSIF (S=10) THEN z=c; ELSE z=d; END IF; END PROCESS; END active; LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY mus4 IS PORT (s : IN STD_LOGIC_vector(1 downto 0); a,b,c,d : IN STD_LOGIC; z : OUT STD_LOGIC); END ENTITY mus4; ARCHITECTURE active OF mus4 IS BEGIN PROCESS(s,a,b,c,d) BEGIN if (s=00) THEN z=a; ELSIF (S=01) THEN z=b; ELSIF (S=10) THEN z=c; ELSIF (S=11)THEN z=d; ELSE Z=Z; END IF; END PROCESS; END active; 与IF语句相比,CASE语句组的程序可读性比较好,这是因为它把条件中“表达式”的所有取值都列了出来,可执行条件一目了然。 但对相同的逻辑功能描述,综合后,用CASE语句描述比IF描述耗用更多的硬件资源。 因此,对本身就具有优先逻辑关系的描述(如优先编码器),采用IF语句比CASE语句更合适。 三、D触发器 电平触发的主从触发器工作时,必须在正跳沿前加入输入信号。如果在CP 高电平期间输入端出现干扰信号,那么就有可能使触发器的状态出错。而边沿触发器允许在CP 触发沿来到前一瞬间加入输入信号。这样,输入端受干扰的时间大大缩短,受干扰的可能性就降低了。边沿D触发器也称为维持-阻塞边沿D触发器 VHDL表述——使用信号 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY DFF1 IS PORT (CLK,D: IN STD_LOGIC; Q:OUT STD_LOGIC); END; ARCHITECTURE BHV OF DFF1 IS SIGNAL Q1: STD_LOGIC; BEGIN PROCESS (CLK,Q1) BEGIN IF CLK’EVENT AND CLK=‘1’ THEN Q1=D; END IF; END PROCESS; Q=Q1; END BHV; 电路符号原理图 VHDL表述——使用变量 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY D
文档评论(0)