named anchors

This commit is contained in:
klemek
2020-12-22 17:22:59 +01:00
parent d208236adc
commit 330b044c6b
19 changed files with 656 additions and 118 deletions
@@ -94,8 +94,7 @@ namespace CompuLogic.Workspace.Gates
#region 300 - Latches
internal class SRLatchGate : StatefulGateDefinition
{
public new string Name => "SR Latch";
{
public override string[] Inputs { get; } = new string[] { "S", "R" };
public override string[] Outputs { get; } = new string[] { "Q", "Q̅" };
@@ -114,8 +113,7 @@ namespace CompuLogic.Workspace.Gates
}
internal class JKLatchGate : StatefulGateDefinition
{
public new string Name => "JK Latch";
{
public override string[] Inputs { get; } = new string[] { "J", "K" };
public override string[] Outputs { get; } = new string[] { "Q", "Q̅" };
@@ -136,8 +134,7 @@ namespace CompuLogic.Workspace.Gates
}
internal class DLatchGate : StatefulGateDefinition
{
public new string Name => "D Latch";
{
public override string[] Inputs { get; } = new string[] { "D", "E" };
public override string[] Outputs { get; } = new string[] { "Q", "Q̅" };
@@ -158,8 +155,7 @@ namespace CompuLogic.Workspace.Gates
#region 400 - Flip-Flops
internal class SRFlipFlopGate : StatefulGateDefinition
{
public new string Name => "SR Flip-Flop";
{
public override string[] Inputs { get; } = new string[] { "CLK", "S", "R" };
public override string[] Outputs { get; } = new string[] { "Q", "Q̅" };
@@ -182,8 +178,7 @@ namespace CompuLogic.Workspace.Gates
}
internal class JKFlipFlopGate : StatefulGateDefinition
{
public new string Name => "JK Flip-Flop";
{
public override string[] Inputs { get; } = new string[] { "CLK", "J", "K" };
public override string[] Outputs { get; } = new string[] { "Q", "Q̅" };
@@ -208,8 +203,7 @@ namespace CompuLogic.Workspace.Gates
}
internal class DFlipFlopGate : StatefulGateDefinition
{
public new string Name => "D Flip-Flop";
{
public override string[] Inputs { get; } = new string[] { "CLK", "D" };
public override string[] Outputs { get; } = new string[] { "Q", "Q̅" };
@@ -228,8 +222,7 @@ namespace CompuLogic.Workspace.Gates
}
internal class TFlipFlopGate : StatefulGateDefinition
{
public new string Name => "T Flip-Flop";
{
public override string[] Inputs { get; } = new string[] { "CLK", "T" };
public override string[] Outputs { get; } = new string[] { "Q", "Q̅" };
@@ -253,8 +246,7 @@ namespace CompuLogic.Workspace.Gates
#region 500 - Arithmetic
internal class HalfAddGate : StatelessGateDefinition
{
public new string Name => "Half Add.";
{
public override string[] Inputs { get; } = new string[] { "A", "B" };
public override string[] Outputs { get; } = new string[] { "S", "C" };
@@ -271,8 +263,7 @@ namespace CompuLogic.Workspace.Gates
}
internal class FullAddGate : StatelessGateDefinition
{
public new string Name => "Full Add.";
{
public override string[] Inputs { get; } = new string[] { "A", "B", "Cɪ" };
public override string[] Outputs { get; } = new string[] { "S", "C" };
@@ -290,8 +281,7 @@ namespace CompuLogic.Workspace.Gates
}
internal class HalfSubGate : StatelessGateDefinition
{
public new string Name => "Half Sub.";
{
public override string[] Inputs { get; } = new string[] { "A", "B" };
public override string[] Outputs { get; } = new string[] { "S", "C" };
@@ -309,8 +299,7 @@ namespace CompuLogic.Workspace.Gates
}
internal class FullSubGate : StatelessGateDefinition
{
public new string Name => "Full Add.";
{
public override string[] Inputs { get; } = new string[] { "A", "B", "Cɪ" };
public override string[] Outputs { get; } = new string[] { "S", "C" };
@@ -369,8 +358,7 @@ namespace CompuLogic.Workspace.Gates
}
internal class Mux2bGate : StatelessGateDefinition
{
public new string Name => "2bits Mux";
{
public override string[] Inputs { get; } = new string[] { "E", "S₀", "S₁", "D₀", "D₁", "D₂", "D₃" };
public override string[] Outputs { get; } = new string[] { "Y" };
@@ -396,8 +384,7 @@ namespace CompuLogic.Workspace.Gates
}
internal class Demux2bGate : StatelessGateDefinition
{
public new string Name => "2bits Demux";
{
public override string[] Inputs { get; } = new string[] { "E", "S₀", "S₁", "D" };
public override string[] Outputs { get; } = new string[] { "Y₀", "Y₁", "Y₂", "Y₃" };
@@ -418,8 +405,7 @@ namespace CompuLogic.Workspace.Gates
}
internal class Enc2b4bGate : StatelessGateDefinition
{
public new string Name => "2b/4b Enc.";
{
public override string[] Inputs { get; } = new string[] { "D₀", "D₁" };
public override string[] Outputs { get; } = new string[] { "Y₀", "Y₁", "Y₂", "Y₃" };
@@ -438,8 +424,7 @@ namespace CompuLogic.Workspace.Gates
}
internal class Dec4b2bGate : StatelessGateDefinition
{
public new string Name => "4b/2b Dec.";
{
public override string[] Inputs { get; } = new string[] { "D₀", "D₁", "D₂", "D₃"};
public override string[] Outputs { get; } = new string[] { "Y₀", "Y₁" };
@@ -462,8 +447,7 @@ namespace CompuLogic.Workspace.Gates
#region 700 - Registers
internal class SISO4bGate : StatefulGateDefinition
{
public new string Name => "4bits SISO";
{
public override string[] Inputs { get; } = new string[] { "CLK", "D" };
public override string[] Outputs { get; } = new string[] { "Q" };
@@ -490,8 +474,7 @@ namespace CompuLogic.Workspace.Gates
}
internal class SIPO4bGate : StatefulGateDefinition
{
public new string Name => "4bits SIPO";
{
public override string[] Inputs { get; } = new string[] { "CLK", "D" };
public override string[] Outputs { get; } = new string[] { "Q₀", "Q₁", "Q₂", "Q₃" };
@@ -518,8 +501,7 @@ namespace CompuLogic.Workspace.Gates
}
internal class PIPO4bGate : StatefulGateDefinition
{
public new string Name => "4bits PIPO";
{
public override string[] Inputs { get; } = new string[] { "CLK", "D₀", "D₁", "D₂", "D₃" };
public override string[] Outputs { get; } = new string[] { "Q₀", "Q₁", "Q₂", "Q₃" };
@@ -553,8 +535,7 @@ namespace CompuLogic.Workspace.Gates
#region 800 - Counters
internal class Counter2bGate : StatefulGateDefinition
{
public new string Name => "2bits Count.";
{
public override string[] Inputs { get; } = new string[] { "CLK", "RST" };
public override string[] Outputs { get; } = new string[] { "Q₀", "Q₁" };
@@ -585,8 +566,7 @@ namespace CompuLogic.Workspace.Gates
}
internal class Counter4bGate : StatefulGateDefinition
{
public new string Name => "4bits Count.";
{
public override string[] Inputs { get; } = new string[] { "CLK", "RST" };
public override string[] Outputs { get; } = new string[] { "Q₀", "Q₁", "Q₂", "Q₃" };