文档详情

EDA技术及应用课程设计 三位十进制计数器,交通灯控制器,四位移位乘法器.doc

发布:2018-02-25约1.99万字共47页下载文档
文本预览下载声明
设计一 三位十进制计数显示器 一、课设目的 ① 学习时序电路中多进程的VHDL描述方法。 ② 掌握层次化设计方法。 ③ 熟悉EDA的仿真分析和硬件测试技术。 二、设计内容 设计一个三位十进制计数器,对计数器相关的理论进行分析、归纳和总结;三位十进制计数器的结构组成及原理分析。程序代码;给出程序中主要函数或者语句的功能说明和使用说明;给出程序仿真运行结果和图表、以及实验结果分析和总结。 三、课设原理 计数器是在数字系统中使用最多的时序电路,它不仅能用于对时钟脉冲计数,还可以用于分频,定时,产生节拍脉冲和脉冲序列以及进行数学运算等,计数器是一个典型的时序电路,分析计数器就能更好地了解时序电路的特性。3位十进制计数显示器的设计分位3个步骤,先设计3位十进制计数电路,再设计显示译码电路,最后建立一个顶层文件将二者连接起来。 三位十进制计数器VHDL程序 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY COUNT3 IS PORT(CLK,RESET,CIN:IN STD_LOGIC; CO:OUT STD_LOGIC; A,B,C:OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); END COUNT3; ARCHITECTURE ART OF COUNT3 IS SIGNAL AP,BP,CP:STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN KK1:PROCESS(CLK) IS BEGIN IF CLKEVENT AND CLK=1 THEN IF RESET=0 THEN AP=0000; ELSIF CIN=1 THEN IF AP=1001 THEN AP=0000; ELSE AP=AP+1; END IF; END IF; END IF; END PROCESS KK1; KK2:PROCESS(CLK) IS BEGIN IF CLKEVENT AND CLK=1 THEN IF RESET=0 THEN BP=0000; ELSIF CIN=1 AND AP=1001 THEN IF BP=1001 THEN BP=0000; ELSE BP=BP+1; END IF; END IF; END IF; END PROCESS KK2; KK3:PROCESS(CLK) IS BEGIN IF CLKEVENT AND CLK=1 THEN IF RESET=0 THEN CP=0000; ELSIF CIN=1 AND AP=1001 and BP=1001 THEN IF CP=1001 then CP=0000; ELSE CP=CP+1; END IF; END IF; END IF; END PROCESS KK3; PROCESS(AP,BP,CP) IS BEGIN if (AP=1001 AND BP=1001 AND CP=1001) THEN CO=1; ELSE CO=0; END IF; END PROCESS; A=AP; B=BP; C=CP; END ART; 显示译码器VHDL程序 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY YIMA7 IS PORT(A:IN STD_LOGIC_VECTOR(3 DOWNTO 0); YIMA:OUT STD_LOGIC_VECTOR(6 DOWNTO 0)); END YIMA7; ARCHITECTURE ART OF YIMA7 IS BEGIN PROCESS(A) IS BEGIN CASE (A) IS
显示全部
相似文档