集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 1126|回复: 5

动态显示之顶层搭建与测试

[复制链接]
zxopenljx 发表于 2020-5-3 13:44:55 | 显示全部楼层 |阅读模式
这几天我们依次分享了数码管动态显示的几个子模块。今天,我们一起来搭建个顶层、写个测试文件,实现我们最初的构想。

首先根据我们的设计架构搭建顶层实体,其中包括四个端口:clk(时钟)、rst_n(复位)、sel(位选)、seg(段选)。
我们把端口声明一下;
把所包含的3个子模块例化进顶层;
最后声明一下中间连线
这样,顶层就搭建完成了。

源代码:
00 module seg_driver(clk, rst_n, sel, seg);
01
02     //端口声明
03     input clk;
04     input rst_n;
05     
06     output[2:0] sel;
07     output[7:0] seg;
08     
09     //定义中间连线
10     wire[23:0] date;
11     wire clk_out;      
12     
13     //3个子模块例化
14     
15     //分频模块
16     freq freq_inst(
17          .clk(clk),
18          .rst_n(rst_n),
19          .clk_out(clk_out)
20     );
21     
22     //移位模块
23     seg_run #(.cnt_num(4)) seg_run_inst(                 //#(.cnt_num(4)) 仿真记得传参!!
24          .clk(clk),
25          .rst_n(rst_n),
26          .date_in(date)
27     );
28
29     //显示模块
30     seg7 seg7_inst(
31          .clk_out(clk_out),
32          .rst_n(rst_n),
33          .date(date),
34          .sel(sel),
35          .seg(seg)
36     );
37
38 endmodule

然后就是测试文件的编写了。之所以要编写测试文件,就是要给工程模拟一个输入,而由架构图可知:这个工程的端口共有四个,两个输入、两个输出。
我们要模拟输入,就是要模拟时钟clk和复位rst_n就可以了。今后遇到所有输入端口只有时钟clk和复位rst_n的工程,都可以直接调用本次的测试文件。

测试源代码:
00 `timescale1ns/1ps     //时间标线  “单位/精度”
01
02 module seg_driver_tb;  //端口名
03
       //端口声明:输入定义成reg(寄存器)型,输出定义成wire(线型)型
04     reg clk;
05     reg rst_n;
06     
07     wire[2:0] sel;
08     wire[7:0] seg;
09     
       //初始赋值
10     initial
11     begin
12          clk =0;       //初始时,给时钟clk一个低电平“0”
13          rst_n =0;     //初始时,给复位rst_n一个低电平“0”,表示复位
14          #160            //延时160 纳秒
15          rst_n =1;     //让rst_n=1,表示复位结束
16     end
17         
18     always#10 clk =~clk; //时钟clk总是延时10纳秒取反一次,从而产生一个周期为20纳秒的时钟
19
       //端口实例化
20     seg_driver seg_driver_inst(
21          .clk(clk),
22          .rst_n(rst_n),
23          .sel(sel),
24          .seg(seg)
25     );
26
27 endmodule
至此,数码管滚动显示字符“HELLO.”的工程我们就做完了。无论您是仿真还是下板都可以实现了。
下板的实验现象,前几天已经给大家看过了。明天的话我们来分享一下仿真波形,看一下仿真出来的波形具体是个什么样子,也可以分析分析为什么是那样。

 楼主| zxopenljx 发表于 2023-8-22 16:47:22 | 显示全部楼层
动态显示之顶层搭建与测试
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

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

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2025-4-13 18:04 , Processed in 0.058597 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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