logisim实验 联系客服

发布时间 : 星期二 文章logisim实验更新完毕开始阅读0799dddc6f1aff00bed51e97

Logisim实验

中的与门的功能相符么?

1.3 练习子电路

正如C程序可以包含帮助函数一样,一个电路图中也可以含有子电路。在这部分中,我们会创建几个子电路,并示范一下他们的使用。

1、 新建一个电路图(File?New)。

2、 新建一个子电路(Project?Add 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、 选择“Splitter”电路,这个电路可以将一根电线分解成几根小电线。

5、 在放置“Splitter”电路前,将“Bit Width In”属性改为8,“Fan Out”属性改为3。这时如

果将鼠标移到电路图上,光标看上去就像

6、 现在,选择哪些位输出到输入的哪一部分。最低有效位为第0位,最高有效位为第7位。

改变第1、2、6位输出到输入1。或者,选择“None”,使得第1、2、6位不输出到任一个输入。

7、 配置完分解器后就可以把它放置在电路中。 再添加一个与门,该电路就完成了。

1.5 选择器(可不做)

实现一个二路的复用器的子电路。

问题:如果信号是一位,而备选的两个输入时32bit,电路怎么做?

计算机组成与设计

模板版本:2.1 5 / 14

Logisim实验

1.6 练习锁存器(可不做)

实现如上子电路。

1.7 练习触发器(可不做)

实现一个一位的触发器,注意要用时钟。

用logisim的时钟实验一下结果,看看Q是否存储值。 用这个子电路实现一个32位的寄存器。

1.8 练习(可不做)

实现一个3-8译码器。

2 FSM

2.1 基础:根据真值表设计电路

上课时,你只是看到了真值表。在这次实验中,通过Logisim,你有足够的工具来实现真值表。假定真值表如下图所示,完成以下任务。

in1 0 0 1

计算机组成与设计

in0 0 1 0

| | | |

out1 out0 0 1 1

1 0 1

6 / 14

模板版本:2.1

Logisim实验

1 1 | 0 0

1、 从上面的真值表中推导出out1和out0的规范的SOP布尔表达式。

2、 根据布尔代数中的公式简化布尔表达式(看讲义或者google来复习这部分内容)。得到最

简式后,你可以检查一下该等式是否满足众所周知的那些门的模式。

3、 在Logisim的主电路图中实现该最简式。可以随意使用你之前设计的那些子电路。务必使

用“Text”

工具来注记你的输入输出。选择“Text”

工具工具,在电路图上单击,工具来选中文本对象,编辑位

并输入文本即可。如果输错了,你可以通过\于属性电路浏览器下侧的属性列表中的“Text”属性。

2.2 看电路,分析功能

下面的FSM电路,假设初始状态Register 1 =1; register 2=0 ? 理解下面fsm的功能,绘出波形图(参考ppt) ? 写出前5个周期两个寄存器的值

2.3 看功能,分析电路(分析伯克利实验八的第一个实验的电路,

计算机组成与设计

模板版本:2.1 7 / 14

Logisim实验

可不做)

Consider the design of a finite state machine (FSM) with two 1-bit inputs (clk and CE), and one 2-bit output (X). clk is the clock signal and CE is the \enable\output cycles through the pattern 00, 01, 10 11, 00, moving from one output value to the next on each positive edge of clk. If CE = 0 the output value remains unchanged.

Note that FSM has no reset input signal. You can assume that it starts up in any legal state.

Sketch the state transition diagram that represents the behavior of this FSM in the style of the lecture notes.

考虑设计一个FSM,有2个1位的输入(clk和CE),还有一个2位的输出(X)。clk是时钟信号,CE是“计数使能”信号。当CE=1的时候,FSM的行为就是一个二进制计数器,它的输出一直就是按照00,01,10,11,00状态进行变化,在每个上升沿时钟将状态转换到下一状态。当CE=0的时候,输出值不变。 注意FSM没有复位信号,你可以以任何合法的状态开始。

根据上面描述,绘制状态转移图分析FSM,并考虑一下实现的问题(只考虑,不实现)。

2.4 伯克利实验十的Part (A): Advanced Logisim的Exercise

A.1: Storing State(可以不做)

以下是网络上下载的A.1

Let's implement the circuit you worked on in Lab 8. The difference between this circuit and the circuits you've built for lab so far is that you need some registers. The following will show you how to add registers to your circuit. 我们现在开始考虑实现2.1和2.2中的那个FSM,这2个电路和我们以前实现的电路最大的区别在于现在我们需要用到寄存器。(即现在的电路不再是单纯的组合逻辑电路)。下面的提示可以告诉你如何在自己的电路中使用软件内置的寄存器。

计算机组成与设计

模板版本:2.1

8 / 14