FPGA实验报告
- 格式:doc
- 大小:249.00 KB
- 文档页数:7
实验1:状态机
实验目的:学习FPGA设计软件
教学基本要求:掌握软件流程,掌握状态机编程
实验内容提要:设计一个状态机
1. 你觉得上面这段代码中,q 到底在怎样变化?(实验1ppt14页)
答:在上述代码中,q变化如下:首先判断复位信号 rst 是否为 0,如果是 0 则q复位为0;否则当时钟信号上升沿到来时,将d的值赋给q,再判断a的值,如果a为1,则将b赋值给次态q,如果a为其他值,则将现态q赋给次态q。
2. 本页中,q 到底在怎样变化?(实验1 ppt15页)
答:如果异步复位信号rst为0,则q置0;rst不为0时,当时钟上升沿到来时,判断a的值,如果a=1,则将b的值赋给q的次态,如果a是其他值,则将q的现态赋给q 的次态,结束这个判断语句后,将d赋值给q。
3. 画出你理解的这个电路的原理图(ppt16页)
4.Out1 out2 out3 out4有什么区别?
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,也就是说仿真时end time设置为0.1ms就足够了。
2. 复位如何输入的?按键防抖如何制作的?修改按键防抖的间隔会导致什么问题?
答:复位通过按键输入,经由毫秒脉冲10位寄存的全1判定来做按键防抖处理,输出所需rst信号;如缩短间隔则可能使防抖判定时间过短,无法达成防抖效果,如间隔过长则会导致需长时间按下按钮才生效,操作不友好,降低使用效率。
3. 数码管的显示使用组合逻辑输出好还是时序逻辑输出好?
答:时序逻辑输出更好,可以防止数值变化过程中险象的出现。
4. 闰年算法:
答:Process(q)
If((q rem 100) =0 or (q rem 400)=0) and q rem 4 =0 then
Run <= 1;
Else run <= 0;
End if;
End process;
实验三 SRAM
实验目的:学习数字系统模块分割;掌握外接存储器接口技术
教学基本要求:学习存储器的接口技术
实验内容提要:设计一个对片外SRAM进行读写的控制接口
1.用功能仿真和时序仿真两种方法,比较一下ss的状态数值的变化?答:在时序仿真时出现了之前未定义过的状态。
2.是写重要还是读重要?这个代码,如果读请求被漏掉了怎么办?
如何防止?如何保证写满之后不再写,读空之后不再读?
答:写更重要;
为了防止请求被漏掉,就要求CLK最高频率低于
SARM的读写速度;
为保证写满后不再写,可以在代码中设置一个记录读写次数的参数来做到这点。
实验四片内RAM和FIFO
实验目的:掌握ALTERA提供的IP核的使用方法
教学基本要求:学习软件IP核的使用方法
实验内容提要:将实验三的片外SRAM改由芯片内部的单口同步RAM实现
实验类型:设计型
使用的主要仪器:PC、DE2-115开发板
1.如何仿真这个IP核?读请求发出后,数据在何时从管脚送出来?
答:仿真IP核需要Xilinx软件的配合,将已生成的文件传入其中,并在仿真窗
口下调入需要使用的读写命令、始终变量,采用下降沿到来的方式,便可形成
波形。
2.芯片内部用到三态门,该如何实现?
答: 三态门,是指逻辑门的输出除有高、低电平两种状态外,还有第三种状态,即高阻状态的门电路。高阻态相当于隔断状态。三态门都有一个EN控制使能端,来控制门电路的通断。利用一个使能端控制器件的通与不通,即是处于高
阻抗还是0/1状态。内存里面的一个存储单元,读写控制线处于低电位时,存
储单元被打开,可以向里面写入;当处于高电位时,可以读出,但是不读不写,就要用高电阻态,既不是+5v,也不是0v ,计算机里面用 1和0表示是,非
两种逻辑,但是,有时候,这是不够的,处于这两个极端的中间,就用那个既不是“+”也不是“—”的中间态表示,叫做高阻态。
高电平,低电平可以由内部电路拉高和拉低。而高阻态时引脚对地电阻无穷,此时读引脚电平时可以读到真实的电平值。高阻态的重要作用就是I/O(输入/输出)
口在输入时读入外部电平用。
实验五 Signal TapII和NIOSII
实验目的:掌握Signal TapII在线调试方法和SOPC原理
教学基本要求:学习Signal TapII在线调试方法,生成NIOSII 架构实验内容提要:将实验三的设计下载到开发板中
添加Signal Tap II 组件
搭建NIOSII的FPGA结构
实验类型:验证型
使用的主要仪器:PC、DE2-115开发板