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闪烁


目录
相关文章
|
自然语言处理 芯片 异构计算
Vivado初体验LED工程 1
Vivado初体验LED工程
128 0
|
芯片
STM32-FreeRTOS源码下载及移植步骤(基于Keil)
STM32-FreeRTOS源码下载及移植步骤(基于Keil)
914 0
STM32-FreeRTOS源码下载及移植步骤(基于Keil)
|
6月前
|
中间件 编译器 调度
STM32cubemx对FreeRTOS的适配(工程模板配置)
STM32cubemx对FreeRTOS的适配(工程模板配置)
354 0
|
6月前
|
缓存 编译器 程序员
嵌入式开发环境Vscode开发STM32单片机程序
嵌入式开发环境Vscode开发STM32单片机程序
162 0
|
异构计算
Vivado初体验LED工程 2
Vivado初体验LED工程
116 0
|
人工智能 物联网 Linux
手把手之如何在嵌入式Linux上运行QT应用程序(以百问网imx6ull开发板为例)
手把手之如何在嵌入式Linux上运行QT应用程序(以百问网imx6ull开发板为例)
1215 0
stm32f407探索者开发板(二)——新建工程(基于固件库)(上)
stm32f407探索者开发板(二)——新建工程(基于固件库)(上)
287 0
stm32f407探索者开发板(二)——新建工程(基于固件库)(上)
stm32f407探索者开发板(二)——新建工程(基于固件库)(下)
stm32f407探索者开发板(二)——新建工程(基于固件库)(下)
159 0
stm32f407探索者开发板(二)——新建工程(基于固件库)(下)
|
传感器 物联网 Go
IAR 环境搭建之 LED 闪烁 | 学习笔记
快速学习 IAR 环境搭建之 LED 闪烁
IAR 环境搭建之 LED 闪烁 | 学习笔记
|
虚拟化
proteus 与KEIL uvision联调的步骤
两个软件的联调设置,掌握虚拟化配置,省去硬件购置环节。
585 0
proteus 与KEIL uvision联调的步骤