EDA课程设计报告模板.docx

上传人:b****7 文档编号:9260156 上传时间:2023-02-03 格式:DOCX 页数:12 大小:25.51KB
下载 相关 举报
EDA课程设计报告模板.docx_第1页
第1页 / 共12页
EDA课程设计报告模板.docx_第2页
第2页 / 共12页
EDA课程设计报告模板.docx_第3页
第3页 / 共12页
EDA课程设计报告模板.docx_第4页
第4页 / 共12页
EDA课程设计报告模板.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

EDA课程设计报告模板.docx

《EDA课程设计报告模板.docx》由会员分享,可在线阅读,更多相关《EDA课程设计报告模板.docx(12页珍藏版)》请在冰豆网上搜索。

EDA课程设计报告模板.docx

EDA课程设计报告模板

 

《EDA技术综合设计》

课程设计报告

 

报告题目:

数字秒表设计

作者所在系部:

电子工程系

作者所在专业:

自动化

作者所在班级:

作者姓名:

指导教师姓名:

完成时间:

2010/12/3

内容摘要

秒表共有6个输出显示,分别为百分之一秒、十分之一秒、秒、十秒、分、十分,所以共有6个计数器与之相对应,6个计数器的输出全都为BCD码输出,这样便于和显示译码器的连接。

当计时达60分钟后,蜂鸣器鸣响10声。

除此之外,整个秒表还需有一个启动信号和一个归零信号,以便秒表能随意停止及启动。

秒表的逻辑结构较简单,它主要由显示译码器、分频器、十进制计数器、六进制计数器和报警器组成。

四个10进制计数器:

用来分别对百分之一秒、十分之一秒、秒和分进行计数;

两个6进制计数器:

用来分别对十秒和十分进行计数;

分频器:

用来产生100HZ计时脉冲;

显示译码器:

完成对显示的控制。

根据电路持点,用层次设计概念将此设计任务分成若干模块,规定每一模块的功能和各模块之间的接口。

按适配划分后的管脚定位,同相关功能块硬件电路接口连线。

用VHDL语言描述所有底层模块。

清零信号为异步清零。

当最高位记到6时停止计数显示译码器全部显示零,并发出十声警报声。

按下复位按钮后继续计数。

关键词:

EDA、可编程逻辑器件、计数器、显示器

目录

十进制计数器‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧5

六进制计数器‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧6

选择数码管‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧7

显示数码管‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧8

响铃装置‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧9

总设计电路图‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧10

 

课题名称

数字秒表设计

完成时间

2010/12/3

指导教师

职称

学生姓名

班级

总体设计要求和技术要点

秒表共有6个输出显示,分别为百分之一秒、十分之一秒、秒、十秒、分、十分,所以共有6个计数器与之相对应,6个计数器的输出全都为BCD码输出,这样便于和显示译码器的连接。

当计时达60分钟后,蜂鸣器鸣响10声。

除此之外,整个秒表还需有一个启动信号和一个归零信号,以便秒表能随意停止及启动。

秒表的逻辑结构较简单,它主要由显示译码器、分频器、十进制计数器、六进制计数器和报警器组成。

在整个秒表中最关键的是如何获得一个精确的100HZ计时脉冲。

工作内容及时间进度安排

课程设计成果

课程设计任务书

十进制计数器模块

libraryieee;

useieee.std_logic_1164.all;

useieee.std_logic_unsigned.all;

entityjsq_10is

port(clk,en,rst:

instd_logic;

C10:

outstd_logic_vector(3downto0);

C:

outstd_logic);

endjsq_10;

architectureoneofjsq_10is

signalq:

std_logic_vector(3downto0);

begin

process(clk,en,rst)

begin

if(clk'eventandclk='1')then

if(rst='0')thenq<="0000";

elsif(en='1')then

if(q="1001")thenq<="0000";C<='1';

elseq<=q+1;C<='0';

endif;

endif;

endif;

endprocess;

C10<=q;

endone;

十二进制计数器模块

libraryieee;

useieee.std_logic_1164.all;

useieee.std_logic_unsigned.all;

entityjsq_12is

port(clk,en,rst:

instd_logic;

C12:

outstd_logic_vector(3downto0));

endjsq_12;

architectureoneofjsq_12is

signalq:

std_logic_vector(3downto0);

begin

process(clk,en,rst)

begin

if(clk'eventandclk='1')then

if(rst='0')thenq<="0000";

elsif(en='1')then

if(q="1011")thenq<="0000";

elseq<=q+1;

endif;

endif;

endif;

endprocess;

C12<=q;

endone;

十六进制可逆计数器模块

libraryieee;

useieee.std_logic_1164.all;

useieee.std_logic_unsigned.all;

entityjsq_16_knis

port(clk,rst,en,plus_sub:

instd_logic;

C16_SHI,C16_GE:

outstd_logic_vector(3downto0));

endjsq_16_kn;

architectureoneofjsq_16_knis

signaldout:

std_logic_vector(7downto0);

begin

process(clk,rst,en,plus_sub)

begin

if(clk'eventandclk='1')then

if(rst='0')then

dout<="00000000";

elsif(en='0')then

dout<=dout;

else

if(plus_sub='1')then

if(dout=9)then

dout<=dout+7;

elsif(dout=21)then

dout<="00000000";

else

dout<=dout+1;

endif;

elsif(plus_sub='0')then

if(dout=16)then

dout<=dout-7;

elsif(dout=0)then

dout<="00010101";

else

dout<=dout-1;

endif;

endif;

endif;

endif;

endprocess;

C16_SHI<=dout(7)&dout(6)&dout(5)&dout(4);

C16_GE<=dout(3)&dout

(2)&dout

(1)&dout(0);

endone;

六十进制计数器模块

libraryieee;

useieee.std_logic_1164.all;

useieee.std_logic_unsigned.all;

entityjsq_60is

port(

clk,rst,en:

instd_logic;

C60_shi:

bufferstd_logic_vector(3downto0);

C60_ge:

bufferstd_logic_vector(3downto0));

endjsq_60;

architectureoneofjsq_60is

signaldout:

std_logic_vector(7downto0);

signaldout_3_0:

std_logic_vector(3downto0);

begin

dout_3_0<=C60_ge;

process(clk,rst)

begin

if(clk'eventandclk='1')then

if(en='1')then

if((rst='0')or(dout=89))then

dout<="00000000";

else

if(dout_3_0=9)then

dout<=dout+7;

else

dout<=dout+1;

endif;

endif;

endif;

endif;

endprocess;

C60_shi<=dout(7)&dout(6)&dout(5)&dout(4);

C60_ge<=dout(3)&dout

(2)&dout

(1)&dout(0);

endone;

数码管显示模块

libraryieee;

useieee.std_logic_1164.all;

useieee.std_logic_unsigned.all;

useieee.std_logic_arith.all;

entityjsq_dispis

port

CLK,RESET:

instd_logic;

C10,C12,C16_GE,C16_SHI,C60_GE,C60_SHI:

std_logic_vector(3downto0);

SEL:

outstd_logic_vector(2downto0);

LED:

outstd_logic_vector(6downto0)

);

endjsq_disp;

architectureabc_bcdofjsq_dispis

signalCOUNT:

std_logic_vector(2downto0);

signalDOUT:

std_logic_vector(6downto0);

signalABC:

std_logic_vector(3downto0);

 

begin

SEL<=COUNT;

LED<=DOUT;

process(CLK,RESET)

begin

if(RESET='0')then

COUNT<="000";

elsif(CLK'eventandCLK='1')then

if(COUNT>="101")THEN

COUNT<="000";

else

COUNT<=COUNT+1;

endif;

endif;

caseCOUNTIS

WHEN"000"=>ABC<=C10;

WHEN"001"=>ABC<=C12;

WHEN"010"=>ABC<=C16_GE;

WHEN"011"=>ABC<=C16_SHI;

WHEN"100"=>ABC<=C60_GE;

WHEN"101"=>ABC<=C60_SHI;

whenothers=>ABC<="0000";

endcase;

caseABCis

when"0000"=>DOUT<="1111110";

when"0001"=>DOUT<="0110000";

when"0010"=>DOUT<="1101101";

when"0011"=>DOUT<="1111001";

when"0100"=>DOUT<="0110011";

when"0101"=>DOUT<="1011011";

when"0110"=>DOUT<="1011111";

when"0111"=>DOUT<="1110000";

when"1000"=>DOUT<="1111111";

when"1001"=>DOUT<="1111011";

when"1010"=>DOUT<="1110111";

when"1011"=>DOUT<="0011111";

when"1100"=>DOUT<="1001110";

when"1101"=>DOUT<="0111101";

when"1110"=>DOUT<="1001111";

when"1111"=>DOUT<="1000111";

whenothers=>DOUT<="0000000";

endcase;

endprocess;

endabc_bcd;

 

指导教师评语及设计成绩

评语

 

 

课程设计成绩:

指导教师:

日期:

年月日

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文 > 行政公文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1