Files
2025-12-31 19:35:06 +08:00

200 lines
6.6 KiB
XML

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project source="2.7.1" version="1.0">
This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<lib desc="#Wiring" name="0">
<tool name="Splitter">
<a name="fanout" val="6"/>
<a name="incoming" val="6"/>
<a name="appear" val="center"/>
</tool>
<tool name="Pin">
<a name="output" val="true"/>
</tool>
<tool name="Pull Resistor">
<a name="pull" val="1"/>
</tool>
</lib>
<lib desc="#Gates" name="1">
<tool name="OR Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</tool>
<tool name="NAND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</tool>
<tool name="NOR Gate">
<a name="inputs" val="6"/>
</tool>
</lib>
<lib desc="#Plexers" name="2"/>
<lib desc="#Arithmetic" name="3"/>
<lib desc="#Memory" name="4">
<tool name="ROM">
<a name="contents">addr/data: 8 8
0
</a>
</tool>
</lib>
<lib desc="#I/O" name="5"/>
<lib desc="#Base" name="6">
<tool name="Text Tool">
<a name="text" val=""/>
<a name="font" val="SansSerif plain 12"/>
<a name="halign" val="center"/>
<a name="valign" val="base"/>
</tool>
</lib>
<main name="Pulse"/>
<options>
<a name="gateUndefined" val="ignore"/>
<a name="simlimit" val="1000"/>
<a name="simrand" val="0"/>
</options>
<mappings>
<tool lib="6" map="Button2" name="Menu Tool"/>
<tool lib="6" map="Button3" name="Menu Tool"/>
<tool lib="6" map="Ctrl Button1" name="Menu Tool"/>
</mappings>
<toolbar>
<tool lib="6" name="Poke Tool"/>
<tool lib="6" name="Edit Tool"/>
<tool lib="6" name="Text Tool">
<a name="text" val=""/>
<a name="font" val="SansSerif plain 12"/>
<a name="halign" val="center"/>
<a name="valign" val="base"/>
</tool>
<sep/>
<tool lib="0" name="Pin">
<a name="tristate" val="false"/>
</tool>
<tool lib="0" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="labelloc" val="east"/>
</tool>
<tool lib="1" name="NOT Gate">
<a name="size" val="20"/>
</tool>
<tool lib="1" name="AND Gate"/>
<tool lib="1" name="OR Gate"/>
</toolbar>
<circuit name="Pulse">
<a name="circuit" val="Pulse"/>
<a name="clabel" val=""/>
<a name="clabelup" val="east"/>
<a name="clabelfont" val="SansSerif plain 12"/>
<appear>
<rect fill="#ffff00" height="20" stroke="#000000" stroke-width="2" width="20" x="60" y="60"/>
<polyline fill="none" points="63,75 66,75 66,65 74,65 74,75 77,75" stroke="#000000" stroke-width="2"/>
<text font-family="SansSerif" font-size="9" text-anchor="middle" x="70" y="76">1</text>
<circ-port height="10" pin="220,210" width="10" x="75" y="65"/>
<circ-anchor facing="east" height="6" width="6" x="67" y="67"/>
</appear>
<wire from="(150,190)" to="(150,200)"/>
<wire from="(90,210)" to="(210,210)"/>
<wire from="(110,190)" to="(110,200)"/>
<wire from="(130,120)" to="(130,200)"/>
<wire from="(60,120)" to="(60,140)"/>
<wire from="(90,190)" to="(90,210)"/>
<wire from="(110,120)" to="(130,120)"/>
<wire from="(110,200)" to="(130,200)"/>
<wire from="(130,200)" to="(150,200)"/>
<wire from="(200,180)" to="(210,180)"/>
<wire from="(210,210)" to="(220,210)"/>
<wire from="(60,140)" to="(70,140)"/>
<wire from="(60,120)" to="(70,120)"/>
<wire from="(100,150)" to="(100,160)"/>
<wire from="(210,180)" to="(210,210)"/>
<wire from="(170,180)" to="(180,180)"/>
<comp lib="0" loc="(220,210)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="Pulse"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="1" loc="(100,160)" name="AND Gate">
<a name="facing" val="north"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="4" loc="(170,170)" name="Counter">
<a name="width" val="6"/>
<a name="max" val="0x3f"/>
<a name="ongoal" val="stay"/>
</comp>
<comp lib="4" loc="(110,120)" name="D Flip-Flop">
<a name="trigger" val="high"/>
</comp>
<comp lib="6" loc="(175,65)" name="Text">
<a name="text" val="Generate a tiny 0-1-0 pulse after CTRL-R"/>
</comp>
<comp lib="0" loc="(60,120)" name="Pull Resistor">
<a name="pull" val="1"/>
</comp>
<comp lib="1" loc="(200,180)" name="NOT Gate">
<a name="size" val="20"/>
</comp>
</circuit>
<circuit name="Test">
<a name="circuit" val="Test"/>
<a name="clabel" val=""/>
<a name="clabelup" val="east"/>
<a name="clabelfont" val="SansSerif plain 12"/>
<wire from="(180,120)" to="(240,120)"/>
<wire from="(180,110)" to="(180,120)"/>
<wire from="(180,130)" to="(180,140)"/>
<wire from="(130,90)" to="(180,90)"/>
<wire from="(230,100)" to="(250,100)"/>
<wire from="(240,150)" to="(260,150)"/>
<wire from="(180,110)" to="(190,110)"/>
<wire from="(180,140)" to="(190,140)"/>
<wire from="(170,160)" to="(180,160)"/>
<wire from="(130,170)" to="(140,170)"/>
<wire from="(130,150)" to="(140,150)"/>
<wire from="(230,150)" to="(240,150)"/>
<wire from="(250,100)" to="(260,100)"/>
<wire from="(180,130)" to="(250,130)"/>
<wire from="(240,120)" to="(240,150)"/>
<wire from="(250,100)" to="(250,130)"/>
<comp loc="(120,170)" name="Pulse"/>
<comp lib="0" loc="(130,90)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="J"/>
</comp>
<comp lib="1" loc="(230,100)" name="NAND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
<a name="negate0" val="true"/>
</comp>
<comp lib="1" loc="(230,150)" name="NAND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
<a name="negate1" val="true"/>
</comp>
<comp lib="0" loc="(260,150)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(130,150)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="K"/>
</comp>
<comp lib="1" loc="(170,160)" name="OR Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="6" loc="(189,68)" name="Text">
<a name="text" val="Without pulse this starts instable and outputs E"/>
</comp>
<comp lib="0" loc="(260,100)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="labelloc" val="east"/>
</comp>
</circuit>
</project>