深圳建企业网站,什么叫网站建设四网合一,河南省建设厅注册中心网站首页,网站开发平台FPGA开发流程 1、设计定义2、设计输入3、分析和综合4、功能仿真5、布局布线6、时序仿真7、IO分配以及配置文件#xff08;bit流文件#xff09;的生成8、配置#xff08;烧录#xff09;FPGA9、在线调试 1、设计定义
使用高云内置IP核实现多路不同时钟输出 输入时钟50M由晶… FPGA开发流程 1、设计定义2、设计输入3、分析和综合4、功能仿真5、布局布线6、时序仿真7、IO分配以及配置文件bit流文件的生成8、配置烧录FPGA9、在线调试 1、设计定义
使用高云内置IP核实现多路不同时钟输出 输入时钟50M由晶振提供
软件开发环境高云V1.99版本 硬件开发环境采用小梅哥ACG525(主芯片GW5A-LV25-UG324C2)
2、设计输入
创建好工程后我们点击IP核配置然后搜索PLL这里我们可以使用的模块是PLL_ADV
配置我们的输入时钟以及IP核心文件名字以及模块名字 然后依次在上方tab栏中设置需要输出的时钟频率 最后点击计算然后点击OK 添加到工程然后在我们的顶层文件中实例化我们的IP核并连接输入输出信号
module clock_test(input clk_in_50m,output clk_out_10m,output clk_out_25m,output clk_out_75m,output clk_out_100m
);myclock myclock_test(.clkout0(clk_out_10m), //output clkout0.clkout1(clk_out_25m), //output clkout1.clkout2(clk_out_75m), //output clkout2.clkout3(clk_out_100m), //output clkout3.clkin(clk_in_50m) //input clkin);endmodule3、分析和综合
当逻辑输入设计完成后需要对其进行验证该部分由软件部分进行验证如果逻辑输入有问题需要检查语法错误或则重新设计设计输入 4、功能仿真
当分析和综合通过后应该进行功能性验证针对项目设计定义的功能使用设计的逻辑输入验证其功能能否实现一般的做法都是通过功能仿真的方式进行验证比如软件逻辑分析仪modelsim、vivado等软件自带的仿真工具进行仿真验证
功能仿真也称为行为仿真主旨在于验证电路的功能是否符合设计要求其特点是不考虑电路门延迟与线延迟主要是验证电路与理想情况是否一致。也可以叫做RTL仿真(test bench)
首先编写我们的仿真时序文件
timescale 1ns / 1psmodule clock_test_tb();reg sys_clk;
wire clk_out_10;
wire clk_out_25;
wire clk_out_75;
wire clk_out_100;// 对pll_test_ds进行例化操作
clock_test Myclock(.clk_in_50m(sys_clk), // 模拟50MHZ.clk_out_10m(clk_out_10), // 模拟输出10MHZ.clk_out_25m(clk_out_25), // 模拟输出25MHZ.clk_out_75m(clk_out_75), // 模拟输出75MHZ.clk_out_100m(clk_out_100) // 模拟输出100MHZ);initial begin sys_clk 1b0; // 初始化
endalways #10 sys_clk ~sys_clk;//10ns之后将时钟进行翻转(即说明20ns为一个周期) 1/20ns 1/2*10^(-8) 5*10^7 50MHz 产生50MHz的时钟endmodule
创建我们的modsim文件进行时序查看这里需要注意我们需要吧IP核生成的文件也添加进仿真工程编译
库这边需要选择安装时编译的高云库 然后我们查看波形 可以看到波形满足我们时序要求跟我们设定的频率在运行
5、布局布线
当我们的IO可以开始分配了我们首先需要分配IO如果当前还没到IO分配的时候我们可以将IO分配放在最后当IO分配完成后我们就可以通过软件进行布局布线在芯片内部生成芯片电路 6、时序仿真
时序仿真也称为布局布线后仿真是指电路已经映射到特定的工艺环境以后综合考虑电路的路径延迟与门延迟的影响验证电路能否在一定时序条件下满足设计构想的过程能较好地反映芯片的实际工作情况当时序仿真不通过的时候可能还会设计到时序约束的一个过程在比较复杂的设计中也需要用到这个在上一个步骤功能仿真中我们已经完成了时序仿真的波形查看
7、IO分配以及配置文件bit流文件的生成
如果在布局布线时未进行IO分配在该步骤进行IO分配并生成BIT流文件这里我们直接查看小梅哥给出的excel文档填写我们需要输出的时钟引脚
//Copyright (C)2014-2023 Gowin Semiconductor Corporation.
//All rights reserved.
//File Title: Physical Constraints file
//Tool Version: V1.9.9 (64-bit)
//Part Number: GW5A-LV25UG324C2/I1
//Device: GW5A-25
//Device Version: A
//Created Time: Fri 02 02 09:37:52 2024IO_LOC clk_out_100m C17;
IO_PORT clk_out_100m PULL_MODENONE DRIVE8 BANK_VCCIO3.3;
IO_LOC clk_out_75m G14;
IO_PORT clk_out_75m PULL_MODENONE DRIVE8 BANK_VCCIO3.3;
IO_LOC clk_out_25m F14;
IO_PORT clk_out_25m PULL_MODENONE DRIVE8 BANK_VCCIO3.3;
IO_LOC clk_out_10m C18;
IO_PORT clk_out_10m PULL_MODENONE DRIVE8 BANK_VCCIO3.3;
IO_LOC clk_in_50m T9;
IO_PORT clk_in_50m PULL_MODENONE BANK_VCCIO3.3;
到这里软件的模拟仿真验证就完成了最后是烧录到板子上进行测试验证
8、配置烧录FPGA
时序通过了后需要通过硬件进行验证也就是最后一步的实物验证 9、在线调试
当系统出现问题运行不正常我们可以通过外部硬件示波器或者逻辑分析仪进行实际引脚信号抓取分析