通信工程专业实训报告.doc_第1页
通信工程专业实训报告.doc_第2页
通信工程专业实训报告.doc_第3页
通信工程专业实训报告.doc_第4页
通信工程专业实训报告.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

本科生实训报告实训课程 通信工程专业实训 学院名称 信息科学与技术学院 专业名称 通信工程 学生姓名 王城、张清静、谭政 学生学号 201313070202、03、05 指导教师 高嵩老师、刘同老师等 实训地点 6C601 实训成绩 二一六年十二月 二一六年十二月填写说明1、 适用于本科生所有的实训报告(印制实训报告册除外);2、 专业填写为专业全称,有专业方向的用小括号标明;3、 格式要求: 用A4纸双面打印(封面双面打印)或在A4大小纸上用蓝黑色水笔书写。 打印排版:正文用宋体小四号,1.5倍行距,页边距采取默认形式(上下2.54cm,左右2.54cm,页眉1.5cm,页脚1.75cm)。字符间距为默认值(缩放100%,间距:标准);页码用小五号字底端居中。 具体要求:题目(二号黑体居中);摘要(“摘要”二字用小二号黑体居中,隔行书写摘要的文字部分,小4号宋体);关键词(隔行顶格书写“关键词”三字,提炼3-5个关键词,用分号隔开,小4号黑体); 正文部分采用三级标题;第1章 (小二号黑体居中,段前0.5行)1.1 小三号黑体(段前、段后0.5行)1.1.1小四号黑体(段前、段后0.5行)参考文献(黑体小二号居中,段前0.5行),参考文献用五号宋体,参照参考文献著录规则(GB/T 77142005)。按键控制LED灯的流动方向 摘要FPGA(FieldProgrammable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。以硬件描述语言(Verilog或VHDL)所完成的电路设计,可以经过简单的综合与布局,快速的烧录至 FPGA 上进行测试,是现代 IC设计验证的技术主流。这些可编辑元件可以被用来实现一些基本的逻辑门电路(比如AND、OR、XOR、NOT)或者更复杂一些的组合功能比如解码器或数学方程式。在大多数的FPGA里面,这些可编辑的元件里也包含记忆元件例如触发器(Flipflop)或者其他更加完整的记忆块。关键词:FPGA;LED灯;流动方向控制第1章1.1工具、芯片试验芯片:仿真工具:ISE Design Suite 14.7, Modelsim SE 10.1c1.2问题分析点亮LED灯,控制LED灯的流动,是用按键控制LED灯流动的方向。经过问题分析使用不同模块实现不同的功能。分模块实现的有点:每个的模块的功能尽量的单一化,使模块的复用性提高,方便其他模块的复用。1.3模块的分化时钟分频模块:FPGA时钟分频即对FPGA的系统时钟根据自己所 需进行频率处理,使之达到原来的1/N倍频率,使流水灯的流动速度达到肉眼可见。按键消抖模块:在机械按键的按下和松开时,都会产生抖动,为了保证系统能正确识别按键的按下和松开,就必须对按键的抖动进行处理。LED 灯流水作业模块:具体控制 LED 灯的流动方向。顶层模块:包含 时钟分频模块、按键消抖模块、LED灯流水作业模块、引脚绑定。第2章2.1时钟分频模块代码编写module freq( input clk, input rest_n, output reg clk_slow ); reg 31:0counter;always (posedge clk or negedge rest_n)begin if (!rest_n)begincounter = 0;clk_slow = 0;endelsebeginif(counter 5000000) / 0.1s翻转一次,周期0.2m 50M * 8 / 1000 = 5Mcounter = counter + 1;else begincounter=0;clk_slow = clk_slow;endendend2.2按键消抖模块module KEY_button( input clk, input rest_n, input key_in, output reg key_out );reg 1:0state;reg 31:0cnt;reg 31:0temp;always(posedge clk or negedge rest_n)beginif(!rest_n)cnt=0;elsecnt=cnt+1;endalways(posedge clk or negedge rest_n )beginif(!rest_n)beginkey_out=1;state=0;temp=0;endelse begincase(state)0:beginif(key_in=0) begin/刚刚按下temp=cnt;/按下时记录cnt值state400000)/按下有效,当cnt和当时按下的temp的差为 400000=(50Mhz* 1/8 8ms )beginif(key_in=0)beginkey_out=0;state=2;endelse beginstate=0;endendend2:beginif(key_in=1) begin/刚刚抬起state=3;temp400000) begin/抬起有效if(key_in=1) beginkey_out=1;state=0;endelse beginstate=2;endendendendcaseendendendmodule2.3LED灯流水作业模块module led( input clk_slow, input rest_n, input key_direct, output reg 3:0 gpio_led );reg flag;always(posedge key_direct or negedge rest_n)beginif (!rest_n)flag=0;elseflag=flag;end reg 1:0state;always (posedge clk_slow or negedge rest_n)beginif (!rest_n)begingpio_led = 4b0000;state = 0;endelse if(!flag) begincase(state)0:begingpio_led = 4b1000;state = 1;end1:begingpio_led = 4b0100;state = 2;end2:begingpio_led = 4b0010;state = 3;end3:begingpio_led = 4b0001;state = 0;enddefault: beginstate = 0;endendcaseendelse begincase(state)0:begingpio_led = 4b1000;state = 3;end1:begingpio_led = 4b0100;state = 0;end2:begingpio_led = 4b0010;state = 1;end3:begingpio_led = 4b0001;state = 2;enddefault: beginstate = 0;endendcaseendendendmodule2.4顶层模块module TOP_LED( input clk, input key_direct, input rest_n, output wire 3:0gpio_led );wire key_out;/-/时钟分频器:产生一秒的时钟/-freq freq_inst ( .clk(clk), .rest_n(rest_n), .clk_slow(clk_slow) ); /-/按键消抖:控制流水灯方向的 按键进行消抖处理/在机械按键的按下和松开时,都会产生抖动,为了保证系统能正确识别按键的按下和松开,就必须对按键的抖动进行处理。/-KEY_button key_button ( .clk(clk), .rest_n(rest_n), .key_in(key_direct), .key_out(key_out) ); /-/流水灯模块/-led led_inst ( .clk_slow(clk_slow), .rest_n(rest_n), .key_direct(key_out), .gpio_led(gpio_led) );Endmodule2.4引脚绑定模块NET clk LOC = P24;NET rest_n LOC = P94;NET key_directLOC = P97;NET gpio_led0 LOC = P92;NET gpio_led1 LOC = P87;NET gpio_led2 LOC = P55;NET gpio_led3 LOC = P59;2.5 RTL schematic 视图第3章3.1试验心得学生实训 心得 在学习FPGA时,遇到的问题有许多,譬如,写代码时的警告,特别是一些不能忽视的警告,每次遇到时,总是还要检查一会儿才能改过来,或者有的警告已经出现了几次,但是就是解决不掉。每次在学一个模块时,只要是看懂了,它的一些重点就没有及时的记录在本子上,只有个别的想起来时,才会做笔记。每做完一个模块,没有及时记录下自己从这个模块中学到了什么。上面的不足,都是在写模块的过程中,自己逐渐暴露出来的。我很庆幸自己的一些问题能及时的被发现,避免类似的事情再次发生。像遇到警告时,都要记录下来,通过改

温馨提示

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

评论

0/150

提交评论