基于FPGA的四人抢答器设计实验报告.docVIP

  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文档。上传文档
查看更多
PAGE PAGE 1 南京铁道职业技术学院EDA技术及其应用实验报告 实训课程:EDA技术及其应用 实训项目:基于FPGA的四人抢答器 指导老师:于淑萍 姓名:张秀梅 班级:电子信息1101 学号:19 2012年12月21日星期五 基于FPGA的四人抢答器设计 顶层原理图: 四人抢答器工作原理: @功能要求: 1、1)有多路抢答,抢答台数为4; 2)具有抢答器开始后20秒倒计时,20秒倒计时后五人抢答显示超时,并报警; 3)能显示超前抢答台号并显示犯规报警; 2、系统复位后进入抢答状态,当有一路抢答按键按下,该路抢答信号将其余各路抢答信号封锁,同时铃声响起,直至该路按键松下,显示牌显示该路抢答台号。 @设计说明: 四人抢答器框图: 与门 与门 显示 电路 与门 与门 与门 抢答保持电 路 抢状态答 倒计时电路 译码输出 K3 K4 K2 K1 反馈信号 停止信号 开始 四人抢答器框图 系统复位后,反馈信号为高电平,使K1,K2,K3,K4输入有效,当抢答开始后,在第一个人按键后,保持电路输出低电平,同时送显示电路,让其保存按键的台号并输出,并反馈给抢答台,使所有抢答台输入无效,计时电路停止。当有人在规定时间无人抢答时,倒计时电路输出超时信号。当主持人开始未说完时,有人抢先按键时将显示犯规信号。 三、各功能模块的语言源文件: @Cnt20.v文件: module cnt20(stop,start,reset,CLK,q,yellow,green,red); input stop,start,reset,CLK;//定义四个输入,开始、停止、复位、时钟 output[7:0]q; //定义输出 output yellow,green,red; wire yellow,green,red; wire [7:0]q;//定义内部连线 integer tmp1,tmp2,CA; always@(posedge CLK)begin//时序过程 if(reset)begin tmp1=0;tmp2=2;CA=0;end else if(stop==0)begin if(start)begin if(tmp1==0)begin if(tmp2==0)begin CA=1;end else begin tmp2=tmp2-1;tmp1=9;end end else begin tmp1=tmp1-1;end end end end assign yellow=CA; assign q[7:4]=tmp2; assign q[3:0]=tmp1; assign green=stopstart; assign red=stop(~start); endmodule @first.v文件: module first(reset,a,lockout,firstman); input[3:0]a; input reset;//复位输入 output[3:0] firstman; output lockout;//输出结果 reg[3:0]c; reg[3:0]firstman; reg clk,lock; always@(a)begin if(a[3]|a[2]|a[1]|a[0]==1) begin clk=1b1;end else begin clk=1b0;end end always@(posedge clk or posedge reset) begin if(reset) begin c=4b0000;lock=1b0;end else if(lock==0) begin c=a; lock=1b1;end end assign lockout=lock; always@(c)begin case(c) 4b1000:firstman=4b0100; 4b0100:firstman=4b0011; 4b0010:firstman=4b0010; 4b0001:firstman=4b0001; default:firstman=4b0000; endcase end endmodule 设计过程出现的问题、解决的办法及体会: @问题: 在进行first仿真设置时间时设置不了; 在进行20进制编译时未找到文件; 在对顶层原理图下载编译时下载错误。 @解决方法: 时间设置不了是因为在时间设置中未设置适当的时间,在edit中奖时间设置好后便可进行

文档评论(0)

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

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

1亿VIP精品文档

相关文档