0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

典型的基于RTL的ASIC设计流程分析

要长高 来源:OpenFPGA 作者:碎碎思 2022-06-20 16:24 次阅读

SystemVerilog的RTL综合子集

SystemVerilog既是一种硬件设计语言,也是一种硬件验证语言。IEEE SystemVerilog官方标准没有区分这两个目标,也没有指定完整SystemVerilog语言的可综合子集。相反,IEEE让提供RTL综合编译器的公司来定义特定产品支持哪些SystemVerilog语言结构。

由于缺乏SystemVerilog综合标准,每个综合编译器可能支持SystemVerilog标准的不同子集。这意味着设计工程师在编写用于综合的SV模型时需要小心。必须参考要使用的综合编译器的文档,并遵循为一个综合编译器编写的编译器模型的语言子集,使用不同的综合编译器可能需要根据综合器特性进行修改。

接下来看下今天的主角-FPGA建模概念

FPGA的建模

本文的目的是了解SystemVerilog建模风格如何受到ASIC和FPGA技术的影响。有关ASIC和FPGA实现的详细信息以及这些技术的适当应用留给其他工程书籍讨论。然而,为了实现RTL建模最佳实践的目标,理解ASIC和FPGA的基本概念非常重要。

标准单元ASICASIC是专用集成电路的缩写。与可执行多种功能(如微处理器)的通用IC不同,ASIC设计用于执行特定任务(因此得名为“application specific”)。控制器音频格式转换和视频处理是适用于ASIC的示例。ASIC还可以包括一个或多个嵌入式处理器,以便执行特定任务同时可以进行通用操作。带有嵌入式处理器的ASIC通常被称为片上系统(SoC,主流设计)。

提供ASIC的公司称为ASIC供应商(ASIC vendors)。其中一些供应商提供ASIC技术并进行ICs实际制造和生产的一部分。其他ASIC供应商为ASIC提供技术,但将制造和生产留给其他公司。

大多数ASIC技术使用标准单元(standard cells),这些单元是预先设计的逻辑块,由一到几个逻辑门组成。ASIC单元库可能有几百个标准单元,如AND、NAND、OR、NOR、Exclusive-OR, Exclusive-NOR,2-to-l MUX- 2选1 MUX、D型触发器、锁存器等。每个单元都有明确的电气特性,如传播延迟、建立和保持时间以及寄生电容

设计ASIC涉及从库中选择合适的单元,并将它们连接在一起以执行所需的功能。在整个过程中使用EDA软件工具进行设计。ASIC设计的典型流程如图1-5所示:

poYBAGKwLlyAZf6-AAHtr1cpdPE593.png

图1-5:典型的基于RTL的ASIC设计流程

图1-5所示的步骤是:

1、当然,第一步是说明设计的意图。

2、所需的功能在抽象的RTL建模级别进行建模。在这个阶段,重点是功能,而不是物理实现。

3、仿真并验证功能。

4、综合,将RTL功能映射到适合目标ASIC类型的标准单元。综合的输出称为门级网表(gate-level netlist),该综合过程在后面有更详细的描述。

5、仿真或逻辑等价检查器(Logic Equivalence Checkers)(形式验证的一种形式)用于验证门级实现在功能上等同于RTL功能。

6、时钟树合成用于在整个设计中均匀分布时钟驱动。通常,扫描链插入到工具中以增加设计的可测试性。

7、Place and route(放置和布线)软件计算如何在实际硅中布局,以及如何布线。place and route软件的输出是一个图形数据系统文件(GDSII,发音为gee dee ess two)。GDSII是一种二进制格式,其中包含有关实际在硅中构建IC所需的几何形状(多边形polygons)和其他数据的信息。

8、进行设计规则检查(DRC),以确保ASIC制造厂定义的所有规则均得到遵守,如加载门扇出,

9、在考虑互连网络和时钟树倾斜的延迟效应后,执行静态时序分析(STA)以确保满足建立/保持时间。

10、最后一步是将GDSII文件和其他数据发送给制造厂,用于制造ASIC。将这些文件传递给制造厂被称为“taping out”ASIC,因为在ASIC设计的早期,是使用磁带将这些文件发送给铸造厂:

在本文中,ASIC设计流程中的这些步骤已被概括。有许多细节被遗漏了,并不是所有的公司都遵循这个确切的流程。有时,步骤9(静态时序分析)在设计流程的早期执行,并且可能在流程中执行多次。

本文的重点是用于仿真和合成的RTL建模,图1-5中的步骤2和步骤3。此级别的建模处于设计过程的前端。时钟树、扫描链和时序分析等设计细节将在设计流程的后面介绍,不在本文的范围之内。在RTL级别,设计工程师专注于实现所需的功能;而不是实施细节。然而,理解在建模、仿真和合成的前端步骤之后会发生什么仍然很重要。RTL编码风格会影响设计流程中后期使用的工具的有效性。

还有其他类型的ASIC技术不使用标准单元,如全定制、门阵列和结构化ASIC。SystemVerilog可以以类似的方式用于设计这些其他类型的ASIC,尽管所涉及的软件工具可能有所不同。所使用的综合编译器——以及这些编译器支持的SystemVerilog语言结构——可能与这些其他技术非常不同。

FPGAFPGA是现场可编程门阵列(Field Programmable Gate Array)的缩写。FPGA是一种集成电路,包含固定数量的逻辑块,可在IC制造后进行重新配置(而ASIC的内容和布局必须在制造前确定)。从历史上看,FPGA不能包含ASIC那么多的功能,只能以较慢的时钟速度运行,这是RTL级设计时的重要考虑因素。FPGA技术的最新进展显著缩小了FPGA和ASIC之间的差异。通常,FPGA可用于实现与ASIC相同的功能。

FPGA包含一系列称为可配置逻辑块(CLB)的小型逻辑元件。一些FPGA供应商将这些块称为逻辑阵列块(LABs)。典型的CLB可能包含一个或多个查找表(LUT)、一些多路复用器(MUX)和存储元件(如D型触发器)。大多数FPGA中的查找表都是用逻辑运算(如AND、OR和XOR)编程的小型RAM。从LUT中选择所需的操作允许以多种方式使用CLB,从简单的AND或XOR门到更复杂的组合功能。某些FPGA中的CLB还可能具有其他功能,例如加法器。MUX允许组合结果直接从CLB输出(异步输出),或在存储单元中输出(同步输出)。

FPGA使用包含数百或数千个CLB的阵列进行制造,以及可“编程”到所需CLB配置的可配置互连-FPGA还包含I/O焊盘,可配置为连接到CLB阵列的一列或一行。

复杂FPGA的典型设计流程如图1-6所示。

poYBAGKwLnKAV3pkAAGhGHq-exY268.png

图1-6:典型的基于RTL的FPGA设计

FPGA的前端设计流程类似于ASIC,但后端不同。FPGA的后端部分与ASIC的主要区别在于FPGA的布局和布线。对于ASIC,place and route软件决定IC的制造方式。对于FPGA,综合和布局布线软件详细说明了如何对FPGA进行编程。本文重点介绍前端步骤2和3,RTL建模和仿真,其中ASIC和FPGA设计之间几乎没有区别。

ASIC和FPGA的RTL编码样式

理想情况下,相同的RTL代码可以同时用于ASIC或FPGA。在“RTL级别”工作时,工程重点是设计和验证功能,而不必关心实施细节。综合编译器的作用是将RTL功能映射到特定的ASIC或FPGA技术。

对于ASIC和FPGA来说,大多数(但不是全部)RTL代码都能很好地综合。然而,这种普遍性也有例外。RTL模型的一些方面需要考虑设计是在ASIC还是FPGA中进行综合,这些方面包括:

复位。大多数ASIC单元库包括同步和异步复位触发器。设计工程师可以使用被认为最适合设计的复位类型来编写RTL模型,一些FPGA没有那么灵活,只有一种复位类型的触发器(通常是同步的)。虽然综合编译器可以将带有异步复位的RTL模型映射到门级同步复位中,或者反之亦然,但需要额外的逻辑门。许多FPGA还支持ASIC不具备的全局复位功能和预置上电上电触发器的状态。后面会更详细地讨论复位建模。

向量/矢量大小。ASIC在最大矢量宽度和矢量运算方面基本不受限制。在大向量上进行复杂操作需要大量逻辑门,但大多数ASIC中使用的标准单元架构可以适应这些操作。FPGA在这方面比较严格。由于可用CLB的数量或CLB之间互连路由的复杂性,预定义的CLB数量及其在FPGA中的位置可能会限制在非常大的向量上实现复杂操作的能力。ASIC和FPGA之间的这种差异意味着,即使在RTL抽象级别,设计工程师也必须牢记设计的功能会受到设备的限制。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1625

    文章

    21619

    浏览量

    601149
  • asic
    +关注

    关注

    34

    文章

    1182

    浏览量

    120218
收藏 人收藏

    评论

    相关推荐

    IC设计流程简介

    分析: Prime TimeSynopsys 公司测试:DFTCompileSynopsys 公司3.流程第一阶段:项目策划形成项目任务书(项目进度,周期管理等)。流程:【市场需求--调研--可行性研究
    发表于 12-19 16:20

    ASIC设计流程及其应用

    主要介绍了ASIC设计的流程及各个阶段所使用的软件。
    发表于 06-16 11:01

    ASIC设计全流程入门资料

    ASIC设计全流程入门资料,包括软件的使用。
    发表于 05-06 14:11

    如何使用良好的RTL设计实践进行修复

    喜 我正在寻找一个关于时序分析的好文档/教程。我得到的大多数文件都是针对ASIC的静态时序分析。我已经浏览了这里的博客并发布了一些有用但不全面的老年人。和xilinx文档专注于他们的时序分析
    发表于 02-14 08:16

    怎么利用Synphony HLS为ASIC和FPGA架构生成最优化RTL代码?

    新思科技公司(Synopsys)目前推出该公司最新研发的Synphony HLS (High Level Synthesis)解决方案。该解决方案集成了M语言和基于模型的综合法,与 传统RTL流程
    发表于 08-13 08:21

    时序逻辑等效性的RTL设计和验证流程介绍

    关于时序逻辑等效性的RTL设计和验证流程介绍。
    发表于 04-28 06:13

    ASIC有哪些设计流程

    参考中外文以及互联网资料,写一篇ASIC设计流程文章供大家参考,文中有不妥之处,还望批评指正,谢谢!
    发表于 07-23 09:46

    ASIC设计流程是怎样的

    ASIC是什么?ASIC设计可以分为哪几个部分?
    发表于 11-01 07:42

    ASIC与FPGA的开发流程是怎样的

    ASIC的设计流程是怎样的?FPGA的开发流程又是怎样的?
    发表于 11-01 07:08

    一次呼叫典型流程

    一次呼叫典型流程:一次呼叫典型流程B.1 概述本章将分别给出主叫流程和被叫流程的例子,以示一次通
    发表于 11-28 17:57 26次下载

    Cadence提供新一代Encounter RTL-to-GDSII流程

    全球电子设计创新领先企业Cadence设计系统公司日前宣布推出最新版Cadence Encounter RTL-to-GDSII流程.
    发表于 03-10 09:44 830次阅读

    27张详解ASIC芯片设计生产流程的PPT

    详解ASIC芯片设计生产流程的PPT
    的头像 发表于 07-16 15:37 1.1w次阅读

    ASIC芯片设计开发流程

    ASIC芯片设计开发流程说明。
    发表于 04-07 09:18 64次下载
    <b class='flag-5'>ASIC</b>芯片设计开发<b class='flag-5'>流程</b>

    LTE排障流程典型案例

    LTE排障流程典型案例分享。
    发表于 05-25 15:57 6次下载

    英诺达发布RTL级功耗分析工具助推IC高能效设计

    英诺达发布了自主研发的EnFortius®凝锋®RTL级功耗分析工具,可以在IC设计流程早期对电路设计进行优化。
    的头像 发表于 11-01 10:28 689次阅读