基于VHDL数字钟的设计与分析文档格式.docx
- 文档编号:16370829
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:17
- 大小:453.66KB
基于VHDL数字钟的设计与分析文档格式.docx
《基于VHDL数字钟的设计与分析文档格式.docx》由会员分享,可在线阅读,更多相关《基于VHDL数字钟的设计与分析文档格式.docx(17页珍藏版)》请在冰豆网上搜索。
useieee.std_logic_unsigned.all;
ENTITYsecondIS
PORT(
clk,reset,setmin:
INSTD_LOGIC;
enmin:
OUTSTD_LOGIC;
daout:
outstd_logic_vector(6downto0));
ENDentitysecond;
ARCHITECTUREfunOFsecondIS
SIGNALcount:
STD_LOGIC_VECTOR(6downto0);
SIGNALenmin_1,enmin_2:
STD_LOGIC;
BEGIN
daout<
=count;
enmin_2<
=(setminandclk);
enmin<
=(enmin_1orenmin_2);
process(clk,reset,setmin)
begin
if(reset='
0'
)thencount<
="
0000000"
;
elsif(clk'
eventandclk='
1'
)then
if(count(3downto0)="
1001"
if(count<
16#60#)then
if(count="
1011001"
enmin_1<
='
count<
else
=count+7;
endif;
elsif(count<
=count+1;
after100ns;
endprocess;
endfun;
编译过程:
仿真图如下:
2.分计数器模块
ENTITYminuteIS
clk,clk1,reset,sethour:
enhour:
ENDentityminute;
ARCHITECTUREfunOFminuteIS
SIGNALenhour_1,enhour_2:
enhour_2<
=(sethourandclk1);
enhour<
=(enhour_1orenhour_2);
process(clk,reset,sethour)
enhour_1<
ELSE
after100ns;
ENDfun;
3.时计数器模块
ENTITYhourIS
clk,reset:
outstd_logic_vector(5downto0));
ENDentityhour;
ARCHITECTUREfunOFhourIS
STD_LOGIC_VECTOR(5downto0);
process(clk,reset)
000000"
if(count(3downto0)="
=16#23#)then
16#23#)then
4.整点报时器模块
ENTITYalertIS
clk:
dain:
INSTD_LOGIC_VECTOR(6DOWNTO0);
speak:
lamp:
OUTSTD_LOGIC_VECTOR(2DOWNTO0));
ENDalert;
ARCHITECTUREfunOFalertIS
signalcoun:
std_logic_vector(1downto0);
signalcount1:
speaker:
process(clk)
speak<
=count1
(1);
if(clk'
if(dain="
if(count1>
10"
count1<
00"
=count1+1;
endprocessspeaker;
lamper:
if(rising_edge(clk))then
if(coun<
if(coun="
lamp<
001"
elsif(coun="
01"
010"
100"
endif;
coun<
=coun+1;
endprocesslamper;
5.调时调分模块
useieee.std_logic_arith.all;
ENTITYseltimeIS
clk1,reset:
sec,min:
INSTD_LOGIC_VECTOR(6downto0);
hour:
instd_logic_vector(5downto0);
OUTSTD_LOGIC_vector(3downto0);
dp:
OUTstd_LOGIC;
sel:
outstd_logic_vector(2downto0));
ENDseltime;
ARCHITECTUREfunOFseltimeIS
STD_LOGIC_vector(2downto0);
sel<
process(clk1,reset)
000"
elsif(clk1'
eventandclk1='
if(count>
101"
casecountis
when"
=>
=sec(3downto0);
dp<
daout(3)<
daout(2downto0)<
=sec(6downto4);
=min(3downto0);
011"
=min(6downto4);
=hour(3downto0);
whenothers=>
daout(3downto2)<
daout(1downto0)<
=hour(5downto4);
endcase;
endfun;
6.LED显示译码器模块
ENTITYdeledIS
PORT(num:
INstd_logic_vector(3downto0);
led:
OUTstd_logic_vector(6downto0));
enddeled;
ARCHITECTUREfunOFdeledIS
led<
1111110"
whennum="
0000"
"
0110000"
0001"
1101101"
0010"
1111001"
0011"
0110011"
0100"
1011011"
0101"
1011111"
0110"
1110000"
0111"
1111111"
1000"
1111011"
1110111"
1010"
0011111"
1011"
1001110"
1100"
0111101"
1101"
1001111"
1110"
1000111"
1111"
心得体会:
郭琦09281060
这个学期我们学了片上系统的课程设计,这门课程设计是我们上学期数电的后续实践课程,通过本次课程设计,我们巩固了以前学过的专业知识,通过这次的程序设计,使我们对数字系统结构也有了更进一步的了解与认识,同时对数据库软件EDA技术,VHDL语言等系列知识都有了一定的了解与认识。
使用EDA技术开发页面的能力也有了提高,也使我们把理论与实践从正真意义上结合了起来,考研了我们的动手能力,查阅相关资料的能力,还有组织材料的能力。
通过这次课程设计,我拓宽了知识面,锻炼了能力,综合素质得到较大提高。
安排课程设计的基本目的,在于通过理论与仿真的结合、同学之间的沟通交流,掌握知识的水平有了一定的提高。
尤其是观察、分析和解决问题的实际工作能力。
这次课程设计还锻炼了我们的自学能力和查找问题的能力。
我体会到理论与实践的重要性,我学习到很多一般性的方法,例如:
开始时对问题的猜想、设计,推导,仿真验证等等。
同时,我也认识到使用计算机软件解决实际问题的复杂性,在这个过程中需要我们的耐心和不懈的努力。
片上系统课程设计让我学到了很多,可以说让我受益匪浅,我会更加努力的学习专业课程,为以后打下坚实的基础。
李腾润09291044
这次片上系统设计做起来比较简单,因为刚好做完现代交换技术课程设计,所以对于MAXPLUS2的应用方面没有太大问题,不过需要注意的是.VHD文件和自己的总图必须放在一个目录下,不然找不到相应元件,无法编译。
我们的设计总的说来就是一个时钟,含有调时、整点报时、显示的功能,用到了VHDL语言,通过查阅相关书籍,我明白了VHDL语言由程序包、结构体和设计实体组成,在此基础上我试着写了一些简单的代码,也明白了基本语句之间的相关关系。
我觉得,这次课设做起来相对轻松,也比较好玩,总之,收获挺多的。
参考文献
[1]潘松,黄继业.VHDL设计初步[J].EDA技术实用教材,2009,5-29:
70-82.
[2]华成英,童诗白.集成运算放大电路[J].模拟电子基础,2006,5-4:
185-187.
[3]阎石.时序逻辑电路[M].北京:
高等教育出版社,2008.
[4]李建东,郭梯云,邬国扬.移动通信.第四版.[M].西安:
西安电子科技大学出版社,2006.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 VHDL 数字 设计 分析