您的位置:首页 > 其它

FPGA入门实验试验报告

2018-01-04 00:08 281 查看

实验一 项目创建、编译和下载

首先,选择New Project Wizard 新建一个工程,注意工程名称和顶层文件名称相同,如图所示



然后,选择芯片型号 Cyclone III 下484个引脚的EP3C16F484C,然后直接点击Finish完成创建即可



为工程添加.BDF文件,在BDF文件的空白处双击,在出来Symbol 框中输入input、output,并添加input、output引脚,并命名



之后,编译工程,在板子上观察现象。



实验二 译码器组合逻辑

题目:

1、放置2个2-4译码器模块,则总共有2组SW, 每组2个,2组LED,每组4个,每组SW分别控 制其对应的LED组。

2、参照代码,设计一个3-8译码器,完成类似 的拨码开关实验。注意代码中的信号宽度设定。

3、自行查阅手册中的7段译码器管脚对应关系, 用4个拨码开关控制一个7段译码器的数字,从 0-9-A-F,共16个数字和字母

题目1

首先,新建VHDL-Verilog文件,并写一个2-4译码器的moudle,并创建Symbol。



然后,新建BDF文件,将上面创建的2-4译码器添加到文件中,添加输入、输出引脚,进行编译



RTL图为





之后指派引脚,在板子上显示。



题目二

新建工程,添加Verilog文件和BDF文件,写出一个3-8译码器的module,并创建Symbol,代码如图所示:



新建BDF文件,将上面创建的3-8译码器添加到文件中,添加输入、输出引脚



RTL图,如图所示





最后,分配管脚,在板子上观察现象。



题目三

新建工程,添加Verilog文件和BDF文件,并创建Symbol,代码如图所示:



新建BDF文件,将上面创建的添加到文件中,添加输入、输出引脚



RTL图,如图所示





最后,分配管脚,在板子上观察现象。





实验三 计数器、波形仿真、SignalTap

题目

1、参照代码,设计一个0-17的计数器,当 计数值为17的时候,OV输出1,其他输出0, 注意设定合理的信号位宽。

2、针对以上计数器,修改输出逻辑,当计 数值为0-8时,OV输出0,9-17时OV输出1

尝试并思考,如果时钟是50MHz,把OV接 到一个LED上,能看见什么现象,为什么?

题目一

第一步,新建工程,添加BDF文件和Verilog-HDL文件,写一个17进制计数器的Module并创建Symbol,其代码如下:



RTL图为



在Bdf文件中添加新建的Symbol并且将CLK信号指派为G21引脚。



Signal tap中显示为



题目二

新建工程,添加BDF文件和Verilog-HDL文件,写一个题目要求的计数器的Module并创建Symbol,其代码如下:



RTL图为



在Bdf文件中添加新建的Symbol并且将CLK信号指派为G21引脚。



Signal tap中显示为



实验四 时间基准电路 和 带使能的多周期计数器

题目

1、参照代码,把后级计数器的计数范围改为0-15。

2、把计数器的0-15计数值经过译码,在DE0 的 HEX LED上显示成0-9-A-F的十六 进制数

3、修改时间基准发生器,设计一个使用2个HEX LED,精度为0.1秒,范围为0-9.9秒的计时秒表。

4、自行设计上面计时器的附加控制功能(清零、暂 停)。

题目一

根据参考代码,将计数器范围改为0~15,新建工程,添加Verilog文件,代码如图所示:



题目二

将0-15经过译码后,通过数码管显示0-9-F

1)查阅开发板原理图可知,数码管为共阳连接,低电平有效,进而得出0~F每个数字的段选码。

2)将输入的0~15数字通过verliog编写译码成对应的段选码,其代码如下:



新建BDF文件,将上面创建的添加到文件中,添加输入、输出引脚



RTL图为



最后,分配管脚,在板子上观察现象。



题目三

新建工程,添加Verilog文件和BDF文件,并创建Symbol,代码如图所示:









新建BDF文件,将上面创建的添加到文件中,添加输入、输出引脚



RTL图为



最后,分配管脚,在板子上观察现象。







实验五 多周期移位寄存器

题目

编译下载电路观察现象

拨动SW0开关,观察LED的闪烁变换情况

设计新的功能

– 在原有的电路基础上,添加方向选择功能。

– SW0仍然是移位寄存器组的输入

– 使用SW1开关,控制移位寄存的方向 – 从实验现象上应当能够看到,SW1可以控制LED闪烁的 移动方向,以及控制SW0值的对LED组的输入位置(即 从LED组的最左边或是最右边) 。

新建工程,添加Verilog文件和BDF文件,并创建Symbol,代码如图所示:

(1)移位寄存器



(2)时间基准计数器



之后,新建BDF文件,将上面创建的添加到文件中,添加输入、输出引脚



RTL图为



最后,分配管脚,在板子上观察现象。



实验六 计数器、ROM和DDS

题目

拨动开关,观察不同频率的正弦波 – 电路的工作时钟是50MHz

– 请回答,你能得到的正弦波频率和计数器增量值的对应关系是什么?

答:随着计数值的增加,正弦波频率也增加

– 请回答,你能得到的最低频率的正弦波是多少?设该频率为f1 – 请思考,能否有什么方法能够得到比f1频率还低的正弦波 ?

答:正弦波信号一个周期采样128点,电路的工作时钟为50MHz,即是采样周期为0.02s,所以


对计数器进行改动,修改计数增量信号为10比特,计数值信号为10比特。

– 把计数增量输入信号分配到10个拨码开关上

– 把计数值信号的高7位分配为ROM的地址,低3位悬空不使用。

– 编译、下载电路,拨动拨码开关,观察最低频率有什么变化。

答:最低频率较原来相比会变大,变为原来的8倍,

Fmin=(400/128)Mhz

这种电路有个好听的名字,叫做 直接数字频率合成(DDS)

– 请给出:输出信号频率 和 电路工作时钟频率,计数器增量值,以及计数器数据位宽之间的表达式关系

答:其输出信号频率 f1、电路工作时钟频率 fh、计数器增量值 M 和计数器数据位宽 N 之间的表达式关系为:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  fpga 芯片