微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ASIC设计中一种通用型并行设计方法

我是个“低调”的人,总不喜欢表达出来,对异性如此,对工作也是如此。在翔哥的鼓励下,决定把自己工作的一些经验和思考写下来,和同道们一起分享

ASIC设计中一种通用型并行设计方法

1)流水网的概念提出

IC设计中的控制有串行和并行两种思想。状态机方法反应了串行控制思想,有软件的思路,比较好理解,新手比较喜欢用。流水线方法是并行处理的思想,比较抽象,因为其效率高,老手喜欢用。从“流水线“的名字就容易知道,它只是一维的一条线,一个设计中可以有很多条。小设计中可能很容易设计,但对于大设计,流水线会很多条,条与条之间还有交叉,给同步带来很大的麻烦。显然还用流水线的思想去考虑并行的硬件设计显然就力不从心了。因而我们提出二维的流水网的概念,以完善并行设计思想。

2)流水级的概念提出及实现

一条流水线就像一个产品代理线。例如我是一件产品中间的一级代理,我有我的上级代理,我也有我的下级代理。对于很大的一个代理系统中,我只需要和我的上级和下级打交道就可以了,而不会跨级(例如我的上上级或者下下级)。只有我仓库有货,我就可以往下出货,出货成功的条件是刚好下级也要货。一方面只要仓库没有满,我就可以向上级要货,另一方面,即使我的仓库满了,但现在刚好会出货,我也可以向上级要货,入货成功的条件是刚好上级也有货。入货和出货同时进行,正是并行系统的体现。这是典型的互联网分布式设计思想。因而我们可以提出流水级的概念。在流水级中,我们用upen表示上级可以出货,uprdy本级可以入货,dnen表示本级可以出货,dnrdy表示下级可以入货。本级入货成功的条件是上级可以出货并且本级可以入货(upen&uprdy),本级出货成功的条件是本级可以出货,下级可以入货(dnen&dnrdy)。

3)流水节点的概念的提出及实现

一条流水线里面的流水级的上下级都只有一个,但在两端的流水级则可能有多个在其他流水线上的上下级。流水节点实现他们之间的同步,从而形成流水网络。需要同步的每个流水级都有一组输入和输出信号(可能是upenuprdy的一组信号,也可以dnendnrdy的一组信号),本组输出信号就是除本组输入信号外的所有输入信号求与。

4)流水级,流水线,流水节点流水网的关系

流水级是一个点,多个流水级首尾相连可以形成流水线,多条流水线通过流水节点同步形成流水网。流水网可以实现任何的并行任务。

原文地址:https://www.jb51.cc/javaschema/284814.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐