《专周报告》word版.doc_第1页
《专周报告》word版.doc_第2页
《专周报告》word版.doc_第3页
《专周报告》word版.doc_第4页
《专周报告》word版.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

大规模集成电路专周报告实验名:秒表班级:09611姓名:周波学号:32专周题目:秒表的设计专周目的:1. 熟练利用Verilog HDL语言进行数字系统的设计。 2. 掌握数字系统的设计方法自顶向下的设计思想。3. 掌握分频器的设计,计数器的设计,七段译码管和数码管动态扫描显示的设计,按键消除抖动的设计。4. 根据秒表的功能设计一个秒表。专周器材:装有Quartus软件的电脑一台、FPGA教学实验系统一台、下载电缆一根。专周要求:1. 有百分秒、秒、分计数,数码管动态扫描显示输出,按键消抖。2. 有清零端和计数使能端。3. 下载,检查结果正确。专周原理:1.功能描述:秒表是一种计时工具,有广泛的用途。本专周中的秒表要求有两个功能 表停止计数,并显示所计的数字;另一个是清零按钮,当按下此按钮时,秒表清零。在数码管按钮:一个是计数和停止计数按钮,当第一次按下此按钮时,秒表开始计数,再一次按下时,秒上采用动态扫描显示输出。2.基本原理:本专周中用到的主要元件有计数器、逻辑控制器、数据选择器和译码器等。百分秒使用100进制计数,秒、分都是60进制计数;逻辑控制器主要用来实现计数和清零。基本方框图如下:3.自顶向下的设计方法:自顶向下的设计方法是数字系统设计中常用的设计方法,也是基于芯片的系统设计的主要方法。它是利用功能分割手段将设计由上到下进行层次化和模块化,即层次、分模块进行设计和仿真。功能分割时,将系统功能分解为功能块,功能块再分解为逻辑块,逻辑块再分解成更少的逻辑块和电路。专周步骤:1.采用自顶向下的设计方法,首先将系统分块。 2.设计元件,即逻辑块。 3.一级一级向上进行元例化,设计顶层文件。 4.把各模块联接起来,进行综合编译仿真。 5.下载到实验箱,以验证程序。专周结果:1.源程序module miaobiao(clk_1k,pause,clr,led,sel);parameter width=8;input clk_1k;input pause;input clr;output regwidth-1:0led;output reg2:0sel;reg3:0led_1;wire isstop;wire zero;switch siwtchstop(clk_1k,pause,isstop);switch switchzero(clk_1k,clr,zero);reg3:0 counter_100hz;wire clk100;assign clk100=counter_100hz3;always (posedge clk_1k)begin if(!isstop) begin if(counter_100hz=4b1001) counter_100hz=0; else counter_100hz=counter_100hz+1; endendreg3:0 fs0;reg fscarry0;reg3:0 fs1;reg fscarry1;reg3:0 s0;reg scarry0;reg3:0 s1;reg scarry1;reg3:0 minu0;reg miucarry0;reg3:0 minu1;always (posedge clk100 or posedge zero)begin if(zero) begin fs0=0; fscarry0=0; end else if(clk100=1) begin if(fs0=9) begin fs0=0; fscarry0=1; end else begin fs0=fs0+1;fscarry0=0; end endendalways (posedge fscarry0 or posedge zero)begin if(zero) begin fs1=0; fscarry1=0; end else if(fscarry0=1) begin if(fs1=9) begin fs1=0;fscarry1=1;end else begin fs1=fs1+1;fscarry1=0; end endendalways (posedge fscarry1 or posedge zero)begin if(zero) begin s0=0; scarry0=0; end else if(fscarry1=1) begin if(s0=9) begin s0=0;scarry0=1;end else begin s0=s0+1;scarry0=0; end endendalways (posedge scarry0 or posedge zero)begin if(zero) begin s1=0; scarry1=0; end else if(scarry0=1) begin if(s1=5) begin s1=0;scarry1=1;end else begin s1=s1+1;scarry1=0; end endendalways (posedge scarry1 or posedge zero)begin if(zero) begin minu0=0; miucarry0=0; end else if(scarry1=1) begin if(minu0=9) begin minu0=0;miucarry0=1;end else begin minu0=minu0+1;miucarry0=0; end endendalways (posedge miucarry0 or posedge zero)begin if(zero) begin minu1=0; end else if(miucarry0=1) begin if(minu1=5) begin minu1=0;end else begin minu1=minu1+1; end endendalways(posedge clk_1k)begin if(clk_1k)begin if(sel=5) sel=0;else sel=sel+1;endcase(sel)0:begin led_1=fs0;led0=0;end1:begin led_1=fs1;led0=0;end2:begin led_1=s0;led0=1;end3:begin led_1=s1;led0=0;end4:begin led_1=minu0;led0=1;end5:begin led_1=minu1;led0=0;enddefault:led_1=10;endcasecase(led_1) 0: led7:1=7b1111110; 1: led7:1=7b0110000; 2: led7:1=7b1101101; 3: led7:1=7b1111001; 4: led7:1=7b0110011; 5: led7:1=7b1011011; 6: led7:1=7b1011111; 7: led7:1=7b1110000; 8: led7:1=7b1111111; 9: led7:1=7b1111011; 10: led7:1=7b1110111; default:led7:1=7b1111110;endcaseendendmodulemodule switch(clk,keyin,keyout);input clk,keyin; output reg keyout; reg6:0 counter;wire clk_use;assign clk_use=counter6;always (posedge clk) counter=counter+1b1;always (posedge clk_use) keyo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论