组合设计实例解析
1. 组合设计概述
组合设计旨在通过设计数字系统解决实际问题。通常可采用不同方法实现,如使用组合构建模块、ABEL 语言以及 VHDL 语言。不同方法适用于不同规模和需求的设计。使用组合构建模块的设计方法,能将组合功能用较小构建模块表达,这种分层方法简化设计任务,且小构建模块在 FPGA 和 ASIC 单元中实现更高效。ABEL 设计适用于小型 PLD,而 VHDL 适用于在单个 CPLD、FPGA 或 ASIC 中实现的大型设计。
2. 构建模块设计实例
2.1 桶形移位器
桶形移位器是一种组合逻辑电路,有 n 个数据输入、n 个数据输出和一组控制输入,用于指定数据在输入和输出之间的移位方式。这里以一个简单的 16 位桶形移位器为例,仅进行左循环移位,使用 4 位控制输入 S[3:0] 指定移位量。
例如,输入字为 ABCDEFGHGIHKLMNOP(每个字母代表一位),控制输入为 0101(5),则输出字为 FGHGIHKLMNOPABCDE。
设计该桶形移位器有多种方法,不同方法在速度和电路规模上存在权衡:
| 复用器类型 | 组件数量 | 数据负载 | 数据延迟 | 控制负载 | 总 IC 数 |
| — | — | — | — | — | — |
| 74x151 | 16 | 2 | 32 | 36 |
| 74x251 | 16 | 1 | 32 | 32 |
| 74x153 | 4 | 2 | 8 | 16 |
| 74x157 | 2 | 4 | 4 | 16 |
下面具体介绍不同设计方法:
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



