太原理工大学EDA课设4位十进制计数显示器_第1页
太原理工大学EDA课设4位十进制计数显示器_第2页
太原理工大学EDA课设4位十进制计数显示器_第3页
太原理工大学EDA课设4位十进制计数显示器_第4页
太原理工大学EDA课设4位十进制计数显示器_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、太原理工大学专业班级测控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 显示计数器值二、 设计设备EDA实验箱,计算

3、机及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 :OUT S

5、TD_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; BC

6、DDP<=BCDDN;KK1:PROCESS(CLK) BEGIN IF(CLK'EVENT 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

7、(CLK) BEGIN IF(CLK'EVENT AND CLK='1')THEN IF(RESET='0')THEN BCDBN<="0000" ELSIF(CIN='1') AND (BCDAN="1001")THEN IF(BCDBN="1001")THEN BCDBN<="0000" ELSE BCDBN<=BCDBN+'1' END IF; END IF; END IF;END PROCESS KK2;KK3:PRO

8、CESS(CLK) BEGIN IF(CLK'EVENT 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 I

9、F; END IF;END PROCESS KK3;KK4:PROCESS(CLK) BEGIN IF(CLK'EVENT 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<=&

10、quot;0000" ELSE BCDDN<=BCDDN+'1' END IF; END IF; END IF;END PROCESS KK4;END BEHAVE;2.显示译码电路LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.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_LOGI

11、C_VECTOR(3 DOWNTO 0);BEGIN INDATA<=II; PROCESS(INDATA) BEGIN CASE INDATA IS WHEN"0000"=> Y<="0111111" WHEN"0001"=> Y<="0000110" WHEN"0010"=> Y<="1011011" WHEN"0011"=> Y<="1001111" WHEN"010

12、0"=> Y<="1100110" WHEN"0101"=> Y<="1101101" WHEN"0110"=> Y<="1111101" WHEN"0111"=> Y<="0000111" WHEN"1000"=> Y<="1111111" WHEN"1001"=> Y<="1101111" W

13、HEN"1010"=> Y<="1110111" WHEN"1011"=> Y<="1111100" WHEN"1100"=> Y<="0111001" WHEN"1101"=> Y<="1011110" WHEN"1110"=> Y<="1111001" WHEN"1111"=> Y<="111

14、0001"WHEN OTHERS=>Y<="XXXXXXX" END CASE; END PROCESS;END BEHAVE;3.四选一数据选择器电路LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY mux4_1 is PORT (SEG1,SEG2,SEG3,SEG4:IN STD_LOGIC_VECTOR(3 downto 0); s:IN STD_LOGIC_VECTOR(1 D

15、OWNTO 0); y:OUT STD_LOGIC_VECTOR(3 downto 0) );END mux4_1;ARCHITECTURE BEHAVIORAL1 OF mux4_1 ISBEGIN PROCESS(SEG1,SEG2,SEG3,SEG4,s) BEGIN CASE s IS WHEN "00"=>y<=SEG1; WHEN"01"=>y<=SEG2; WHEN"10"=>y<=SEG3; WHEN"11"=>y<=SEG4; WHEN OTHERS

16、=>y<="0000" END CASE; END PROCESS;END BEHAVIORAL1;4.2位二进制计数器电路LIBRARY IEEE;USE 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

17、of counter4 ISSIGNAL cnt1:STD_LOGIC_VECTOR(1 DOWNTO 0 ):="00"BEGINPROCESS(CLK1)BEGIN IF CLK1'EVENT 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,E

18、NA:IN STD_LOGIC; SEG1: OUT STD_LOGIC_VECTOR(6 DOWNTO 0); Sel: out std_logic_vector(1 downto 0);END COU47SEG;ARCHITECTURE X47 OF 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:

19、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 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

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论