八位16进制、八位10进制频率计设计

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

EDA综合实习报告一

李爱20111154006 电子科学与技术2011级

1.数字频率计的设计

(1)8位16进制频率计

①.主程序:

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY MAIN IS

PORT (A,clk1,CLK: IN STD_LOGIC;

O:OUT STD_LOGIC_VECTOR(2 DOWNTO 0);

P: OUT STD_LOGIC_VECTOR(6 DOWNTO 0));

END;

ARCHITECTURE HEAD OF MAIN IS

COMPONENT CEPIN

PORT (CLK1:IN STD_LOGIC;

CNT: OUT STD_LOGIC;

RST:OUT STD_LOGIC;

LOAD:OUT STD_LOGIC);

END COMPONENT;

COMPONENT JISHU

PORT (CLR:IN STD_LOGIC;

EN:IN STD_LOGIC;

FIN:IN STD_LOGIC;

COUT:OUT STD_LOGIC_VECTOR(31 DOWNTO 0) );

END COMPONENT;

COMPONENT SUOCUN

PORT( LK :IN STD_LOGIC;

DIN:IN STD_LOGIC_VECTOR (31 DOWNTO 0);

QDOUT: OUT STD_LOGIC_VECTOR (31 DOWNTO 0));

END COMPONENT;

COMPONENT XIANSHI

PORT (clk: in std_logic;

Q:IN STD_LOGIC_VECTOR(31 DOWNTO 0);

T:buffer STD_LOGIC_VECTOR(2 DOWNTO 0);

Y:OUT STD_LOGIC_VECTOR(6 DOWNTO 0));

END COMPONENT;

SIGNAL NET1,NET2,NET3:STD_LOGIC;

SIGNAL NET4,NET5 :STD_LOGIC_VECTOR(31 DOWNTO 0);

BEGIN

U1:CEPIN PORT MAP (CLK1=>CLK,CNT=>NET1,RST=>NET2,LOAD=>NET3);

U2:JISHU PORT MAP (CLR=>NET2,EN=>NET1,FIN=>A,COUT=>NET4);

U3:SUOCUN PORT MAP (LK=>NET3,DIN=>NET4,QDOUT=>NET5);

U4:XIANSHI PORT MAP (clk=>clk1,Q=>NET5,Y=>P,T=>O);

END HEAD;

②.测频

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY cepin IS

PORT (CLK1:IN STD_LOGIC;

CNT: OUT STD_LOGIC;

RST:OUT STD_LOGIC;

LOAD:OUT STD_LOGIC);

END ;

ARCHITECTURE one OF cepin IS

SIGNAL M: STD_LOGIC;

BEGIN

PROCESS (CLK1)

BEGIN

IF CLK1 'EVENT AND CLK1='1' THEN

M<= NOT M;

END IF;

END PROCESS;

PROCESS (CLK1,M)

BEGIN

IF CLK1='0' AND M='0' THEN RST<='1';

ELSE RST <='0';

END IF;

END PROCESS;

LOAD <= NOT M;

CNT <=M;

END one;

③.计数

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY JISHU IS

PORT (CLR:IN STD_LOGIC;

EN:IN STD_LOGIC;

FIN:IN STD_LOGIC;

COUT:OUT STD_LOGIC_VECTOR(31 DOWNTO 0)

);

END ;

ARCHITECTURE two OF JISHU IS

SIGNAL Q: STD_LOGIC_VECTOR(31 DOWNTO 0);

BEGIN

PROCESS (CLR,EN,FIN) BEGIN

IF CLR='1' THEN Q <= (OTHERS=>'0');

ELSIF FIN 'EVENT AND FIN='1' THEN

IF EN='1' THEN Q <= Q+1;

END IF;

END IF;

END PROCESS;

COUT <=Q;

END two;

④.锁存

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY SUOCUN IS

PORT( LK :IN STD_LOGIC;

DIN:IN STD_LOGIC_VECTOR (31 DOWNTO 0);

qDOUT: OUT STD_LOGIC_VECTOR (31 DOWNTO 0)); END ;

ARCHITECTURE three OF SUOCUN IS

BEGIN

PROCESS (LK,DIN)

BEGIN

IF LK 'EVENT AND LK='1' THEN qDOUT <=DIN;

END IF;

END PROCESS;

END three;

相关文档
最新文档