1. 首页
  2. 文档大全

可编程逻辑器件实验报告完整版

上传者:97****76 2022-07-12 00:06:46上传 DOC文件 5.29MB
可编程逻辑器件实验报告完整版_第1页 可编程逻辑器件实验报告完整版_第2页 可编程逻辑器件实验报告完整版_第3页

《可编程逻辑器件实验报告完整版》由会员分享,可在线阅读,更多相关《可编程逻辑器件实验报告完整版(14页珍藏版)》请在文档大全上搜索。

1、2012秋可编程逻辑器件课程设计报告2012秋可编程逻辑器件课程设计报告报告题目:数字钟实验报告 姓名学号邮箱成绩组长组员1 设计内容概述1.1 功能概述: 一个具有计秒、计分、复位的数字钟,数字钟从0开始计时,计满60秒后自动清零,分钟加1,最大计时显示59分59秒。用A7按键作为系统时钟复位,复位后全部显示00 00,重新开始计时。1.2 输入输出接口:NET clk LOC = B8 ; NET dula0 LOC = L14 ; NET dula1 LOC = H12 ; NET dula2 LOC = N14 ; NET dula3 LOC = N11 ; NET dula4 LOC

2、 = P12 ; NET dula5 LOC = L13 ;NET dula6 LOC = M12 ; NET dula7 LOC = N13 ; NET rst LOC = A7 ;NET wela0 LOC = F12 ; NET wela1 LOC = J12 ; NET wela2 LOC = M13 ; NET wela3 LOC = K14 ; 2 系统框图及模块划分 采用自顶向下分层设计思想的大概设计示意图如下:计时器 秒计数 分计数 动态显示 60进制3 组员任务划分 1:负责本课题的开展,组织,协调及任务分配与安排问题,查找课题相关资料,完成主程序,及接口控制文件的编写。 2

3、:完成分频器模块的程序编写,以及最后的报告整理。 3:查找课题相关资料,参与子程序计数器模块的编写。 4:完成数码管部分程序的编写,并完成程序的仿真及测试。张4 各模块详细设计4.1 模块1:分频器4.1.1 功能: 分频器,能将高频脉冲变换为低频脉冲,它可由触发器以及计数器来完成。由于一个触发器就是一个二分频器,N个触发器就是2N个分频器。如果用计数器作分频器,就要按进制数进行分频。例如十进制计数器就是十分频器,M进制计数器就为M分频器。 一般使用的石英晶体振荡器频率为32768HZ,要想用该振荡器得到一个频率为1HZ的秒脉冲信号,就需要用分频器进行分频,分频器的个数为2N= 32768HZ

4、,N =15 即有15个分频器。这样就将一个频率为32768HZ的振荡信号降低为1HZ的计时信号,这样就满足了计时规律的需求:60秒=1分钟,60分=1小时。 输入输出接口定义表1 模块1输入输出接口定义信号名称方向位宽说明rclkin1系统时钟rstin1系统复位信号,低有效dclkout1分频输出4.1.2 模块详细设计思路: 分频器模块用verilog语言实现采用“计数-翻转”的方法。在模块中,当计数变量计数至某一值n时输出信号翻转一次,如此循环,便可以输出占空比为50%的方波信号,设计程序为:module DIV_FRE(rclk,dclk,rst);input rclk;input

5、rst;output dclk;reg dclk;parameter DIV=50;reg25:0 buff=26d0;always (posedge rclk or posedge rst)beginif(rst)beginbuff=0;dclk=0;endelsebeginif(buff=DIV-1)beginbuff=0;dclk=1;endelsebegindclk=0;buff=buff+1;endendendEndmodule4.2 模块2:计数器4.2.1 功能:4.2.2 计时器包括分计数、秒计数,其中秒计数变化的频率和1Hz时钟信号的频率是一样的。在时钟运行的过程中有几个时间

6、节点是需要特别注意的:59秒、59分59秒,这两个时刻将会产生进位,59分59秒这个时刻时间将会归零,只要注意这几个时刻的判断并采取相应的措施便可完成正常的计数。表2 模块2输入输出接口定义信号名称方向位宽说明clkin1系统时钟rstin1系统复位信号,低有效numout1计数输出4.2.3 模块详细设计思路: 本设计中计时器模块完全采用verilog语言描述,计时器的基本原理是利用两个模60计数器,串连工作,同时采用一个时钟统一控制。其程序如下: module counter_num(clk,num,rst);input clk;input rst;output3:0 num;reg3:0

7、 num=4d0;parameter COUNTER=10;initial beginnum=4d0;endalways (posedge clk or posedge rst)beginif(rst)beginnum=4d0;endelsebeginif(num=COUNTER-1)num=4d0;else num=num+1;endendEndmodule4.3 模块3:数码管4.3.1 功能: 动态显示时间数据,前两位表示分,后两位表示秒。4.3.2 设计思路: 动态显示4位数据时,需要一个4选1数据选择器、一个16选4数据选择器,和一个7段显示译码器协调工作。4选1数据选择器的作用是选

8、择点亮的数码管,16选4数据选择器的作用是选择对应数码管应该输出的数据,7段显示译码器的作用是对BCD码进行译码,便于数码管显示。分为控制部分和计数部分。控制模块:module digit_num_fluid_display_4bit(clk,num0,num1,num2,num3,wela,dula,rst ); input clk; input rst; input3:0 num0; input3:0 num1; input3:0 num2; input3:0 num3; output3:0 wela; output7:0 dula; wire3:0 num; reg3:0 num_buf


文档来源:https://www.renrendoc.com/paper/212700936.html

文档标签:

下载地址