集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
楼主: lcytms

FPGA初级课程第四讲 数码管

[复制链接]
 楼主| lcytms 发表于 2016-11-2 21:58:15 | 显示全部楼层
接下来我们修改Testbench。
`timescale 1ns/1ps

module seg7_tb;

        reg clk, rst_n;
        reg [23:0] data;
       
        wire [2:0] sel;
        wire [7:0] seg;
       
        seg7  dut (.clk(clk), .rst_n(rst_n), .data(data), .sel(sel), .seg(seg));
       
        initial
                begin
                        clk = 1;
                        rst_n = 0;
                        data = 24'h012345;
                        #200.1
                        rst_n = 1;
               
                        #10_000_000 $stop;
                end
       
        always #10 clk = ~clk;

endmodule

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| lcytms 发表于 2016-11-2 22:00:10 | 显示全部楼层
本帖最后由 lcytms 于 2016-11-2 22:01 编辑

查看仿真波形。
检查seg信号和sel信号。
仿真波形与设计要求一致。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| lcytms 发表于 2016-11-2 22:05:19 | 显示全部楼层
在下板之前,我们还需要系统程序给出data信号,我们写一个top.v模块,将data设置为固定的24’h012345,让6个数码管同时显示012345。

编写top.v模块。并将该模块设置为顶层。
module top (clk, rst_n, sel, seg);

        input clk, rst_n;
       
        output [2:0] sel;
        output [7:0] seg;

        seg7  dut (.clk(clk), .rst_n(rst_n), .data(24'h012345), .sel(sel), .seg(seg));

endmodule

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| lcytms 发表于 2016-11-2 22:07:09 | 显示全部楼层
本帖最后由 lcytms 于 2016-11-2 22:09 编辑

参照.tcl文件设置好FPGA管脚

参照EP4CE10F17C8Nzx_1.tcl文件内容,对FPGA芯片管脚进行设置。

EP4CE10F17C8Nzx_1.tcl文件相关内容如下所示。FPGA芯片配置结果如图所示。

        #set_global_assignment -name FAMILY "Cyclone IV"
        #set_global_assignment -name DEVICE ep4ce10f17c8n

set_location_assignment PIN_E1    -to    clk         
       
# KEY 轻触按键
set_location_assignment PIN_L3    -to   key[0]         

# SEG7 x 8 七段数码管
set_location_assignment PIN_L6    -to   sel[2]
set_location_assignment PIN_N6    -to   sel[1]
set_location_assignment PIN_M7    -to   sel[0]
set_location_assignment PIN_T11   -to   seg[0]     
set_location_assignment PIN_T10   -to   seg[1]   
set_location_assignment PIN_T9    -to   seg[2]     
set_location_assignment PIN_T8    -to   seg[3]     
set_location_assignment PIN_T7    -to   seg[4]     
set_location_assignment PIN_T6    -to   seg[5]     
set_location_assignment PIN_T5    -to   seg[6]     
set_location_assignment PIN_T4    -to   seg[7]
   

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| lcytms 发表于 2016-11-2 22:08:59 | 显示全部楼层
.sof文件下载到FPGA
全编译FPGA工程,生成.sof文件,连接至芯ZX-1开发板并上电。
打开Programmer通过Jtag口,将.sof文件下载到FPGA进行在线仿真。
.sof文件下载界面如下图所示。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| lcytms 发表于 2016-11-2 22:10:24 | 显示全部楼层
开发板运行效果

开发板运行效果如下图所示。
经检查,开发板运行效果与设计相符。

程序下载后,6个数码管同时显示012345,按下复位键后无显示,与设计要求一致。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| lcytms 发表于 2016-11-2 22:12:16 | 显示全部楼层
好了,今天的课程就讲到这里。
通过今天的课程,我们学习了七段数码管的基本原理,并对数码管驱动逻辑电路进行了建模、仿真和下板检查。
希望大家掌握七段数码管的基本原理,并熟练运用Verilog语言编写驱动逻辑。
更复杂的知识和技巧我们将逐步通过后面的课程展现给大家。

课程到此结束,谢谢大家的关注!
Esmiamor 发表于 2016-12-27 17:39:38 | 显示全部楼层
              感谢分享。
fpga_wuhan 发表于 2016-12-29 14:36:15 | 显示全部楼层
FPGA初级课程第四讲 数码管
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|集成电路技术分享 ( 京ICP备20003123号-1 )

GMT+8, 2024-5-19 15:14 , Processed in 0.077563 second(s), 17 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表