您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 汽车理论 > 专用集成电路设计报告
专用集成电路设计报告作者:崔叡彧010915班学号:01091452引言:我选择的题目是秒表,秒表是一个比较实用的题目,我在学习了可编程逻辑器件试验后,对计数器和分频器等的设计有了一定的理解,加之对verilog语言的应用能力有限,所以选择了这个题目,实现起来难度不是非常大,而且有实际意义。方案设计:首先,我定义了三个输入信号,分别是:CLK:CLK为时钟信号;CLR:为异步复位信号;PAUSE:为暂停信号;六个输出信号,分别是:MSH,MSL:百分秒的高位和低位;SH,SL:秒信号的高位和低位;MH,ML:分钟信号的高位和低位。这些都是秒表应有的功能所必需的,首先以时钟信号为计数基本单位。秒表应有异步清零功能,所以设置了CLR,也应有暂停功能,故设置了PAUSE。秒表百分位分为高位低位,都是计满十个一进位,设置高低位更精准。还有秒向分的进位,计满六十个一进位,分钟也是计满六十归零。这些模块都用到了计数器这一基本模块,用if语句做判断控制计数条件,实现秒表功能。具体模块设计:百分秒计数进程设计如下:regcn1,cn2;//cn1为百分秒向秒的进位,cn2为秒向分的进位//百分秒计数进程,每计满100,cn1产生一个进位always@(posedgeCLKorposedgeCLR)beginif(CLR)begin//异步复位{MSH,MSL}=8'h00;cn1=0;endelseif(!PAUSE)//PAUSE为0时正常计数,为1时暂停计数beginif(MSL==9)beginMSL=0;if(MSH==9)beginMSH=0;cn1=1;endelseMSH=MSH+1;endelsebeginMSL=MSL+1;cn1=0;endendend当CLR为0时,开始计数,否则保持复位状态,无法计数,设置了cn1当做一个标志,计满一百时,既SHL=9&SHR=9时,cn1为百分秒向秒产生一个进位,当遇到暂停时,可先停止计数。//秒计数进程,每计满60,cn2产生一个进位秒计数进程设计如下:always@(posedgecn1orposedgeCLR)beginif(CLR)begin//异步复位b{SH,SL}=8'h00;cn2=0;endelseif(SL==9)//低位是否为9beginSL=0;if(SH==5)beginSH=0;cn2=1;endelseSH=SH+1;endelsebeginSL=SL+1;cn2=0;endend秒计数进程的设计与百分秒基本相同,同样设置cn2为标志,计满六十产生一个进位,其它如暂停,复位等的设计与上相同。分计数进程设计如下://分钟计数进程,每计满60,系统自动清零always@(posedgecn2orposedgeCLR)beginif(CLR)beginMH=0;ML=0;end//异步复位elseif(ML==9)beginML=0;if(MH==5)MH=0;elseMH=MH+1;endelseML=ML+1;endendmodule分计数进程在设计上与秒计数进程基本相同,不同的是分计数满六十后,不能再产生进位,所以要清零,从新计数,表示计数已满。测试方案介绍:测试时,在测试环境下,输入如下:moduletb_paobiao;//InputsregCLK;regCLR;regPAUSE;//Outputswire[3:0]MSH;wire[3:0]MSL;wire[3:0]SH;wire[3:0]SL;wire[3:0]MH;wire[3:0]ML;//InstantiatetheUnitUnderTest(UUT)paobiaouut(.CLK(CLK),.CLR(CLR),.PAUSE(PAUSE),.MSH(MSH),.MSL(MSL),.SH(SH),.SL(SL),.MH(MH),.ML(ML));initialbegin//InitializeInputsCLK=0;CLR=0;PAUSE=0;//Wait100nsforglobalresettofinish#100;CLR=1;#100;CLR=0;//AddstimulushereendparameterPERIOD=2;alwaysbeginCLK=1'b0;#(PERIOD/2)CLK=1'b1;#(PERIOD/2);endendmodule我将时钟信号引入,定义周期为2,然后令CLR=1;开始计数。输出波形如下:由波形可见,当百分秒低位计满10后,高位进一,当高位低位同时计到99时,秒的低位会进一,以此类推,再看图如下:如图,可见在秒计数满六十后,向分钟进位,分钟低位得到进位,可再向下类推。仿真图:如上仿真图,可看出电路具体结构。总结:这次作业使我感到专用集成电路设计这门课是很实用的,它可以锻炼我们借助软件设计硬件电路的能力,但是我也感到,自己对硬件设计语言掌握的还很不到位,对硬件电路本身也很陌生,而且应用ISE软件的能力也很差,这些都需要提高。我将在以后的学习中多动手设计电路,提高自己的实践能力,增加自己的经验。意见:首先,这门课使我受益匪浅,使我明白了设计电路的具体程序,上课时,老师可以多讲一些具体的例子的实现,给同学们展示一个完整的设计流程,使学生们在自己设计时,有更好的基础
本文标题:专用集成电路设计报告
链接地址:https://www.777doc.com/doc-2813748 .html