- 2
- 0
- 约1.1万字
- 约 55页
- 2017-07-02 发布于湖北
- 举报
基本数字电路的EDA实现;; LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY gates IS
PORT( a,b: IN STD_LOGIC;
cand,cor,cxor:OUT STD_LOGIC);
END gates;
ARCHITECTURE a OF gates IS
SIGNAL din:STD_LOGIC_VECTOR(1 DOWNTO 0);
BEGIN
din=ab;
PROCESS(a,b)
BEGIN
CASE din IS
WHEN 00=cand=0;cor=0;cxor=0;
WHEN 01=cand=0;cor=1;cxor=1;
WHEN 10=cand=0;cor=1;cxor=1;
WHEN 11=cand=1;cor=1;cxor=0;
WHEN OTHERS=null;
END CASE;
END PROCESS;
END a;;描述逻辑功能时直接使用了AND、OR、XOR等逻辑算符; 上面两种方法不同,但均能得到相同的逻辑结果,二者的仿真结果均如图5-2所示。; 触发器的设计;; 从表可以看出,当预置位端prn(或复位端clrn)有效时(低电平),无论时钟和数据输入信号d的电平情况,输出都为高电平(或低电平)。而当二者同为低电平,即预置位端与复位端同时有效时,输出不定,用“X”表示。当预置位端PRN与复位端CLRN均无效时,随着上升沿的到来,输出逻辑与输入端d逻辑值相同。;LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY dffe2 IS
PORT( d ,clk ,clrn ,prn ,ena :IN STD_LOGIC;
q :OUT STD_LOGIC );
END dffe2;
ARCHITECTURE a OF dffe2 IS
BEGIN
PROCESS(clk,prn,clrn,ena,d)
BEGIN
IF prn=0 THEN q=1;
ELSIF clrn=0 THEN q=0;
ELSIF clkevent AND clk=1 THEN
IF ena=1 then
q=d;
END IF;
END IF;
END PROCESS;
END a;; 将该程序下载入本书配套的CPLD电路板进行硬件验证,按照以下步骤进行。(1)确定管脚对应关系:输入信号prn、clrn、ena、d与按键K0~K3一一对应;输出信号q 与发光二极管D0对应。
(2)由QUARTUSII进行管脚分配: K0~K3在MAXII芯片上对应的管脚号依次为26~29;D0在MAXII芯片上对应的管脚号为88。
(3)电平定义 :以D0的亮代表输出信号对应位的电平为‘1’、D0的“灭”代表输出信号对应位的电平为‘0’;按键K3~K0按下时相当于输入信号为低电平, 不按时相当输入信号为高电平。
(4)按照表5-3列举的情况按键,可得到相应的结果。;编码器的设计
数字系统所需处理的输入信号经常只能提供一位二进制位,即高电平或低电平信号,而一个系统的输入电平信号一般有很多,数字系统怎样区分这些高、低电平输入信号,就是编码器所需解决的问题。所谓编码,就是取一定二进制位数为一组,把每组二进制码按一定的规律编排,使每组代码代表某个输入信号。当多个信号同时到达数字系统要求处理时,需要根据事先拟定的处理顺序先后处理。用来判断每个信号的优先级别并进行编码的逻辑单元电路称为优先编码器。;BCD编码器;; 格雷码编码器;LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY coder IS
PORT(d:IN STD_LOGIC_VECTOR(9 downto 0);
b:OUT STD_LOGIC_VECTOR(3 downto 0));
END coder;
ARCHITECTURE one OF coder IS
BEGIN
PROCESS(d)
BEGIN
CASE d IS
WHEN 0111111111=b=0000;
WHEN 1011111111=b=0001 ;
WHEN 1101111111=b=0010 ;
WHEN 1110111111=b=0110 ;
WHEN 1111011111=b= 0
原创力文档

文档评论(0)