计算机仿真课程设计.docx
《计算机仿真课程设计.docx》由会员分享,可在线阅读,更多相关《计算机仿真课程设计.docx(14页珍藏版)》请在冰豆网上搜索。
计算机仿真课程设计
ASIC 逻 辑 综 合 实 验
标准实验报告
《电子设计自动化技术》课程组
一、设计名称
数字显示电子钟
二、设计原理
本实验设计的芯片主要完成简单的数字钟功能的行为,将该芯片与电源连接便可达到电子钟的效果。
芯片实现的整个过程如下:
先接一个4Mhz的晶振,然后经过分频,分别得到1hz和250hz的信号。
然后把1hz的信号接入整个计数系统电路中,通过控制不同的按键可以改计
数以达到校时的功能!
秒,分,时可以通过六个七段数码管显示!
其扫描频率是250hz!
三、设计功能块结构图
如上图所示:
电子钟主要由四个组成部分:
时基分频器,计时器,显示电路,控制电路,实验通过
4Mhz时钟,分频产生s(秒)时钟,对秒进行计数,并通过led数码管进行扫描显示。
1:
时基分频器:
对基本时钟(4Mhz)进行分频得到秒时钟(s)和扫描时钟(250hz)。
2:
计时器:
主要包括s计时器(60进制)、min计时器(60进制)、hr计时器(12进制)。
3:
显示电路:
用6位扫描数码管显示(七段数码管),扫描始终用250hz。
4:
控制电路:
对电子表进行起停和复位,清零的控制。
四、综合后的报告:
1、specifyclock
Period50
Edgerising5.00falling5.00
2、mapdesign
Mapeffortmedium
Areaeffortmedium
3、综合后的报告截图
面积报告如下:
四:
时序报告
(DELAYFILE
(SDFVERSION"OVI2.1")
(DESIGN"shuzizhong")
(DATE"TueApr2101:
02:
552009")
(VENDOR"IC05CScore_33_typ")
(PROGRAM"SynopsysDesignCompilercmos")
(VERSION"X-2005.09-SP2")
(DIVIDER/)
(VOLTAGE3.30:
3.30:
3.30)
(PROCESS"TYPICAL")
(TEMPERATURE25.00:
25.00:
25.00)
(TIMESCALE1ns)
(CELL
(CELLTYPE"shuzizhong")
(INSTANCE)
(DELAY
(ABSOLUTE
(INTERCONNECTU486/YNU567/A(0.000:
0.000:
0.000))
(INTERCONNECThour2_reg\[3\]/QU567/B(0.000:
0.000:
0.000))
(INTERCONNECThour2_reg\[1\]/QU566/A(0.000:
0.000:
0.000))
(INTERCONNECTU528/YNU566/B(0.000:
0.000:
0.000))
(INTERCONNECTU483/YNU565/A(0.000:
0.000:
0.000))
(INTERCONNECThour1_reg\[3\]/QU565/B(0.000:
0.000:
0.000))
(INTERCONNECThour1_reg\[1\]/QU564/A(0.000:
0.000:
0.000))
(INTERCONNECTminite1_reg\[3\]/QU561/B(0.000:
0.000:
0.000))
(INTERCONNECTminite1_reg\[1\]/QU560/A(0.000:
0.000:
0.000))
(INTERCONNECTU525/YNU560/B(0.000:
0.000:
0.000))
(INTERCONNECTU507/YNU559/A(0.000:
0.000:
0.000))
(INTERCONNECTsecond2_reg\[3\]/QU559/B(0.000:
0.000:
0.000))
(INTERCONNECTsecond2_reg\[1\]/QU558/A(0.000:
0.000:
0.000))
(INTERCONNECTU534/YNU558/B(0.000:
0.000:
0.000))
(INTERCONNECTU500/YNU557/A(0.000:
0.000:
0.000))
(INTERCONNECTsecond1_reg\[3\]/QU557/B(0.000:
0.000:
0.000))
(INTERCONNECTsecond1_reg\[1\]/QU556/A(0.000:
0.000:
0.000))
(INTERCONNECTU531/YNU556/B(0.000:
0.000:
0.000))
(INTERCONNECTcnt2_reg\[4\]/QU555/A1(0.000:
0.000:
0.000))
(INTERCONNECTcnt2_reg\[3\]/QU555/A2(0.000:
0.000:
0.000))
(INTERCONNECTU554/YU555/A3(0.000:
0.000:
0.000))
(INTERCONNECTcnt2_reg\[6\]/QU554/A1(0.000:
0.000:
0.000))
(INTERCONNECTcnt2_reg\[5\]/QU554/A2(0.000:
0.000:
0.000))
(INTERCONNECTcnt2_reg\[2\]/QU554/A3(0.000:
0.000:
0.000))
(INTERCONNECTcnt1_reg\[11\]/QU553/A1B(0.000:
0.000:
0.000))
五:
网标文件:
libraryIEEE;
useIEEE.std_logic_1164.all;
packageCONV_PACK_shuzizhongis
--defineattributes
attributeENUM_ENCODING:
STRING;
endCONV_PACK_shuzizhong;
libraryIEEE;
useIEEE.std_logic_1164.all;
usework.CONV_PACK_shuzizhong.all;
entitycode7_3is
port(indata:
instd_logic_vector(3downto0);q:
instd_logic;outdata
:
outstd_logic_vector(6downto0));
endcode7_3;
architectureSYN_codofcode7_3is
componentIN01D0
port(A:
instd_logic;YN:
outstd_logic);
endcomponent;
componentND02D1
port(A1,A2:
instd_logic;YN:
outstd_logic);
endcomponent;
componentND13D1
port(A3B,A1,A2:
instd_logic;YN:
outstd_logic);
endcomponent;
componentOAI211D1
port(A1,A2,B,C:
instd_logic;YN:
outstd_logic);
componentNR02D1
port(A1,A2:
instd_logic;YN:
outstd_logic);
endcomponent;
componentAOI12D1
port(A1,A2,B:
instd_logic;YN:
outstd_logic);
endcomponent;
componentOAI221D1
port(A1,A2,B1,B2,C:
instd_logic;YN:
outstd_logic);
endcomponent;
componentAOI22D1
port(A1,A2,B1,B2:
instd_logic;YN:
outstd_logic);
六;时序仿真波形:
1:
十二小时数字钟波形仿真
延时分析:
分频电路的仿真波形
波形分析由于16000分频的时间太长所以y在仿真时一直是0
延时电路
七:
实验结果
1:
把源程序放在share文件夹中,打开liux4,输入命令在工作站上登陆,并打开一个terminal。
进入综合环境,在命令提示符下输入design-vision&。
2:
当出现一个design_vision的综合仿真工具的图形界面。
在designcompiler的主界面菜单中打开file-setup,选择工艺厂商提供的逻辑元件库,进行设置。
3:
设置完毕之后进行用户源文件的加载与分析。
通过打开file-analyze打开用户设计的分析界面。
4:
用户设计源程序加载完毕后,进行实现(elaborate)选择默认的库default,design中选择设计文件的顶层模块。
点击ok后designcompier进行初步实现!
5:
单击鼠标选中顶层模块,打开hierarchy—uniquify—hierqrchy。
出现对话框时单击ok
6:
进行时序约束,打开attributes-specify_clock,对clock的时钟特性(上升沿,周期,下降时间)
7:
进行综合优化,打开design-compiledesign.出现综合结果如下图!
对图形进行标注:
1:
a圈里表示分频电路,其中有16000分频(分频到250hz)和分频道1hz
2:
b圈表示计时电路,其中有秒分时三种计时方式。
3:
c圈表示计时sum电路,其中有对秒,分,时的进位。
4:
d圈表示电路的控制电路,其中有对计时信号的控制电路!
5:
e圈表示计时电路的数码管的的显示电路。
八实验源程序
数字钟源程序:
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entityshuzizhongis
port(clk,set,s1,s2,s3:
instd_logic;
second1,second2,minite1,minite2,hour1,hour2:
bufferstd_logic_vector(3downto0);
cout:
outstd_logic);
endentity;
architectureoneofshuzizhongis
componentcode7is
port(indata:
instd_logic_vector(3downto0);
q:
std_logic;
outdata:
outstd_logic_vector(6downto0));
endcomponent;
signala,b,c,d,e,f,:
std_logic_vector(6downto0);
signalx,y:
std_logic;
begin
process(clk)
variablecnt1:
integerra