【FPGA】高云FPGA之科学的FPGA开发流程(一)

简介: 【FPGA】高云FPGA之科学的FPGA开发流程

开发流程

1、设计定义

项目需要做什么,了解系统的功能,如果是大型的项目还会划分模块

2、设计输入

通过使用verilog、VHDL、成熟的IP核或者通过画原理图的方式进行逻辑输入设计

3、分析和综合

当逻辑输入设计完成后需要对其进行验证,该部分由软件部分进行验证,如果逻辑输入有问题需要检查语法错误或则重新设计设计输入

4、功能仿真

当分析和综合通过后应该进行功能性验证,针对项目设计定义的功能使用设计的逻辑输入验证其功能能否实现,一般的做法都是通过功能仿真的方式进行验证,比如软件逻辑分析仪,modelsim、vivado等软件自带的仿真工具进行仿真验证

功能仿真也称为行为仿真,主旨在于验证电路的功能是否符合设计要求,其特点是不考虑电路门延迟与线延迟,主要是验证电路与理想情况是否一致。也可以叫做RTL仿真(test bench)

5、布局布线

当我们的IO可以开始分配了我们首先需要分配IO,如果当前还没到IO分配的时候我们可以将IO分配放在最后,当IO分配完成后我们就可以通过软件进行布局布线,在芯片内部生成芯片电路

6、时序仿真

时序仿真也称为布局布线后仿真,是指电路已经映射到特定的工艺环境以后,综合考虑电路的路径延迟与门延迟的影响,验证电路能否在一定时序条件下满足设计构想的过程,能较好地反映芯片的实际工作情况,当时序仿真不通过的时候可能还会设计到时序约束的一个过程(在比较复杂的设计中也需要用到);

7、IO分配以及配置文件(bit流文件)的生成

如果在布局布线时未进行IO分配在该步骤进行IO分配并生成BIT流文件

8、配置(烧录)FPGA

时序通过了后需要通过硬件进行验证也就是最后一步的实物验证

9、在线调试

当系统出现问题运行不正常我们可以通过外部硬件示波器或者逻辑分析仪进行实际引脚信号抓取分析

例子

1、设计定义

1.1 需求

二选一多路器,两个输入IO(a,b)可以是高电平可以是低电平,一个sel选择信号

当sel为0时候输出按键1的状态

当sel为1时候输出按键2的状态

1.2 原理图

1.3 真值表

2、设计输入

2.1 新建工程

选择自己使用的芯片(我这里采用的是小梅哥的高云FPGA开发板)

新建一个verilog文件

2.2 添加代码

module mux_2_1(
    input wire in1, // 输入端口1
    input wire in2, // 输入端口2
  
  input wire sel, // 输入通道的选择
    output wire led // 输出led
);
// assign led = (sel == 1'b0) ? in1 : in2; // 第一种方式直接使用三目运算符
// 第二种方式是使用always的*触发方法ifelse判断
reg out;
always @(*) begin
  if(sel)
    out <= in2;
  else
    out <= in1;
end
assign led = out;
endmodule

3、分析和综合

这里代码我已经验证了所以没有语法错误,直接进行综合

当没有语法错误时表示代码正常然后我们可以运行工具中的RTL Desgin Viewer查看原理图网表;


【FPGA】高云FPGA之科学的FPGA开发流程(二)https://developer.aliyun.com/article/1472627

相关文章
|
5天前
|
芯片 异构计算
【FPGA】高云FPGA之数字钟实验->HC595驱动数码管(一)
【FPGA】高云FPGA之数字钟实验->HC595驱动数码管
|
5天前
|
编译器 异构计算 内存技术
【FPGA】高云FPGA之科学的FPGA开发流程(三)
【FPGA】高云FPGA之科学的FPGA开发流程
【FPGA】高云FPGA之科学的FPGA开发流程(三)
|
5天前
|
异构计算
【FPGA】高云FPGA之科学的FPGA开发流程(二)
【FPGA】高云FPGA之科学的FPGA开发流程
|
5天前
|
芯片 异构计算
【FPGA】高云FPGA之数字钟实验->HC595驱动数码管(三)
【FPGA】高云FPGA之数字钟实验->HC595驱动数码管
|
5天前
|
存储 芯片 异构计算
【FPGA】高云FPGA之数字钟实验->HC595驱动数码管(二)
【FPGA】高云FPGA之数字钟实验->HC595驱动数码管
|
5天前
|
芯片 异构计算
【FPGA】高云FPGA之IP核的使用->PLL锁相环(二)
【FPGA】高云FPGA之IP核的使用->PLL锁相环
|
5天前
|
芯片 异构计算
【FPGA】高云FPGA之IP核的使用->PLL锁相环(一)
【FPGA】高云FPGA之IP核的使用->PLL锁相环
|
算法 编译器 测试技术
第二章 FPGA开发流程
第二章 FPGA开发流程
186 0
第二章 FPGA开发流程
|
5天前
|
机器学习/深度学习 算法 异构计算
m基于FPGA的多通道FIR滤波器verilog实现,包含testbench测试文件
本文介绍了使用VIVADO 2019.2仿真的多通道FIR滤波器设计。展示了系统RTL结构图,并简述了FIR滤波器的基本理论,包括单通道和多通道的概念、常见结构及设计方法,如窗函数法、频率采样法、优化算法和机器学习方法。此外,还提供了Verilog核心程序代码,用于实现4通道滤波器模块,包含时钟、复位信号及输入输出接口的定义。
42 7
|
5天前
|
算法 异构计算
基于FPGA的ECG信号滤波与心率计算verilog实现,包含testbench
基于FPGA的ECG信号滤波与心率计算verilog实现,包含testbench

热门文章

最新文章