欢迎来到天天文库
浏览记录
ID:33270279
大小:176.00 KB
页数:6页
时间:2019-02-23
《《专周报告》word版》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、大规模集成电路专周报告实验名:秒表班级:09611姓名:周波学号:32专周题目:秒表的设计专周目的:1.熟练利用VerilogHDL语言进行数字系统的设计。2.掌握数字系统的设计方法——自顶向下的设计思想。3.掌握分频器的设计,计数器的设计,七段译码管和数码管动态扫描显示的设计,按键消除抖动的设计。4.根据秒表的功能设计一个秒表。专周器材:装有QuartusⅡ软件的电脑一台、FPGA教学实验系统一台、下载电缆一根。专周要求:1.有百分秒、秒、分计数,数码管动态扫描显示输出,按键消抖。2.有清零端和计数使能端。3.下载,检查结果正确。专周原理:1.功能描述:秒表是一种计时工
2、具,有广泛的用途。本专周中的秒表要求有两个功能表停止计数,并显示所计的数字;另一个是清零按钮,当按下此按钮时,秒表清零。在数码管按钮:一个是计数和停止计数按钮,当第一次按下此按钮时,秒表开始计数,再一次按下时,秒上采用动态扫描显示输出。2.基本原理:本专周中用到的主要元件有计数器、逻辑控制器、数据选择器和译码器等。百分秒使用100进制计数,秒、分都是60进制计数;逻辑控制器主要用来实现计数和清零。基本方框图如下:3.自顶向下的设计方法:自顶向下的设计方法是数字系统设计中常用的设计方法,也是基于芯片的系统设计的主要方法。它是利用功能分割手段将设计由上到下进行层次化和模块化,
3、即层次、分模块进行设计和仿真。功能分割时,将系统功能分解为功能块,功能块再分解为逻辑块,逻辑块再分解成更少的逻辑块和电路。专周步骤:1.采用自顶向下的设计方法,首先将系统分块。2.设计元件,即逻辑块。3.一级一级向上进行元例化,设计顶层文件。4.把各模块联接起来,进行综合编译仿真。5.下载到实验箱,以验证程序。专周结果:1.源程序modulemiaobiao(clk_1k,pause,clr,led,sel);parameterwidth=8;inputclk_1k;inputpause;inputclr;outputreg[width-1:0]led;outputreg
4、[2:0]sel;reg[3:0]led_1;wireisstop;wirezero;switchsiwtchstop(clk_1k,pause,isstop);switchswitchzero(clk_1k,clr,zero);reg[3:0]counter_100hz;wireclk100;assignclk100=counter_100hz[3];always@(posedgeclk_1k)beginif(!isstop)beginif(counter_100hz==4'b1001)counter_100hz<=0;elsecounter_100hz=counter
5、_100hz+1;endendreg[3:0]fs0;regfscarry0;reg[3:0]fs1;regfscarry1;reg[3:0]s0;regscarry0;reg[3:0]s1;regscarry1;reg[3:0]minu0;regmiucarry0;reg[3:0]minu1;always@(posedgeclk100orposedgezero)beginif(zero)beginfs0<=0;fscarry0<=0;endelseif(clk100==1)beginif(fs0==9)beginfs0<=0;fscarry0<=1;endelsebeg
6、infs0<=fs0+1;fscarry0<=0;endendendalways@(posedgefscarry0orposedgezero)beginif(zero)beginfs1<=0;fscarry1<=0;endelseif(fscarry0==1)beginif(fs1==9)beginfs1<=0;fscarry1<=1;endelsebeginfs1<=fs1+1;fscarry1<=0;endendendalways@(posedgefscarry1orposedgezero)beginif(zero)begins0<=0;scarry0<=0;ende
7、lseif(fscarry1==1)beginif(s0==9)begins0<=0;scarry0<=1;endelsebegins0<=s0+1;scarry0<=0;endendendalways@(posedgescarry0orposedgezero)beginif(zero)begins1<=0;scarry1<=0;endelseif(scarry0==1)beginif(s1==5)begins1<=0;scarry1<=1;endelsebegins1<=s1+1;scarry1<=0;endendendal
此文档下载收益归作者所有