您好,欢迎来到步遥情感网。
搜索
您的当前位置:首页FPGA实验报告模板怎么写才有效

FPGA实验报告模板怎么写才有效

来源:步遥情感网


FPGA实验报告模板怎么写才有效

实验1:状态机

实验目的:学习FPGA设计软件

教学基本要求:掌握软件流程,掌握状态机编程

实验内容提要:设计一个状态机

答:在上述代码中,q变化如下:首先判断复位信号rst是否为0,如果是0则q复位为0;否则当时钟信号上升沿到来时,将d的值赋给q,再判断a的值,如果a为1,则将b赋值给次态q,如果a为其他值,则将现态q赋给次态q。

答:如果异步复位信号rst为0,则q置0;rst不为0时,当时钟上升沿到来时,判断a的值,如果a=1,则将b的值赋给q的次态,如果a是其他值,则将q的现态赋给q的次态,结束这个判断语句后,将d赋值给q。

XXX有什么区别

out1的上升沿与下降沿和50MHz时钟的上升沿始终保持一致,周期变为50MHz时钟的6倍,实现周期扩展;out2的上升沿与clkin的上升沿保持一致,下降沿与out1的上升沿保持一致,可将clkin的数据记录下来以起数据使能作用;out3的上升沿恰好是out2的下降沿,比out2慢一拍,是更适合使用的前端使能;out4的上升沿与out3的下降沿保持一致,可以减少延迟。

2.红绿灯实验中,该状态机最少几个触发器可以实现

该逻辑情况下红绿灯状态机最少只需8个触发器即可实现。将3个计时计数触发器合并,并将溢出、使能触发器达成的功能改由计数数值在各状态下的交替变化,使用组合逻辑代替触发器,达成减少触发器使用的设计方案。

实验2数字钟设计

实验目的:掌握FPGA语言设计方法

教学基本要求:学习基本的VHDL语言结构和设计

实验内容提要:使用VHDL设计一个完整的数字钟实验

问题回答:

1.现在的时钟是秒时钟,实际系统的时钟是50MHz.那用50MHz的时钟的情况下,仿真1小时要多少时间如何解决该问题

仿真一小时需要计数器计数3600次,计数脉冲由50MHz的时钟驱动。时钟周期是0.02us,也就是说仿真时endtime设置为0.1ms就足够了。

2.复位如何输入的按键防抖如何制作的修改按键防抖的间隔会导致什么问题答:复位通过按键输入,经由毫秒脉冲10位寄存的全1判定来做按键防抖处理,输出所需rst信号;如缩短间隔则可能使防抖判定时间过短,无法达成防抖效果,如间隔过长则会导致需长时间按下按钮才生效,操作不友好,降低使用效率。

3.数码管的显示使用组合逻辑输出好还是时序逻辑输出好

答:时序逻辑输出更好,可以防止数值变化过程中险象的出现。

4.闰年算法:

答:Process(q)

If((qrem100)=0or(qrem400)=0)andqrem4=0then

Run<=1;

Elserun<=0;

Endif;

Endprocess;

实验三SRAM

实验目的:学习数字系统模块分割;掌握外接存储器接口技术

教学基本要求:学习存储器的接口技术

实验内容提要:设计一个对片外SRAM进行读写的控制接口

1.用功能仿真和时序仿真两种方法,比较一下ss的状态数值的变化答:在时序仿真时出现了之前未定义过的状态。

2.是写重要还是读重要这个代码,如果读请求被漏掉了怎么办如何防止如何保证写满之后不再写,读空之后不再读

答:写更重要;

为了防止请求被漏掉,就要求CLK最高频率低于SARM的读写速度;

为保证写满后不再写,可以在代码中设置一个记录读写次数的参数来做到这点。

实验四片内RAM和FIFO

实验目的:掌握ALTERA提供的IP核的使用方法

教学基本要求:学习软件IP核的使用方法

实验内容提要:将实验三的片外SRAM改由芯片内部的单口同步RAM实现

实验类型:设计型

使用的主要仪器:PC、DE2-115开发板

1.如何仿真这个IP核读请求发出后,数据在何时从管脚送出来

答:仿真IP核需要_ilin_软件的配合,将已生成的文件传入其中,并在仿真窗口下调入需要使用的读写命令、始终变量,采用下降沿到来的方式,便可形成波形。

2.芯片内部用到三态门,该如何实现

答:三态门,是指逻辑门的输出除有高、低电平两种状态外,还有第三种状态,即高阻状态的门电路。高阻态相当于隔断状态。三态门都有一个EN控制使能端,来控制门电路的通断。利用一个使能端控制器件的通与不通,即是处于高阻抗还是0/1状态。内存里面的一个存储单元,读写控制线处于低电位时,存储单元被打开,可以向里面写入;当处于高电位时,可以读出,但是不读不写,就要用高电阻态,既不是+5v,也不是0v,计算机里面用1和0表示是,非两种逻辑,但是,有时候,这是不够的,处于这两个极端的中间,就用那个既不是“+”也不是“—”的中间态表示,叫做高阻态。

高电平,低电平可以由内部电路拉高和拉低。而高阻态时引脚对地电阻无穷,此时读引脚电平时可以读到真实的电平值。高阻态的重要作用就是I/O(输入/输出)口在输入时读入外部电平用。

实验五SignalTapII和NIOSII

实验目的:掌握SignalTapII在线调试方法和SOPC原理

教学基本要求:学习SignalTapII在线调试方法,生成NIOSII架构实验内容提要:将实验三的设计到开发板中

添加SignalTapII组件

搭建NIOSII的FPGA结构

实验类型:验证型

使用的主要仪器:PC、DE2-115开发板

实验六自由设计实验

设计名称:万年历与数字钟的设计

设计简介:

本设计为实现一个多功能的万年历,具有年、月、日、时、分、秒计时并显示的功能,其满量程计时为一万年;具有校对功能,能够对初始的时间进行人为的设定。

设计以硬件描述语言VHDL为系统逻辑描述手段设计具有万年历功能的硬件电路,在QuartusII9.1软件设计环境下,采用自顶向下的设计思路,分别对各个基础模块进行创建,通过各个基础模块的组合和连接来构建上层原理图,完成基于VHDL万年历设计。

系统目标芯片采用EP2C35F484C8N,由miao模块、CNT60模块、CNT24模块、DAY模块、yue模块、nian模块经编译和仿真所设计的程序,在可编程逻辑器件上验证,将硬件编写程序到试验箱上,本系统能够完成年、月、日和时、分、秒的分别显示,由按键输入进行万年历的校时功能。

设计结构:

本设计先用VHDL语言写出需要的各个小模块,并将这些模块进行编译并打包成图形文件,最后将这些图形文件在顶层文件里进行连线,实现具体要求与功能。

按照模块化的设计思想,要实现万年历的基础功能,必定要包含年、月、日和时、分、秒的功能模块,其中秒和分可以用六十进制计数器来实现,时用二十四进制计数器实现,月用十二进制计数器来实现,年的低两位和高两位都是一百进制计数器,比较特殊的是天的计数器,因为它有四种情况,大月三十一天,小月三十天,平年二月二十八天,闰年二月有二十九天,所以年和月的模块对天的计数都有影响,需要从年和月的输出端引出控制信号来控制天的计数。同时每个计数器都有显示输出端和进位输出端,同时低级别(如秒)的进位输出要给较高级别(如分)的时钟输入端,以此类推,采用串行工作方式进行连接。从而完成了基础的计时和显示的功能。

完成程度:

基本完成了miao模块、CNT60模块、CNT24模块、DAY模块、yue模块、nian模块的设计和仿真,实现了一年四种不同月份天数的分辨,以及闰年的判断,以及最后的显示器译码输出,完成了万年历的基本功能。

最终实验的完成电路图如下:

未完成部分及其讨论:

校时功能的实现

按照由基础功能到增强功能的设计思路,要实现校时功能,要在之前电路的基础之上增加一个校时控制模块,增加两个按键来实现控制,按键1来选择校对哪一个模块,按键2选择校对到何值——检测到按键2的一个上升沿,对应的计数器加1。除此之外还需要有显示模式的切换的功能,需要增加一个模式切换的控制模块,通过增加一个按键3来实现控制,是显示年月日还是时分秒。

实验总结:

通过状态机、数字钟、SRAM、片内RAM和FIFO、signalTAP和NIOSII五个实验的学习,熟悉了FPGA的结构和具体应用,了解了VHDL语言的基本语法,并通过自己设计完成万年历与数字钟的设计,取得了FPGA学习的巨大进展,为今后进一步学习打下坚实的基础。

Copyright © 2019- obuygou.com 版权所有 赣ICP备2024042798号-5

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务