文章目录
复杂逻辑模块的设计
1.对于复杂的逻辑电路,其电路所描述的信息熵一定很高。
2.逻辑电路的复杂性通常有几点:
(1)内部组成结构复杂
(2)控制状态复杂,且高度耦合
(3)接口复杂,且信号数量众多
(4)模块数量巨大
3.针对以上面临的问题,在工程学的角度上讲,有以下解决方案:
(1)内部结构复杂:树状结构或网状结构进行消解
(2)接口复杂:简化为流量控制处理,使用成熟的通信协议设计降低难度
(3)控制状态复杂:通过控制流分解,按照主从状态细化的方法来降低单个组成单元的复杂度
(4)模块数量巨大:通过分类整理,使之条理化,清晰化
4.综上所述,任何复杂的逻辑设计最终可分为:
(1)结构化设计:对基本单元进行归类整理和层次化设计
(2)数据流设计:即基本功能的单元设计
(3)控制流设计:将层次化的基本单元进行梳理,最终形成全局电路控制
1.结构化的设计
芯片的结构化设计中最重要的一点:如何定义整体架构以及划分单元间的边界。在工程设计上要求“高内聚,低耦合,信息隐蔽”的基本原则。
架构划分的出发点通常包含:
(1)改善模块的独立性和并行性:本质是增加吞吐量,并降低实现难度
(2)改善EDA工具的运行时间或优化难度
(3)减少设计实现的面积
1.1结构化设计分类
1.顺序结构(数据流模型):各个模块的输入、输出都互相独立,互不干扰;数据解耦最完全;能实现最大吞吐率和最大并行化,是设计中首要追求的目标。
2.树状结构(数据分发与汇聚模型):典型的树状结构种,模块间只存在一个汇聚点,而子模块相互独立,互不干扰。整个树状结构只能由汇聚点输入或输出,整体充当一个节点与其他模块互联。这种结构适合在叶子节点较少时使用。
3.总线结构(总线模型):在网状耦合的