Logisim 使用
Logisim 实验
目 录
1 熟悉环境................................................................................................................................................ 3
1 Preparaon..................................................................................................................................... 3
1.1 基本功能:................................................................................................................................. 3
1.2 练习二(ToolBar 主要功能).......................................................................................................... 3
1.3 练习子电路................................................................................................................................. 4
1.4 练习分解器 Splier..................................................................................................................... 4
1.5 练习(传说中的选择器啊)...................................................................................................... 5
1.6 练习............................................................................................................................................. 5
1.7 练习............................................................................................................................................. 5
1.8 练习............................................................................................................................................. 5
2 FSM........................................................................................................................................................ 6
2.1 基础:根据真值表设计电路...................................................................................................... 6
2.2 看电路,分析功能..................................................................................................................... 6
2.3 看功能,分析电路(分析伯克利实验八的第一个实验的电路)...........................................7
2.4 伯克利实验十的 Part (A): Advanced Logisim 的 Exercise A.1: Storing State................................8
3 ALU....................................................................................................................................................... 11
4 CPU(2 次实验课,伯克利 prj3)...................................................................................................... 11
计算机组成与设计 模板版本:2.1 2 / 15
Logisim 实验
1 熟悉环境
学习使用 logisim,熟悉基本功能。
1 Preparation
下载 Logisim 软件,启动 Logisim 应用程序。输入
java -jar logisim-2.7.1.jar
如果想知道更多关于 Logisim 的内容,可以访问 Logisim
网站
1.1 基本功能:
学会使用 toolbar 上的功能。
学会增加子电路,并能够将子电路放到 main 电路中或者其他电路中使用
学会使用时钟
学会使用 splier,理解带宽的含义。这部分需要实现一个 8 位带宽的输入,其中 2 位输
入到一个与门,中间 3 位输入到一个 3 输入的或门,剩下三位输入到其他已有的门电路。
1.2 练习二(ToolBar 主要功能)
我们将通过创建一个非常简单的电路来感受一下如何放置门和电线。
1、 首先,单击“AND gate” 按钮。这时鼠标附近会出现一个与门的图标,在主电路图
窗口任意位置单击鼠标以放置与门。
2、 单击“Input Pin” 按钮。在你的与门左侧放置两个输入(input pin)。
3、 单击“Onput Pin” 按钮。在你的与门右侧放置一个输出(output pin)。这时你的电路
图看上去可能如下图所示:
计算机组成与设计 模板版本:2.1 3 / 15
Logisim 实验
4、 单击“Wire tool”按钮 。单击并拖动它,以便将输入端和与门的左边相连。如果你
只画垂直电线和水平电线的话,这一步可以分成几步。首先画一条水平电线,放开鼠
标,单击并拖动电线的末端画一条垂直电线。你可以把电线连接到与门左边的任意一
条腿上。重复这一过程,把与门的输出和 LED 相连。这时你的电路图看上去可能如下
图所示:
5、 最后,单击“Poke”按钮,试着单击电路图中的输入,看看会发生什么。这和你想象中
的与门的功能相符么?
1.3 练习子电路
正如 C 程序可以包含帮助函数一样,一个电路图中也可以含有子电路。在这部分中,我们会
创建几个子电路,并示范一下他们的使用。
1、 新建一个电路图(FileNew)。
2、 新建一个子电路(ProjectAdd Circuit),并命名为 NAND。
3、 在新电路图窗口中,你可以看见你刚创建的含有两个输入一个输出 NAND 电路。
4、 在屏幕左侧电路选择板中双击“main”以返回主电路图。这时,最初的空白电路图会显示出
来,而 NAND 电路图则被保存。
5、 单击列表中的“NAND”,告诉 Logisim 你想吧“NAND”电路添加到主电路中。
6、 试着把“NAND”电路放到主电路图中。如果你正确地做到了,你会看到一个左边含两个输
入右边含一个输出的门。试着把输入输出相连,看看它是否和想象中一样工作。
7、 重复这些步骤,创建其他几个子电路: NOR,XOR,2 to 1 MUX,和 4 to 1 MUX。除了
AND,OR 和 NOT 外,不要使用其他内置门。但是,一旦你创建了一个子电路,你可以使
用它来创建其他电路。
提示:不熟练者可以查看讲义学习如何创建。你可能需要使用一些你定制的电路来设计
其他电路。
1.4 练习分解器 Splitter
它是你这次课上需要使用的最基本的工具之一。为了示范如何使用它,你需要创建一个当最
高有效位和最低有效位为 1 时输出 1 的电路。
1、 创建一个名为“Exer2”的子电路。
2、 在该电路中添加一个 8 位输入。
3、 在该电路中添加一个 1 位输入。
4、 选择“Splier”电路,这个电路可以将一根电线分解成几根小电线。
5、 在放置“Splier”电路前,将“Bit Width In”属性改为 8,“ Fan Out”属性改为 3。这时如果将
鼠标移到电路图上,光标看上去就像
计算机组成与设计 模板版本:2.1 4 / 15
Logisim 实验
6、 现在,选择哪些位输出到输入的哪一部分。最低有效位为第 0 位,最高有效位为第 7 位。
改变第 1、2、6 位输出到输入 1。或者,选择“None”,使得第 1、2、6 位不输出到任一个
输入。
7、 配置完分解器后就可以把它放置在电路中。
再添加一个与门,该电路就完成了。
1.5 练习(传说中的选择器啊)
实现一个二路的复用器的子电路。
问题:如果信号时一位,而备选的两个输入时 32bit,电路怎么做?
1.6 练习
实现如上子电路。
1.7 练习
实现一个一位的触发器,注意要用时钟。
用 logisim 的时钟实验一下结果,看看 Q 是否存储值。
用这个子电路实现一个 32 位的寄存器。
1.8 练习
实现一个 3-8 译码器。
计算机组成与设计 模板版本:2.1 5 / 15