




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一 设计报告 1 技术规范 在 clr 的控制下置入脉宽 data 在输入按键 key 的控制下 产生 单次的脉冲 pulse 脉冲的宽度由 data 8 位的输入数据控制 以下称 之为脉宽参数 clk 50M 为系统的时钟 2 总体设计方案 系统功能描述 1 分频模块 输入为总的时钟 50M 经过分频以后变为 100HZ 2 延时模块 当 clk 为高电平且在复位脉冲 clr 有效时置入延时脉宽 延时 5 个始终周期后输出一个高电平 load 3 计数模块 脉宽参数端 data 接受 8 位的数据 经数据预置端 clr 装载脉宽参数 在计数允许端有效后便开始计数 该计数器设计成 为减法计数的模式 当其计数到 0 时 输出端 pulse 由高电平变为低 电平 便可得到单脉冲的输出 系统功能描述时序关系 可编程单脉冲发生器的操作过程是 1 预置脉宽参数 2 按下复位键 初始化系统 3 按下启动键 发出单脉冲 以上三步可用三个按键来完成 但是 由于目标板已确定 故 考虑在复位键按下后 经过延时自动产生预置脉宽参数的动作 输 出的信号加到灯上 输如的脉宽有开发版上的拨码开关决定 当输 入脉宽后 按下复位键置入脉宽 然后按下启动键 发出单脉冲 延时一段时间后灯开始亮 亮一段时间后灯熄灭 延时模块的时序 图如下 clk clr load 3 流程图的设计 根据时序关系 可以做出图所示的流程图 在系统复位后 经一定的延时产生一个预置脉冲 load 用来预 置脉宽参数 当按键 key 有效后产生脉冲 pulse 开始 系统复位 延时 启动计数器 预置脉宽 计数器 结束 产生单脉冲 结束 计数器减一 二 验证方案 1 验证方案的设计 分频模块的设计 分频模块的代码 module div clk 50M clk 模块名及端口的定义 到 endmodule input clk 50M 输入端口的定义 output clk 输出端口的定义 reg 31 0 a 32 d0 定义内部寄存器并赋初值 reg clk 0 给输出赋初值 always posedge clk 50M begin if a 32 d500000 判断计数器是不是记到了 500000 begin a 32 d0 计数器记到了 500000 清零 clk clk 输出脉冲取反 end 结束 else a a 1 计数器没有记到了 500000 自加 end 结束 always 块 endmodule 结束分频模块 分频模块的仿真结果 在验证的时候设计了一个 8 分频 有波形图可以看出 clk 50M 经过 8 个周期后 clk 取反 实 现了 8 分频 验证了自己的设计 延时模块的设计 延时模块的代码 module dely clk clr load 模块名及端口的定义 endmodule input clk clr 输入端口的定义 output load 输出端口的定义 reg 2 0 counta 延时计数器 reg load 输出 always posedge clk or negedge clr begin if clr 当 clr 为低电平时 begin counta 5 清零 load 0 end 结束清零 else 当 clr 为高电平时计数器减一 begin counta counta 8 d1 if counta 8 d0 计数器减到零时 进行复位输出 load 为高 begin counta 8 d0 load 1 输出 load 为高 end end end endmodule 结束延时模块 延时模块的仿真结果 从波形图可以看出当 clr 为高电平 且时钟的上升沿到来 的时候 延时 5 个时钟周期后输出 load 为高电平 计数模块的设计 计数模块代码 module count clk data clr load pulse key 模块名定义 input clk clr load key 输入端口的定义 input 7 0 data mai kuan de ding yi output pulse 输出的定义 reg pulse 输出定义为 reg 类型 reg 7 0 count 计数器的定义 always posedge clk or negedge clr begin if clr 低电平复位 begin count data 置入脉宽 pulse 0 输出为零 end else if load 1 load 有效的时候 begin if key 0 当有按键按下的时候 begin count count 8 d1 计数器减一 pulse 1 输出为高电平 if count 8 d0 当计数器减到零的时候 begin count 8 d0 pulse 0 输出为低电平 end end begin end end begin end end begin end end always endmodule 结束计数模块 上图为可编程单脉冲发生器的逻辑仿真结果 由仿真结果可以看出 单脉冲输出的持续时间 脉冲宽度 由输入的脉宽参数 data 决定 2 仿真激励源代码 timescale 1ns 100ps module confirmpulse tb 仿真模块名字的定义 reg 7 0 data 输入的脉宽 reg clk 50M key clr 输入的时钟 按键 清零 wire pulse 输出 always 10 clk 50M clk 50M 时钟周期 initial begin clk 50M 0 clr 0 key 1 data 8 d10 赋初值 10 clr 1 key 0 10000 finish 结束仿真 end initial 监控 begin monitor time clk 50M d clr d data d key d pulse d n clk 50M clr data key pulse end confirmpulse 实例化 wsm key key clk 50M clk 50M data data clr clr pulse pulse endmodule 激励模块结束 五 电路设计源代码 顶层模块 module confirmpulse clk 50M data clr key pulse input 7 0 data 脉宽的定义 input clk 50M key clr key 是发脉冲的信号 clr 为清零信 号 output pulse 脉宽的输出 wire load 中间变量的定义 wire clk div div clk 50M clk 50M clk clk 实例化 dely u1 clk clk clr clr load load 实例化 count u2 clk clk data data clr clr load load pulse pul se key key 实例化 Endmodule 结束顶层模块 分频模块 module div clk 50M clk 模块名及端口的定义 到 endmodule input clk 50M 输入端口的定义 output clk 输出端口的定义 reg 31 0 a 32 d0 定义内部寄存器并赋初值 reg clk 0 给输出赋初值 always posedge clk 50M begin if a 32 d500000 判断计数器是不是记到了 500000 begin a 32 d0 计数器记到了 500000 清零 clk clk 输出脉冲取反 end 结束 else a a 1 计数器没有记到了 500000 自加 end 结束 always 块 endmodule 结束分频模块 延时模块 module dely clk clr load 模块名及端口的定义 endmodule input clk clr 输入端口的定义 output load 输出端口的定义 reg 2 0 counta 延时计数器 reg load 输出 always posedge clk or negedge clr begin if clr 当 clr 为低电平时 begin counta 5 清零 load 0 end 结束清零 else 当 clr 为高电平时计数器减一 begin counta counta 8 d1 if counta 8 d0 计数器减到零时 进行复位输出 load 为高 begin counta 8 d0 load 1 输出 load 为高 end end end endmodule 结束延时模块 计数模块 module count clk data clr load pulse key 模块名定义 input clk clr load key 输入端口的定义 input 7 0 data mai kuan de ding yi output pulse 输出的定义 reg pulse 输出定义为 reg 类型 reg 7 0 count 计数器的定义 always posedge clk or negedge clr begin if clr 低电平复位 begin count data 置入脉宽 pulse 0 输出为零 end else if load 1 load 有效的时候 begin if key 0 当有按键按下的时候 begin count count 8 d1 计数器减一 pulse 1 输出为高电平 if count 8 d0 当计数器减到零的时候 begin count 8 d0 pulse 0 输出为低
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 应急供电点管理制度
- 强化人财物管理制度
- 影视体验馆管理制度
- 微机实训室管理制度
- 心理课目标管理制度
- 快递员保安管理制度
- 怎样做好群管理制度
- 总工办现场管理制度
- 惠分期风险管理制度
- 戏曲排练厅管理制度
- 生物高中-基于大数据分析的精准教学课件
- 工程结算审计实施方案(共8篇)
- 焊接热处理工艺卡
- 信任五环(用友营销技巧)课件
- 2022年广东省深圳市中考化学真题试卷
- GB∕T 8110-2020 熔化极气体保护电弧焊用非合金钢及细晶粒钢实心焊丝
- 公共政策学(第三版)-课件
- 齐鲁医学Lisfranc-损伤
- 大型钢网架整体提升施工工法
- 干熄焦炉内固_气流动与传热数值模拟毕业论文
- 公司股东变更登记申请书(一变一)
评论
0/150
提交评论