1、太原理工大学EDA课设4位十进制计数显示器太原理工大学专业班级测控1101班学生姓名课程名称CPLD/FPGA应用设计设计名称4位十进制计数显示器设计周数1.5周指导教师设计任务主要设计参数设计一个4位十进制计数显示器设计内容设计要求对4位十进制计数显示器进行编译、仿真,给出时序仿真波形;对七段译码电路进行编译、仿真,给出时序仿真波形;进行引脚锁定以及硬件下载测试主要参考资 料数字电路硬件设计实践,EDA技术与FPGA应用设计学生提交归档文件按题目要求进行设计,写出设计报告,给出源程序。课程设计任务书注:1.课程设计完成后,学生提交的归档文件应按照:封面任务书说明书图纸的顺序进行装订上交(大张
2、图纸不必装订) 2.可根据实际内容需要续表,但应保持原格式不变。指导教师签名: 日期: 一、设计目的4二、设计设备4三、设计原理4四、设计任务4五、设计程序41、4位十进制计数电路42、显示译码电路63、四选一数据选择器电路74、2 位二进制计数器电路75、各电路连接的顶层文件设计8六、 对程序编译,仿真91、对4位十进制计数器的程序进行编译92、对显示译码段编译、仿真103、对整体进行全局编译、引脚分配、波形仿真10七、 VHDL源文件下载到实验箱12八、 设计总结13设计一 4位十进制计数显示器一、设计目的1设计4位十进制计数器2设计输出低电平有效地七段显示译码器3显示计数器值二、设计设备
3、EDA实验箱,计算机及Quartus软件。三、设计原理计数器是在数字系统中使用最多的时序电路,它不仅能用于对时钟脉冲计数,还可以用于分频,定时,产生节拍脉冲和脉冲序列以及进行数学运算等,计数器是一个典型的时序电路,分析计数器就能更好地了解时序电路的特性。4位十进制计数器的设计分5步完成。先设计4位十进制计数电路,之后设计显示译码电路,再设计四选一数据选择器电路,再设计2位二进制计数器,最后建立一个顶层文件将4者连接起来。四、设计任务(1)对四位十进制计数器进行编辑、编译、仿真。(2)对七段译码电路进行编辑、编译、仿真。(3)对四位十进制计数译码电路进行编辑、编译、仿真。(4)进行引脚锁定以及硬
4、件下载测试,记录实验结果。五、设计程序1.4位十进制计数电路LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY COU4 ISPORT( CLK,RESET,CIN :IN STD_LOGIC; CO :OUT STD_LOGIC; BCDAP :OUT STD_LOGIC_VECTOR(3 DOWNTO 0); BCDBP :OUT STD_LOGIC_VECTOR(3 DOWNTO 0); BCDCP :OUT STD_LOGIC_VECTOR(3 DOWNTO 0); BCDDP
5、:OUT STD_LOGIC_VECTOR(3 DOWNTO 0) );END COU4;ARCHITECTURE BEHAVE OF COU4 IS SIGNAL BCDAN:STD_LOGIC_VECTOR(3 DOWNTO 0); SIGNAL BCDBN:STD_LOGIC_VECTOR(3 DOWNTO 0); SIGNAL BCDCN:STD_LOGIC_VECTOR(3 DOWNTO 0); SIGNAL BCDDN:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGIN BCDAP=BCDAN; BCDBP=BCDBN; BCDCP=BCDCN; BCDDP=BC
6、DDN;KK1:PROCESS(CLK) BEGIN IF(CLKEVENT AND CLK=1)THEN IF(RESET=0)THEN BCDAN=0000; ELSIF(CIN=1)THEN IF(BCDAN=1001)THEN BCDAN=0000; ELSE BCDAN=BCDAN+1; END IF; END IF; END IF;END PROCESS KK1;KK2:PROCESS(CLK) BEGIN IF(CLKEVENT AND CLK=1)THEN IF(RESET=0)THEN BCDBN=0000; ELSIF(CIN=1) AND (BCDAN=1001)THEN
7、 IF(BCDBN=1001)THEN BCDBN=0000; ELSE BCDBN=BCDBN+1; END IF; END IF; END IF;END PROCESS KK2;KK3:PROCESS(CLK) BEGIN IF(CLKEVENT AND CLK=1)THEN IF(RESET=0)THEN BCDCN=0000; ELSIF(CIN=1) AND (BCDBN=1001) AND (BCDAN=1001)THEN IF(BCDCN=1001)THEN BCDCN=0000; ELSE BCDCN=BCDCN+1; END IF; END IF; END IF;END PR
8、OCESS KK3;KK4:PROCESS(CLK) BEGIN IF(CLKEVENT AND CLK=1)THEN IF(RESET=0)THEN BCDDN=0000; ELSIF(CIN=1) AND (BCDCN=1001) AND (BCDBN=1001) AND (BCDAN=1001)THEN IF(BCDDN=1001)THEN BCDDN=0000; ELSE BCDDN=BCDDN+1; END IF; END IF; END IF;END PROCESS KK4;END BEHAVE;2.显示译码电路LIBRARY IEEE;USE IEEE.STD_LOGIC_116
9、4.ALL;ENTITY SEG7 ISPORT(II:IN STD_LOGIC_VECTOR(3 DOWNTO 0); Y :OUT STD_LOGIC_VECTOR(6 DOWNTO 0);END SEG7;ARCHITECTURE BEHAVE OF SEG7 ISSIGNAL INDATA:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGIN INDATA Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y YYyyyyy=0000; END CASE; END PROCESS;END BEHAVIORAL1;4.2位二进制计数器电路LIBRARY IEEE;U
10、SE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY counter4 isPORT(CLK1:IN STD_LOGIC; CNT: OUT STD_LOGIC_VECTOR(1 DOWNTO 0) );END counter4;ARCHITECTURE BEHAVIORAL2 of counter4 ISSIGNAL cnt1:STD_LOGIC_VECTOR(1 DOWNTO 0 ):=00;BEGINPROCESS(CLK1)BEGIN IF CLK1E
11、VENT AND CLK1=1 THEN cnt1=cnt1+1; END IF;END PROCESS; CNT=cnt1;END BEHAVIORAL2;5.各电路连接的顶层文件设计LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY COU47SEG IS PORT(CLK,clk1,RESET,ENA:IN STD_LOGIC; SEG1: OUT STD_LOGIC_VECTOR(6 DOWNTO 0); Sel: out std_logic_vector(1 downto 0);END COU47SEG;ARCHITECTURE X47 O
12、F COU47SEG ISCOMPONENT SEG7 PORT(II:IN STD_LOGIC_VECTOR(3 DOWNTO 0); Y :OUT STD_LOGIC_VECTOR(6 DOWNTO 0);END COMPONENT;COMPONENT COU4 PORT(CLK,RESET,CIN:IN STD_LOGIC; BCDAP: OUT STD_LOGIC_VECTOR(3 DOWNTO 0); BCDBP: OUT STD_LOGIC_VECTOR(3 DOWNTO 0); BCDCP: OUT STD_LOGIC_VECTOR(3 DOWNTO 0); BCDDP: OUT
13、 STD_LOGIC_VECTOR(3 DOWNTO 0);END COMPONENT;COMPONENT mux4_1 PORT(SEG1,SEG2,SEG3,SEG4:IN STD_LOGIC_VECTOR(3 downto 0); s:IN STD_LOGIC_VECTOR(1 DOWNTO 0); y:OUT STD_LOGIC_VECTOR(3 downto 0) );END COMPONENT;COMPONENT counter4 PORT(CLK1:IN STD_LOGIC; CNT:OUT STD_LOGIC_VECTOR(1 DOWNTO 0) );END COMPONENT
14、;SIGNAL A,B,C,D,seg:STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL e:STD_LOGIC_VECTOR(1 DOWNTO 0);BEGINU0:COU4 PORT MAP(CLK,RESET,ENA,A,B,C,D);U1:mux4_1 PORT MAP(A,b,c,d,e,seg);U2:counter4 PORT MAP(CLK1,e);U3:seg7 PORT MAP(seg,seg1);sel=e;END X47;六、对程序编译,仿真1、对4位十进制计数器的程序进行编译,其结果如下:2、对显示译码段编译、仿真,其结果如下:3、对整体进行全局编译、引脚分配、波形仿真,其结果如下:七、VHDL源文件下载到实验箱:八、设计总结 在本次设计中,我们还需要大量的以前没有学到过的知识,于是图书馆和INTERNET成了我们很好的助手。在查阅资料的过程中,我们要判断优劣、取舍相关知识,不知不觉中我们查阅资料的能力也得到了很好的锻炼。我们学习的知识是有限的,在以后的工作中我们肯定会遇到许多未知的领域,这方面的能力便会使我们受益非浅。 在设计过程中,总是遇到这样或那样的问题。有时发现一个问题的时候,需要做大量的工作,花大量的时间才能解决。自然而然,我的耐心便在其中建立起来了。为以后的工作积累了经验,增强了信心。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1