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

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

3天内不再提示

什么是ASIC设计?使用HDL和SystemC代码生成进行ASIC设计

MATLAB 来源:MATLAB 2023-07-20 10:29 次阅读

什么是 ASIC 设计

ASIC 设计是开发复杂电子系统的过程。该系统可制造成特殊用途的半导体设备,通常用于大批量应用或具有严格的功耗、性能和尺寸限制的应用。ASIC 系统设计人员使用高级语言并通过仿真和可视化来开发和评估算法

许多系统设计人员使用 MATLABSimulink 作为高级环境来指定 ASIC 设计的算法。通过将这些产品与第三方 EDA 工具结合使用,系统设计人员可以与 ASIC 硬件设计人员协作,使用 MATLAB 和 Simulink 对数字和模拟/混合信号 (AMS) ASIC 设计的新算法内容进行建模、仿真、优化和实现。

建模

您可以选择使用 MATLAB 或 Simulink 开发硬件实现的算法来开始 ASIC 设计开发。MATLAB 提供了一种基于语言且无时间限制的简洁建模环境,而 Simulink 提供了一种支持使用多速率模块图、状态机和其他建模结构进行图形化建模的环境。MATLAB 代码可以整合到 Simulink 模型中,因此,您可以从 MATLAB 顺利过渡到 Simulink 工作流。

通过将 Simulink 模型与现有代码整合并使用 HDL 协同仿真对其进行仿真,来增强该模型以使其适用于 ASIC 设计。为了评估模拟组件与数字组件之间的交互,可以添加 Mixed-Signal Blockset 中的组件,如锁相环 (PLL) 与数据转换器(ADCDAC)。

针对代码生成优化模型

接下来,您可以基于硬件实现优化 ASIC 设计模型。算法开发人员可与 ASIC 硬件设计人员协作优化模型的硬件架构。首先是审查 MATLAB 代码或 Simulink 模型,验证它是否适用于 HDL 代码生成。我们有 300 多个 Simulink 模块和 200 多个 MATLAB 函数支持生成 HDL 代码,您可以使用它们来构建模型。其次是使用 Fixed-Point Designer 将浮点模型转换为定点模型,以减少设计的面积和功耗。通过将 Simulink 模型从基于帧的模型转换为流式模型,可以针对 ASIC 设计进一步优化这些模型。

针对 HDL 代码生成进行基于模型的优化

通过 ASIC 架构,可以采用多种方式从功耗-性能-面积 (PPA) 方面优化实现。系统设计人员可以与 ASIC 硬件设计人员协作,使用 HDL Coder 从 MATLAB 代码或 Simulink 模型生成可综合的 Verilog 和 VHDL 代码。HDL Coder 提供了一系列优化选项,可以帮助设计人员尽可能实现 ASIC 设计的最高性能。这些选项包括时钟速率自动优化、资源共享和流水线化,它们可以显著减少实现设计所需的逻辑数量。HDL Coder 还支持为多速率设计和触发子系统生成 HDL 代码。

HDL 和 SystemC 代码生成

使用 HDL Coder,您可以按照引导式工作流完成 ASIC 设计的 HDL 代码生成过程。HDL Coder 可检查 MATLAB 和 Simulink 模型与 HDL 代码生成的兼容性,支持自定义生成的 HDL 代码,生成预综合报告,并生成 HDL 测试平台。

您可以通过 MATLAB 函数生成可综合的 SystemC 代码。生成的 SystemC 代码可作为 Cadence Stratus 高级综合工具的输入。通过将 Stratus HLS 与 Genus 逻辑综合解决方案和 Joules RTL 功耗解决方案相集成,ASIC 设计人员可以提前了解 ASIC 设计实现的功耗-性能-面积 (PPA)。

wKgZomS4nBOAf61QAAFl9dSbBPU455.jpg

使用 HDL Coder,可以从 MATLAB 代码生成 SystemC、Verilog/SystemVerilog 或 VHDL 代码。

FPGA 原型构建

在 ASIC 设计中,FPGA 原型构建是一种通过硬件测试来评估算法实现的常见方法。HDL Coder 可与 AMD Xilinx、IntelMicrochip 设备的 FPGA 工作流相集成,在开发板上实现快速原型构建。

使用 FPGA 开发板对原型设计进行 FPGA 在环测试。

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

    关注

    1624

    文章

    21597

    浏览量

    601009
  • asic
    +关注

    关注

    34

    文章

    1182

    浏览量

    120201
  • 仿真
    +关注

    关注

    50

    文章

    4013

    浏览量

    133299
  • Verilog
    +关注

    关注

    28

    文章

    1340

    浏览量

    109904
  • 代码
    +关注

    关注

    30

    文章

    4708

    浏览量

    68176

原文标题:什么是 ASIC 设计?利用仿真及 Verilog、VHDL 和 SystemC 代码生成进行 ASIC 设计

文章出处:【微信号:MATLAB,微信公众号:MATLAB】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    如何在FPGA上实现HDL代码完成MATLAB转换

    如果您正在使用 MATLAB 建模数字信号处理(DSP)或者视频和图像处理算法,并且最终将其用于 FPGA 或 ASIC,本文可能将为你带来帮助。 从 MATLAB 生成 HDL 代码
    的头像 发表于 11-08 10:36 5140次阅读

    如何在ModelSim下用SystemC的做验证?

    。很多人问我如何将SystemC综合和编译为可以下载的CPLD/FPGA的比特文件或者综合为ASIC网表,我的回答是用SystemC做RTL设计还为时过早。可以想象将来可能将SystemC
    发表于 03-01 11:30

    如何使用FPGA器件进行ASIC原型设计

    我的设计完全在Verilog中,并且已经使用Spartan FPGA进行了测试。我将源代码提供给ASIC工厂,以实现作为ASIC使用他们(我认为)的概要工具。我的问题是,有没有办法使用
    发表于 07-25 13:44

    ASIC和FPGA有什么区别

    进行重新编程。  2、开发流程区别:  FPGA开发是利用HDL和quartus、vivado等EDA工具,重新配置(configure)芯片的功能,而ASIC通常都具有较少的可重配置能力。  
    发表于 12-01 17:41

    请问如何对ASIC进行测试?

    如何检测低能量、高密度的X射线辐射?如何对ASIC进行测试?
    发表于 04-13 06:23

    ASIC到FPGA的代码是怎样进行转换的?

    原型验证过程中的ASIC到FPGA的代码是怎样进行转换的?
    发表于 05-08 09:16

    ASIC,ASIC是什么意思

    ASIC,ASIC是什么意思 ASIC(Application Specific Integrated Circuits)即专用集成电路,是指应特定用户要求和特定电子系统的需要而设计、制造
    发表于 03-26 17:10 7538次阅读

    ASIC到FPGA的原型验证代码转换技术

    ASIC设计进行FPGA原型验证时,由于物理结构不同,ASIC代码必须进行一定的转换后才能作为FPGA的输入。 现代集成电路设计中,芯片
    发表于 03-25 15:16 108次下载

    MathWorks推出基于MATLAB生成HDL代码的产品

    MathWorks 近日宣布推出 HDL Coder,该产品 支持MATLAB 自动生成 HDL 代码,允许工程师利用广泛应用的 MATLAB 语言实现 FPGA 和
    发表于 03-07 09:27 2144次阅读
    MathWorks推出基于MATLAB<b class='flag-5'>生成</b><b class='flag-5'>HDL</b><b class='flag-5'>代码</b>的产品

    ASIC验证技术

    本文描述ASIC验证方法和过程,有助于ASIC设计者对验证的认识。模拟是验证ASIC并产生测试矢量的唯一途径,设计者可以对ASIC芯片或者在ASIC
    发表于 05-24 09:32 23次下载
    <b class='flag-5'>ASIC</b>验证技术

    关于为FPGA和ASIC生成Verilog和VHDL代码分析和应用介绍

    HDL Coder 还可以生成第三方 lint 工具脚本,用于检查您生成HDL 代码HDL
    的头像 发表于 09-18 14:51 5207次阅读
    关于为FPGA和<b class='flag-5'>ASIC</b><b class='flag-5'>生成</b>Verilog和VHDL<b class='flag-5'>代码</b>分析和应用介绍

    asic是什么意思_ASIC设计过程

    本文首先介绍了asic的概念,其次介绍了ASIC的特点,最后介绍了ASIC设计过程。
    发表于 04-23 10:53 8656次阅读

    并行CRC电路HDL代码的快速生成

    CRC校验的实现基于串行位移寄存器,如果要处理并行数据,需要对电路进行改进。本文介绍了一种并行CRC电路HDL代码的快速生成钟算法,只需要带入不同的参数,可自动
    发表于 03-28 09:29 16次下载
    并行CRC电路<b class='flag-5'>HDL</b><b class='flag-5'>代码</b>的快速<b class='flag-5'>生成</b>

    FPGA vs ASIC

    FPGA vs ASIC 相同点 都设计使用硬件描述语言(HDL),如VHDL或Verilog。但ASIC相比于FPGA开发上,代码风格更为随意,因为FPGA是先有电路,后有
    的头像 发表于 11-28 10:30 1162次阅读

    什么是ASICASIC中的“特定应用”是什么意思?

    没有关于 ASIC 确切含义的官方声明,而且许多电子专业人士可能并不总是就 ASIC 到底是什么或特定组件是否应归类为 ASIC 达成一致。
    发表于 06-15 09:41 754次阅读
    什么是<b class='flag-5'>ASIC</b>?<b class='flag-5'>ASIC</b>中的“特定应用”是什么意思?