要求模拟 CMOS N_Type 和 P_Type 晶体管。不知道
Asked to simulate CMOS N_Type and P_Type transistors. No Idea
我首先要道歉,因为这是一个非常具体的问题,可能对其他人没有帮助。
无论如何,有人问我:
”概览
编写 CMOS N_Type 和 P_Type 晶体管的模拟。使用您的模拟晶体管来实现通用逻辑门。"
我已经在网上阅读了有关晶体管的信息,甚至尝试找到这些特定的晶体管,但我找不到任何具体的答案。如果我知道 见鬼 这家伙想让我做什么,我将不胜感激。
我得到了一个 BinaryDigit class 和一个抽象的 Transistor class。我将扩展晶体管并使用 isOpen() 和 isClosed() 方法创建非抽象 N 型和 P_type 晶体管。
最后,我必须使用两个晶体管创建一个 LogicGate(实现 and/or/etc)class。
有人知道我该怎么做吗?提前致谢。
我在黑暗中拍摄了一些照片,但这就是我想到的。 PMOS class 将是相同的,只是您要检查 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));
}
}
我首先要道歉,因为这是一个非常具体的问题,可能对其他人没有帮助。
无论如何,有人问我:
”概览 编写 CMOS N_Type 和 P_Type 晶体管的模拟。使用您的模拟晶体管来实现通用逻辑门。"
我已经在网上阅读了有关晶体管的信息,甚至尝试找到这些特定的晶体管,但我找不到任何具体的答案。如果我知道 见鬼 这家伙想让我做什么,我将不胜感激。
我得到了一个 BinaryDigit class 和一个抽象的 Transistor class。我将扩展晶体管并使用 isOpen() 和 isClosed() 方法创建非抽象 N 型和 P_type 晶体管。
最后,我必须使用两个晶体管创建一个 LogicGate(实现 and/or/etc)class。
有人知道我该怎么做吗?提前致谢。
我在黑暗中拍摄了一些照片,但这就是我想到的。 PMOS class 将是相同的,只是您要检查 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));
}
}