
1. 引言寄存器是数字电路和计算机体系结构中的核心组件用于临时存储二进制数据。在 CPU 中寄存器用于存放指令、数据和地址其访问速度远快于内存。本教程将带你使用 Logisim基于之前构建好的主从 D 触发器子电路快速搭建一个简单的带时钟信号的 8 位寄存器。本教程包括 8 位寄存器的真值表、逻辑化简以及具体的搭建步骤和原理图。本教程以上升沿为有效边沿。在原理图部分将使用Logisim Evolution 3.9.0和Logisim 2.7.1两个版本进行演示。2. 真值表下面给出其中一位例如第 i 位存储单元的真值表Clock (上升沿有效)D[ i ]Q[ i ]Q[ i ]n1功能描述↑000锁存数据 0保持 0↑010锁存数据 0覆盖 1↑101锁存数据 1覆盖 0↑111锁存数据 1保持 1说明在时钟上升沿0→1到来的瞬间8个触发器同时采样各自输入引脚上的电平D7~D0并将该电平保存到输出端Q7~Q0直到下一个上升沿到来前保持不变。3. 逻辑化简对于一个独立的 D 触发器其特征方程为Qn1 D仅在CP 上升沿时有效扩展到 8 位总线我们不需要做复杂的布尔代数化简只需要将相同的逻辑按位扩展。对于总线中的第 i 位Q[ i ]n1 D[ i ]仅在CP 上升沿时有效这意味着8位寄存器的内部逻辑就是8 个 D 触发器逻辑的完全并行复制数据路径之间没有任何交叉耦合不存在进位或借位。4. 构造步骤现在我们在Logisim中实现这个8位寄存器。本教程假设你已经创建了主从 D 触发器子电路我们将基于这个现有触发器模块来构建寄存器。主从 D 触发器的搭建可以参考这篇文章主从 D 触发器的详细教程新建电路新建一个电路命名为“Register_8bit”。放置引脚拖拽出 9 个“输入引脚Pin”分别命名为D7~D0本教程采用高位在前的方式Clock拖拽出 8 个“输出引脚Pin”分别命名为Q7~Q0。放置元件拖拽出 8 个主从 D 触发器“MasterSlave_D”。连接电路每个主从 D 触发器的输入端D分别连接输入引脚 D7~D0输入端CP同时连接到输入引脚 Clock。每个主从 D 触发器的输出端Q分别连接输出引脚 Q7~Q0输出端Q_not可以悬空不接Logisim 允许输出引脚悬空或者为了美观统一将其连接到“线路Wiring”库的“接地Ground”元件。完成后的 8 位寄存器原理图如下Logisim EvolutionLogisim*注如果出现连线正确却不知道什么原因报错或振荡保存后重新打开即可。5. 总结通过本教程我们完成了一个功能简单的 8 位寄存器的设计与实现。掌握寄存器设计是理解 CPU 中寄存器文件、流水线寄存器等更复杂结构的基础。希望本教程能帮助你迈出数字逻辑设计实践的第一步。下一步你可以在此基础上增加写入使能控制端实现带使能控制的寄存器或者将多个 8 位寄存器组合成寄存器文件——这是现代 CPU 中通用寄存器组的基础。