CPLD编程实验.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
CPLD编程实验

Part III CPLD上系统电路的实现 实验简述 实现1个3选手抢答电路,有倒计时显示、加分显示 学习状态转换图输入方式 进一步学习代码输入方式和原理图输入方式。 状态转换图 其它模块 DecCnt倒计数器 预置数选择电路 秒脉冲电路CpSec OnePulse秒脉冲清零信号生成电路 adder加法器电路 DecCnt倒计数器 输出 TimeOver信号:计数到0时TimerOver给出倒计时结束信号 倒计时显示数据 Time[3:0]。 输入 系统复位RESET 秒脉冲Cp1Sec:由于该脉冲高电平开始,所以上升沿触发计数。 预置数加载信号Pulse100n:脉冲宽度一个晶振CP周期,约100ns的窄脉冲 预置数TLD[3:0] 参考代码 module DecCnt(Cp1Sec, Pulse100n, TimeLD, TimeOver, Timer); input Cp1Sec,Pulse100n; input [3:0]TimeLD; output [3:0]Timer; output TimeOver; reg [3:0] Timer; always@(posedge Cp1Sec or posedge Pulse100n) begin if ________//如果是Pulse100n上升沿,load预置数Timer=TimeLD; else ______//倒计时减1 end assign _______// 当Timer 全0时,TimeOver=1; endmodule? 预置数选择电路 输出 预置数TLD[3:0]:例如抢答可设置5秒,回答设置7秒。 输入 选择控制信号CompeteTime、Play1AnsTime、Play2AnsTime 参考代码 module mux4of8(MainLED,Play1LED,Play2LED,out4); input MainLED,Play1LED,Play2LED; output [3:0] out4; reg [3:0] out4; always@(MainLED,Play1LED,Play2LED) begin case ({MainLED,Play1LED,Play2LED}) 3b011: ___________// 3b101: ___________// 3b110: ___________// default: ___________// endcase end endmodule 秒脉冲电路 输出 秒脉冲Cp1Sec,占空比50% 数码管轮显控制信号shifter[1:0] 输入 振荡源输出脉冲clk11M; 秒脉冲复位信号Pulse100n:为了保证送给DecCnt计数的秒脉冲完整性,在抢答、回答倒计时开始时对秒脉冲复位; 秒脉冲输出使能信号DownCntEn:由低电平有效,驱动发光二极管亮的三个信号MainLED,Play1LED,Play2LED相和得到,低电平有效,可以输出秒脉冲,高电平时,仅输出高电平。 参考代码 module CpSec(CLK, enCnt, Pulse100n, Cp1Sec, shifter); input CLK, enCnt, Pulse100n; output Cp1Sec; output [1:0]shifter; reg [23:0] count; always@(negedge CLK or posedge Pulse100n) begin if _____________//如果清零信号,count立即复位 else if (enCnt) //不允许倒计时计数 if _____//在count[23]翻转到0之前,将其复位 else ___//自加1,用于分时生成动态扫描数码管信号 else //允许倒计时计数 if __________//在count完成1s分频时,将其复位 else ____________ //自加1, end assign Cp1Sec=______;秒脉冲信号取自…… assign shifter=_______;动态扫描数码管信号取自…… endmodule? 秒脉冲清零信号生成电路 输出 Pulse100n:用于置数、清零的窄脉冲 输入 clk11M:11M振荡信号 AnyLedOn:窄脉冲所需要的源。 参考代码 module OnePulse(CLK, AnyLedOn, Pulse); input CLK, AnyLedOn;

文档评论(0)

f8r9t5c + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8000054077000003

1亿VIP精品文档

相关文档