Vivado初体验LED工程 3

简介: Vivado初体验LED工程

八、仿真测试

仿真在 FPGA 的设计中是很重要的,它可以在前期帮我们验证我们的设计以及功能是否是正确的,可以省去我们后期调试很多的问题。

1、右键 SIMULATION -> simulation Settings

2、仿真时间修改为 50ms(这是一个初始的仿真时间),其他保持不变,点击 “OK”

3、添加源文件

①、点击 “+”

②、添加或者创建仿真源

③、Create File

④、在弹出的窗口输入 File name 为 vtf_led_test

⑤、点击 “Finish”

⑥、弹出窗口再点击 “OK”

⑦、弹出窗口再点击 “Yes”

4、在 Simulation Sources 下面可以看到我们创建的 vtf_led_test.v 文件

5、把下面的测试代码拷贝到 vtf_led_test.v 中

`timescale 1ns/1ps    // 时间单位/精度
//------------<模块及端口声明>----------------------------------------
module vtf_led_test;
// Input
reg sys_clk;
reg rst_n;
// Output
wire led;
//------------<例化被测试模块>---------------------------------------
led uut (
    .sys_clk(sys_clk),
    .rst_n(rst_n),
    .led(led)
);
//------------<设置初始测试条件>----------------------------------------
initial
begin
    sys_clk = 1'b0;               // 初始时钟为0
    rst_n = 1'b0;
    #5;                          // 5个时钟周期后
    rst_n = 1'b1;
end
//------------<设置时钟>----------------------------------------------
always #10 sys_clk = ~ sys_clk;     // 系统时钟周期20ns
endmodule 

6、保存后可以看到层级关系

7、进行仿真,左键 Run Simulation -> Run Behavioral Simulation 进行行为级仿真

8、仿真初始界面

9、将 timer_cnt 拖拽到仿真界面 Name 栏目中

10、timer_cnt 右键 -> Radix -> Unsigned Decimal

11、执行 Run All(F3)

12、等待一会儿时间停止运行,搜索 1s 的时候(右键 Go To Time),可以看 led 从 0 变成了 1,如此反复

九、下载测试

1、AC7020 开发平台支持三种启动模式。这三种启动模式分别是 JTAG 调试模式,QSPI FLASH 和 SD 卡启动模式,ZYNQ7000 芯片上电后会检测响应 MIO 口的电平来决定那种启动模式。可以通过核心板上的 J13 的跳线来选择不同的启动模式,我们这里选择链接右边两个引脚,启动模式是 JTAG

2、连接好开发板的 JTAG 接口(仿真器线),给开发板上电(电源线)

3、在 “HARDWARE MANAGER” 界面点击 “Auto Connect”,自动连接设备


4、可以看到 JTAG 扫描到 arm 和 FPGA 内核(图中为 xc7z020,AC7010 开发板实际为 xc7z010_1,AC7020 开发板实际为 xc7z020_1),还有一个 XADC,可以检测系统电压、温度


5、选择 xc7z020_1,右键 “Program Device…”

6、在弹出窗口中点击“Program”

7、等待下载

8、下载完成以后,我们可以看到 1 颗 LED 开始每秒变化一次。(因为未将程序下载到 flash 里面,因此掉电后程序不可保存

image.png

fpga_led闪烁


目录
打赏
0
0
0
0
44
分享
相关文章
STM32-FreeRTOS源码下载及移植步骤(基于Keil)
STM32-FreeRTOS源码下载及移植步骤(基于Keil)
999 0
STM32-FreeRTOS源码下载及移植步骤(基于Keil)
【STM32项目】基于Stm32c8t6-镭射激光打印机的设计(完整工程资料源码)(二)
【STM32项目】基于Stm32c8t6-镭射激光打印机的设计(完整工程资料源码)(二)
248 0
【STM32项目】基于Stm32c8t6-镭射激光打印机的设计(完整工程资料源码)(一)
【STM32项目】基于Stm32c8t6-镭射激光打印机的设计(完整工程资料源码)(一)
225 0
嵌入式开发环境Vscode开发STM32单片机程序
嵌入式开发环境Vscode开发STM32单片机程序
226 1
野火F1开发板STM32案例-MultiButton移植
野火F1开发板STM32案例-MultiButton移植
204 0
stm32f407探索者开发板(二)——新建工程(基于固件库)(上)
stm32f407探索者开发板(二)——新建工程(基于固件库)(上)
315 0
stm32f407探索者开发板(二)——新建工程(基于固件库)(上)
stm32f407探索者开发板(二)——新建工程(基于固件库)(下)
stm32f407探索者开发板(二)——新建工程(基于固件库)(下)
179 0
stm32f407探索者开发板(二)——新建工程(基于固件库)(下)
proteus 与KEIL uvision联调的步骤
两个软件的联调设置,掌握虚拟化配置,省去硬件购置环节。
619 0
proteus 与KEIL uvision联调的步骤
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等