lcytms
发表于 2016-11-2 21:58:15
接下来我们修改Testbench。
`timescale 1ns/1ps
module seg7_tb;
reg clk, rst_n;
reg data;
wire sel;
wire seg;
seg7dut (.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
lcytms
发表于 2016-11-2 22:00:10
本帖最后由 lcytms 于 2016-11-2 22:01 编辑
查看仿真波形。
检查seg信号和sel信号。
仿真波形与设计要求一致。
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 sel;
output seg;
seg7dut (.clk(clk), .rst_n(rst_n), .data(24'h012345), .sel(sel), .seg(seg));
endmodule
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
# SEG7 x 8 七段数码管
set_location_assignment PIN_L6 -to sel
set_location_assignment PIN_N6 -to sel
set_location_assignment PIN_M7 -to sel
set_location_assignment PIN_T11 -to seg
set_location_assignment PIN_T10 -to seg
set_location_assignment PIN_T9 -to seg
set_location_assignment PIN_T8 -to seg
set_location_assignment PIN_T7 -to seg
set_location_assignment PIN_T6 -to seg
set_location_assignment PIN_T5 -to seg
set_location_assignment PIN_T4 -to seg
lcytms
发表于 2016-11-2 22:08:59
.sof文件下载到FPGA
全编译FPGA工程,生成.sof文件,连接至芯ZX-1开发板并上电。
打开Programmer通过Jtag口,将.sof文件下载到FPGA进行在线仿真。
.sof文件下载界面如下图所示。
lcytms
发表于 2016-11-2 22:10:24
开发板运行效果
开发板运行效果如下图所示。
经检查,开发板运行效果与设计相符。
程序下载后,6个数码管同时显示012345,按下复位键后无显示,与设计要求一致。
lcytms
发表于 2016-11-2 22:12:16
好了,今天的课程就讲到这里。
通过今天的课程,我们学习了七段数码管的基本原理,并对数码管驱动逻辑电路进行了建模、仿真和下板检查。
希望大家掌握七段数码管的基本原理,并熟练运用Verilog语言编写驱动逻辑。
更复杂的知识和技巧我们将逐步通过后面的课程展现给大家。
课程到此结束,谢谢大家的关注!
zxopen08
发表于 2016-12-3 11:02:55
:):):):):):)
Esmiamor
发表于 2016-12-27 17:39:38
感谢分享。
fpga_wuhan
发表于 2016-12-29 14:36:15
FPGA初级课程第四讲 数码管