Hardware Modeling

本文介绍了几种硬件建模方法,包括逻辑网络(BDD、AIG)、状态图、数据流图等,并探讨了它们在不同抽象级别下的应用。通过具体的图例展示了每种模型的特点及简化过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

logic networks

state diagrams

Dataflow Graphs


对于硬件的建模其实有很多方式,前面一章中提到了的有使用HDL进行建模,当然硬件建模肯定不仅仅限于这一种方式。建模方式往往是根据需求来进行选择。为了方便分析系统的性能抑或是方便理解优化表达逻辑使用的硬件布局方式,这里使用了abstract model。这一类模型和HDL model一样可以分为不同的抽象等级,这里着重介绍在logic-level 下和architectural/RT-level 下的几个模型,方便进行schedule 上的优化。

在logic level下有两种:

  • logic networks(BDD,AIG)
  • state diagrams

在Architecture/RTL level下有两种:

  • dataflow graphs
  • sequencing dataflow graphs

下面我将使用图示加注解的方式对这些模型一一解释

logic networks

这一类模型是为了方便表达数字电路的模型的,即将介绍的两种都是DAG(direct acyclic graph,有向无环图)。BDD可以由truth table导出,其每一个节点都是一个变量,而edge表示的是这个变量的取值如下Fig1所示为F=(a+b)c的truth table导出的BDD模型。这个并不是模型的最终形态。其还可以进一步在图中化简,化简步骤如下:

  1. 将结果相同的子树合并,从最下层开始。
  2. 将有同样子节点的节点去掉,即不论取值为0或1都指向同一个节点

最终化简结果如Fig2 所示

Fig1 BDD

Fig2 化简BDD

AIG(And-Inverter Graph)的节点有两种情况,一种是terminal node 另一种是two-input node,它们分别表示的是输入变量和AND操作。连接各个节点的箭头有点的代表取非操作没点的就按原来AND的结果输出,如Fig3所示。

Fig3 AIG

state diagrams

State diagram是用于表示FSM的如图Fig4所示,这里就不具体介绍了自行百度。

Fig4 State diagram

Dataflow Graphs

Dataflow Graphs(FDG)表示的也是逻辑和操作,但是这里表示的操作更加多种多样,而且每一个操作就是一个节点一个节点可以代表一种实体的运算器件(这个叫做binding在后面章节中会讲到),而egde代表的是信号的流向如Fig5所示。

Fig5 DFG

如果说要分析scheduling的问题的话就要在这里引入一个操作时间先后的概念,于是由这个DFG引申出了Sequencing DFG。图中不仅仅有所有DFG能表述的内容还能知道每一个操作是在哪一个始终周期内发生的。如图Fig6. 使用这种图除了这种顺序逻辑以外还可以表达hierachy, branching等逻辑。其每一个Vertex因为可以表示一个具体的操作器件因此都有其自己的某一些属性:Area cost, Delay cost, Data-dependent execution delays等等。

Fig6 sequencing DFG
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值