首先,我要道歉,因为这是一个非常具体的问题,可能对其他人没有帮助。
不管怎样,有人问我:
概述CMOS、N_Type和P_Type晶体管的模拟。使用模拟晶体管来实现通用逻辑门。“
我在网上读过关于晶体管的文章,甚至试图找到这些特定的晶体管,但我找不到任何具体的答案。如果我知道这个家伙想让我做什么,我会非常感激的。
我得到了一个BinaryDigit类和一个抽象晶体管类。我将扩展晶体管,用isOpen()和isClosed()方法创建非抽象的N型和isClosed晶体管。
最后,我必须使用这两个晶体管创建一个LogicGate(实现和/或/etc)类。
有人知道我该怎么做吗?提前谢谢。
发布于 2015-02-22 05:06:25
我在黑暗中开了一枪,但这就是我所想到的。PMOS类将是相同的,只是您将检查是否为b.digit == 0
。
class NMOS extends Transistor
{
boolean open;
public NMOS(BinaryDigit b)
{
open = b.digit == 1;
}
public void setInput(BinaryDigit b)
{
open = b.digit == 1;
}
public boolean isOpen()
{
return open;
}
public boolean isClosed()
{
return !open;
}
}
我建议你阅读逻辑门的CMOS实现。这里有一个和门,举个例子。
class AndGate
{
NMOS t1, t2;
public AndGate()
{
t1 = new NMOS(new BinaryDigit(0));
t2 = new NMOS(new BinaryDigit(0));
}
public BinaryDigit map(BinaryDigit input1, BinaryDigit input2)
{
t1.setInput(input1);
t2.setInput(input2);
return new BinaryDigit(((t1.isOpen() && t2.isOpen()) ? (1) : (0));
}
}
https://stackoverflow.com/questions/28654564
复制相似问题