大数跨境

【玩转EGO1系列教程六】:使用EGO1动手学习数字逻辑系列(1)

【玩转EGO1系列教程六】:使用EGO1动手学习数字逻辑系列(1) 依元素科技
2017-11-17
3
导读:本系列所有演示实验均出自哈尔滨工业大学国家级电工电子教学实验中心团队廉玉欣老师等所编著的教材《基于Xilin

当前,使用FPGA来进行数字逻辑课程实验以及相关动手实践、创新已经被越来越多的老师和学生所接受。学习数字逻辑基础课的同时,掌握FPGA设计的基本流程和技巧也会对后续的学习以及工作有莫大的好处。


EGO1,这一最新的Xilinx口袋实验平台正是为此而生!各位对EGO1还不是很熟悉的小伙伴们,请点击这里详细阅读EGO1口袋实验平台的详细介绍。


EGO1配套教材-《基于Xilinx Vivado的数字逻辑实验教程》


针对初学上手的小伙伴们,EGO1口袋实验平台推荐有多部参考教材。今天要介绍的就是一本来自于哈尔滨工业大学电工电子实验教学中心电子学实验室主任廉玉欣老师精心编写的-《基于Xilinx Vivado的数字逻辑实验教程》。


本书由依元素科技提供技术支持,以Xilinx公司最新的Vivado FPGA集成开发环境为基础,将数字逻辑设计与硬件描述语言Verilog HDL相结合,循序渐进地介绍了基于Xilinx Vivado的数字逻辑实验的基本过程和方法。书中包含了大量的设计实例,内容翔实、系统、全面。


目前该书已在各大平台以及实体书店有售,使用EGO1学习数字逻辑以及FPGA设计的小伙伴们可不要错过噢!



EGO1动手练习

今天我们EGO1动手练习部分要做的是一个数字钟实验。这个实验在参考教材《基于Xilinx Vivado的数字逻辑实验教程》的第3章第1节,是FPGA设计实验部分的简易数字钟实验。


该实验使用EGO1板卡上的四位数码管,实现计分和秒的功能。要实现秒计数,需要设计一个六十进制秒计数器;要实现分计数,需要设计一个六十进制分计数器。能够实现计数功能的数字芯片很多,本实验选取74LS90为核心元器件。


我们通过在原理图设计界面搭建电路的方式来完成这个数字钟电路搭建。然后可以通过编写Testbench文件Digital_Clock_tb.v来给这个数字钟电路施加测试激励信号,并进行仿真。


数字钟电路的仿真激励如下所示:

1        module Digital_Clock_tb( );

2            reg GND;

3            wire [6:0]a_to_g;

4            wire [3:0]an;

5            reg clk;

6            reg clr;

7            wire dp;

8            parameter PERIOD=10;

9            design_1_wrapper dut

10             (

11              .GND(GND),

12              .a_to_g(a_to_g),

13              .an(an),

14              .clk(clk),

15              .clr(clr),

16              .dp(dp)

17              );

18            initial 

19                 begin

20                    clk = 0;

21                    GND=0;

22                    forever

23                        begin

24                           #(PERIOD/2) clk = 1;

25                           #(PERIOD/2) clk = 0;

26                        end

27                 end

28             initial

29                 begin

30                    clr = 0;

31                    #10 clr = 1;

32                 end

endmodule


关于实验原理部分的详细讲解,有兴趣的小伙伴们可以查阅参考书的对应章节。


实验源文件准备妥当之后,我们就可以开始动手实践啦。


首先当然是打开Vivado工具咯,这里我们使用最新的2017版本的Vivado开发环境。什么?你还没有安装Vivado么?表担心啦,我们提供有详细的Vivado安装流程,请点击这里查看。


Vivado开发环境成功打开后,它的主界面如下。


接下来就让我们开始使用Vivado完成这个实验吧。如果有对Vivado操作不熟悉的小伙伴们也不用担心啦,我们提供有STEP-BY-STEP的指导噢。请点击这里查看详细的Vivado实验操作流程。


首先,我们进行实验仿真。下面是仿真的结果。


同时,我们可以在Vivado中查看我们RTL所对应的原理图。

在完成Vivado FPGA综合流程后,我们还可以看到这段电路综合后的原理图。


最后,我们完成设计的整体实现,可以看到这段电路在实际的FPGA芯片中的线路图。


接下来,就可以在硬件平台上下载验证啦。当然,我们也有使用EGO1口袋实验平台来进行硬件下载的详细步骤介绍哟,请点击"阅读原文"查看。


硬件配置完成后,我们就可以在EGO1平台上来验证我们的设计啦,这个设计中我们将EGO1开发板的SW0和SW1分别作为clr和GND的输入,数码管作为输出。将SW0拉高后,可以看到4位数码管点亮,并开始计时,低两位代表秒,高两位代表分。好啦,各位小伙伴们大家看看我们的电路计算正确么?





我们欢迎有意向合作新工科课程改革项目的老师加入Xilinx大学计划,关于联合实验室建设、Vivado软件捐赠、校企共建课程、FPGA师资培训、学生竞赛、学生讲座等联系我们。


联系方式:edu@e-elements.com


E-Elements

FPGA我们是认真的!

【声明】内容源于网络
0
0
依元素科技
FPGA 我们是认真的
内容 510
粉丝 0
依元素科技 FPGA 我们是认真的
总阅读269
粉丝0
内容510