跳到主要内容

CIRCT 系列教程

9 篇文章

Python 与 CIRCT 的融合:HLS 新视角

Python 与 CIRCT 的融合:HLS 新视角

本文将探讨如何利用 Python 解释性语言与 CIRCT 工具链的强大组合,实现 HLS 流程,从而将 Python 代码转换为可在 FPGA 或 ASIC 上运行的硬件电路描述。

CIRCT 中的形式化验证利器:BMC & LEC

CIRCT 中的形式化验证利器:BMC & LEC

本文将重点介绍 CIRCT 框架中的两种形式化验证工具:BMC(Bounded Model Checking)和LEC(Logical Equivalence Checking)。

硬件仿真的两大范式:Cycle-based VS Event-driven

硬件仿真的两大范式:Cycle-based VS Event-driven

仿真在硬件领域是不可或缺的一个环节,它与验证密不可分。本文将对比两种主要的仿真范式:cycle-based (基于时钟周期)和event-driven (基于事件驱动)。

Chisel 与 CIRCT 的无缝集成

Chisel 与 CIRCT 的无缝集成

本文将介绍如何使用 CIRCT 工具和 arcilator 工具从一份 Chisel 代码开始,经过一系列流程最终生成可在 FPGA 或 ASIC 上运行的硬件设计。

SystemVerilog 在 CIRCT 上的初步探索

SystemVerilog 在 CIRCT 上的初步探索

本文将介绍如何使用 CIRCT 工具编译 Verilog/SystemVerilog 代码,经过一系列流程最终生成仿真文件。

CIRCT 关键概念:方言 (Dialect)

CIRCT 关键概念:方言 (Dialect)

方言是 CIRCT 项目中最基本、最关键的概念,因此本文将首先介绍什么是方言。为了让读者能更清晰地理解方言以及后续文章的开展,本会还会详细介绍部分方言,以及这些方言在整个 CIRCT 框架中扮演什么角色。在了解这些方言之后,本文将暂时跳出 CIRCT,进入到 MLIR 的相关内容;随后会简要介绍一下 MLIR 能做什么以及为工业界带来了什么样的变化;最后再回到 CIRCT。

CIRCT - 基于 MLIR 的电路编译器和工具链

CIRCT - 基于 MLIR 的电路编译器和工具链

CIRCT 作为一个基于 MLIR (多层次中间表示)的开源工具,通过方言层优化,降低方言到更为低级的方言及降低到特定于目标的方言等技术,从而促进特定加速器目标的代码生成,解决硬件设计复杂性,加快开发流程。

现状:碎片化的开源 EDA 软件栈

现状:碎片化的开源 EDA 软件栈

本文将总结和对比各类开源 EDA 软件栈的优缺点,以及探讨为了适应未来 DSA 的快速发展,我们需要什么样的开源 EDA 软件栈。

预告 | CIRCT 系列教程

预告 | CIRCT 系列教程

本系列共 10 期,将基于碎片化开源 EDA 软件栈的现状,由浅入深地讨论 CIRCT 当下应用及未来规划。