FPGA开发流程简介

  典型的fpga开发流程一般包括功能定义/器件选型、设计输入、功能仿真(RTL级仿真)、综合优化、综合后仿真(静态仿真)、实现(布局布线)、布线后仿真(静态时序分析及时序仿真)、板级仿真以及芯片编程与调试等主要步骤。

1,功能定义/器件选型:
  在系统设计之前,首先要进行的是方案的论证、系统设计和fpga芯片的选择等准备工作。工程师要根据任务要求,比如系统的指标和复杂度,对工作速度和芯片本身的各种资源、成本等方面的权衡,选择合适的设计方案和器件类型。一般都是采用自顶向下的设计方法,把系统分为若干个基本单元,然后把每个基本单元划分为下一层次的基本单元。

2,设计输入:
  设计输入有三种形式,IP核、原理图、HDL;

  • 原理图:是一种最直接的描述方式,虽然直观且易于仿真,但效率很低,不易于维护,不利于某块的构造和重用以及移植性差。

  • HDL:HDL语言具有不同的抽象层次,这些抽象层有开关机、逻辑门级、RTL级、行为级和系统级。其中前两级又叫结构级,直接反映的是结构上的特性;RTL级又可以称为功能级。

  • IP核:实现一定功能的模块叫IP。IP核按来源可以分为三类:来自前一个设计的内部创建模块;FPGA厂家;IP厂商。IP核的分类:

  • (1)软核:是用硬件描述语言描述的功能块(即RTL级模块),不涉及电路实现,通常以硬件描述语言HDL源文件的形式以及加密形式呈现。软核只经过功能仿真,需要经过综合以及布局布线后才能使用。优点:灵活性高、可移植性强、允许用户自配置。缺点是对模块的预测性较低,在后续的设计中存在发生错误的可能性。

  • (2)固核:是指带有布局布线规划的软核,通常以RTL代码核对应具体工艺网表的混合形式提供。将RTL描述结合具体标准单元库进行综合优化设计,形成门级网表,再通过布局布线工具即可使用。核软核相比,固核的设计灵活性较差,但可靠性有较大提高。

  • (3)硬核:是指布局布线和工艺固定、经过前端和后端验证的设计,通常以网表形式提供,不能修改。硬核复用困难,使用范围较窄,只能用于某些特定应用。</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值