FPGA入门实验试验报告

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

首先,选择New Project Wizard 新建一个工程,注意工程名称和顶层文件名称相同,如图所示
FPGA入门实验试验报告

然后,选择芯片型号 Cyclone III 下484个引脚的EP3C16F484C,然后直接点击Finish完成创建即可
FPGA入门实验试验报告
为工程添加.BDF文件,在BDF文件的空白处双击,在出来Symbol 框中输入input、output,并添加input、output引脚,并命名
FPGA入门实验试验报告
之后,编译工程,在板子上观察现象。
FPGA入门实验试验报告

实验二 译码器组合逻辑

题目:
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。
FPGA入门实验试验报告
然后,新建BDF文件,将上面创建的2-4译码器添加到文件中,添加输入、输出引脚,进行编译
FPGA入门实验试验报告

RTL图为
FPGA入门实验试验报告
FPGA入门实验试验报告

之后指派引脚,在板子上显示。
FPGA入门实验试验报告

题目二

新建工程,添加Verilog文件和BDF文件,写出一个3-8译码器的module,并创建Symbol,代码如图所示:
FPGA入门实验试验报告
新建BDF文件,将上面创建的3-8译码器添加到文件中,添加输入、输出引脚
FPGA入门实验试验报告
RTL图,如图所示
FPGA入门实验试验报告
FPGA入门实验试验报告

最后,分配管脚,在板子上观察现象。
FPGA入门实验试验报告

题目三

新建工程,添加Verilog文件和BDF文件,并创建Symbol,代码如图所示:
FPGA入门实验试验报告
新建BDF文件,将上面创建的添加到文件中,添加输入、输出引脚
FPGA入门实验试验报告
RTL图,如图所示
FPGA入门实验试验报告
FPGA入门实验试验报告
最后,分配管脚,在板子上观察现象。
FPGA入门实验试验报告

FPGA入门实验试验报告

实验三 计数器、波形仿真、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,其代码如下:
FPGA入门实验试验报告
RTL图为
FPGA入门实验试验报告
在Bdf文件中添加新建的Symbol并且将CLK信号指派为G21引脚。
FPGA入门实验试验报告
Signal tap中显示为
FPGA入门实验试验报告

题目二

新建工程,添加BDF文件和Verilog-HDL文件,写一个题目要求的计数器的Module并创建Symbol,其代码如下:
FPGA入门实验试验报告
RTL图为
FPGA入门实验试验报告
在Bdf文件中添加新建的Symbol并且将CLK信号指派为G21引脚。
FPGA入门实验试验报告
Signal tap中显示为
FPGA入门实验试验报告

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

题目
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文件,代码如图所示:
FPGA入门实验试验报告

题目二

将0-15经过译码后,通过数码管显示0-9-F
1)查阅开发板原理图可知,数码管为共阳连接,低电平有效,进而得出0~F每个数字的段选码。
2)将输入的0~15数字通过verliog编写译码成对应的段选码,其代码如下:
FPGA入门实验试验报告
新建BDF文件,将上面创建的添加到文件中,添加输入、输出引脚
FPGA入门实验试验报告
RTL图为
FPGA入门实验试验报告
最后,分配管脚,在板子上观察现象。
FPGA入门实验试验报告

题目三

新建工程,添加Verilog文件和BDF文件,并创建Symbol,代码如图所示:
FPGA入门实验试验报告

FPGA入门实验试验报告

FPGA入门实验试验报告

FPGA入门实验试验报告
新建BDF文件,将上面创建的添加到文件中,添加输入、输出引脚
FPGA入门实验试验报告
RTL图为
FPGA入门实验试验报告
最后,分配管脚,在板子上观察现象。
FPGA入门实验试验报告

FPGA入门实验试验报告

FPGA入门实验试验报告

实验五 多周期移位寄存器

题目
编译下载电路观察现象
拨动SW0开关,观察LED的闪烁变换情况
设计新的功能
– 在原有的电路基础上,添加方向选择功能。
– SW0仍然是移位寄存器组的输入
– 使用SW1开关,控制移位寄存的方向 – 从实验现象上应当能够看到,SW1可以控制LED闪烁的 移动方向,以及控制SW0值的对LED组的输入位置(即 从LED组的最左边或是最右边) 。

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

(1)移位寄存器
FPGA入门实验试验报告

(2)时间基准计数器
FPGA入门实验试验报告

之后,新建BDF文件,将上面创建的添加到文件中,添加输入、输出引脚
FPGA入门实验试验报告
RTL图为
FPGA入门实验试验报告
最后,分配管脚,在板子上观察现象。
FPGA入门实验试验报告

实验六 计数器、ROM和DDS

题目
拨动开关,观察不同频率的正弦波 – 电路的工作时钟是50MHz
– 请回答,你能得到的正弦波频率和计数器增量值的对应关系是什么?
答:随着计数值的增加,正弦波频率也增加

– 请回答,你能得到的最低频率的正弦波是多少?设该频率为f1 – 请思考,能否有什么方法能够得到比f1频率还低的正弦波 ?
答:正弦波信号一个周期采样128点,电路的工作时钟为50MHz,即是采样周期为0.02s,所以FPGA入门实验试验报告

对计数器进行改动,修改计数增量信号为10比特,计数值信号为10比特。
– 把计数增量输入信号分配到10个拨码开关上
– 把计数值信号的高7位分配为ROM的地址,低3位悬空不使用。
– 编译、下载电路,拨动拨码开关,观察最低频率有什么变化。
答:最低频率较原来相比会变大,变为原来的8倍,
Fmin=(400/128)Mhz

这种电路有个好听的名字,叫做 直接数字频率合成(DDS)
– 请给出:输出信号频率 和 电路工作时钟频率,计数器增量值,以及计数器数据位宽之间的表达式关系
答:其输出信号频率 f1、电路工作时钟频率 fh、计数器增量值 M 和计数器数据位宽 N 之间的表达式关系为:
FPGA入门实验试验报告