LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_ARITH.ALL;
USE IEEE.STD_LOGIC_UNSINGED.ALL;
ENTITY CTRL IS
PORT(DATA_N:IN STD_LOGIC_VECTOR(3 DOWNTO 0);
DATA_F:IN STD_LOGIC_VECTOR(3 DOWNTO 0);
FLAG_N:IN STD_LOGIC;
FLAG_F:IN STD_LOGIC;
CLK: IN STD_LOGIC;
ENLOCK: OUT STD_LOGIC;
DATA_BCD: OUT STD_LOGIC_VECTOR(15 DOWNTO 0));
END ENTTY CTRL;
ARCHITECTURE ART OF CTRL IS
SIGNAL ACC,REG:STD_LOGIC_VECTOR(15 DOWNTO 0);
SIGNAL NC,REG:STD_LOGIC_VECTOR(2 DOWNTO 0);
SIGNAL RR2,CLR,BB,QA,QB:STD_LOGIC;
SIGNAL R1,R0:STD_LOGIC;
BEGIN
PROCESS(CLK)
BEGIN
IF CLK’EVENT AND CLK=’1’THEN
R1<=R0;R0<=FLAG_F;
END IF;
RR2<=R1 AND NOT R0;
CLR<=RR2;
END PROCESS;
--按键输入数据的存储、清零进程
KEYIN_PROCESS:BLOCK IS
SIGNAL RST ,D0,D1:STD_LOGIC;
BEGIN
RST<=RR2;
PROCESS(FLAG_N,RST)IS
BEGIN
IF RST =’1’ THEN
ACC<=“00000000”;
NC<=“000”;
ELSE
IF FLAG_N’EVENT AND FLAG_N=’1’ THEN
IF NC<4 THEN
ACC<=ACC(11 DOWNTO 0)&DATA_N;
NC<=NC+1;
END IF;
END IF;
END IF;
END PROCESS;
END BLOCK KEYIN_PROCESS;
--上锁、开锁控制
LOCK_PROCESS:BLOCK IS
BEGIN
PROCESS(CLK,DATA_F)IS
BEGIN
IF(CLK’EVENT AND CLK=’1’)THEN
IF NC=4 THEN
IF DATA_F(2)=’1’THEN
REG<=ACC;
QA<=’1’;QB<=’0’;
ELSIF DATA_F(0)=’1’THEN
IF REG=ACC THEN
QA<=’0’;QB<=’1’;
END IF;
ELSIF ACC=”10001000”
QA<=’0’;QB<=’1’;
END IF;
END IF;
END IF;
END PROCESS;
END BLOCK LOCK_PROCESS;
ENLOCK<=QA AND NOT QB;
DATA_BCD<=ACC;
END ARCHITETURE ART;
致谢
大学就要结束,三年的大学生活不但丰富了自己的阅历,同时也增长了不少的文化知识。本次毕业设计就是对大学所的掌握知识进行总结和检验。这次设计主要是基于EDA方面的设计。同时设计中所要使用的ISP器件及VHDL等技术都是当今比较流行和未来最有前景的设计手段,让自己能体会出自己的知识必须跟上时代的进步。设计开始自己先对EDA的理论知识进行回顾和总结,然后通过自己对ISP器件和VHDL软件的一些了解初步的拟出设计原始的框架。然后设计过程中利用图书馆、互联网以及张小华老师的指导下不断的修改自己的设计方案。最后提交自己的设计成果。整个过程完全浓缩了自己的大学知识以及养成的学习方法,当然也少不了张老师对自己设计作品的检查和修改。所以自己也通过设计,了解了实际电子设计过程中所使用的手段和方法,为以后步入社会打下基础,这次设计也是锻炼了自己灵活使用书本知识的能力。
最后,要对自己出现的缺点进行总结和更正,为以后的操作和工作提供经验。同时要对自己的指导老师张老师进行感谢,感谢他在百忙之中抽空给我们进行课题指导,感谢他对自己提供课题方面的资料和对设计中出现的问题进行修改。
<< 上一页 [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] ... 下一页 >>