University stuff.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

cpu.circ 23KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629
  1. <?xml version="1.0" encoding="UTF-8" standalone="no"?>
  2. <project source="2.7.1" version="1.0">
  3. This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
  4. <lib desc="#Wiring" name="0">
  5. <tool name="Splitter">
  6. <a name="facing" val="south"/>
  7. <a name="fanout" val="4"/>
  8. <a name="incoming" val="4"/>
  9. <a name="appear" val="center"/>
  10. </tool>
  11. </lib>
  12. <lib desc="#Gates" name="1">
  13. <tool name="NOT Gate">
  14. <a name="facing" val="north"/>
  15. </tool>
  16. <tool name="Buffer">
  17. <a name="facing" val="south"/>
  18. <a name="width" val="8"/>
  19. </tool>
  20. <tool name="AND Gate">
  21. <a name="facing" val="south"/>
  22. <a name="size" val="30"/>
  23. <a name="inputs" val="2"/>
  24. </tool>
  25. <tool name="OR Gate">
  26. <a name="width" val="2"/>
  27. <a name="size" val="30"/>
  28. <a name="inputs" val="2"/>
  29. </tool>
  30. <tool name="XOR Gate">
  31. <a name="size" val="30"/>
  32. <a name="inputs" val="2"/>
  33. </tool>
  34. <tool name="Controlled Buffer">
  35. <a name="facing" val="south"/>
  36. </tool>
  37. </lib>
  38. <lib desc="#Plexers" name="2">
  39. <tool name="Multiplexer">
  40. <a name="facing" val="north"/>
  41. <a name="width" val="4"/>
  42. </tool>
  43. <tool name="Decoder">
  44. <a name="facing" val="north"/>
  45. <a name="select" val="2"/>
  46. </tool>
  47. <tool name="BitSelector">
  48. <a name="group" val="4"/>
  49. </tool>
  50. </lib>
  51. <lib desc="#Arithmetic" name="3"/>
  52. <lib desc="#Memory" name="4">
  53. <tool name="RAM">
  54. <a name="addrWidth" val="4"/>
  55. </tool>
  56. <tool name="ROM">
  57. <a name="addrWidth" val="4"/>
  58. <a name="contents">addr/data: 4 8
  59. 0
  60. </a>
  61. </tool>
  62. </lib>
  63. <lib desc="#I/O" name="5">
  64. <tool name="LED">
  65. <a name="facing" val="south"/>
  66. </tool>
  67. </lib>
  68. <lib desc="#Base" name="6">
  69. <tool name="Text Tool">
  70. <a name="text" val=""/>
  71. <a name="font" val="SansSerif plain 12"/>
  72. <a name="halign" val="center"/>
  73. <a name="valign" val="base"/>
  74. </tool>
  75. </lib>
  76. <main name="main"/>
  77. <options>
  78. <a name="gateUndefined" val="ignore"/>
  79. <a name="simlimit" val="1000"/>
  80. <a name="simrand" val="0"/>
  81. </options>
  82. <mappings>
  83. <tool lib="6" map="Button2" name="Menu Tool"/>
  84. <tool lib="6" map="Button3" name="Menu Tool"/>
  85. <tool lib="6" map="Ctrl Button1" name="Menu Tool"/>
  86. </mappings>
  87. <toolbar>
  88. <tool lib="6" name="Poke Tool"/>
  89. <tool lib="6" name="Edit Tool"/>
  90. <tool lib="6" name="Text Tool">
  91. <a name="text" val=""/>
  92. <a name="font" val="SansSerif plain 12"/>
  93. <a name="halign" val="center"/>
  94. <a name="valign" val="base"/>
  95. </tool>
  96. <sep/>
  97. <tool lib="0" name="Pin">
  98. <a name="tristate" val="false"/>
  99. </tool>
  100. <tool lib="0" name="Pin">
  101. <a name="facing" val="west"/>
  102. <a name="output" val="true"/>
  103. <a name="width" val="4"/>
  104. <a name="labelloc" val="east"/>
  105. </tool>
  106. <tool lib="1" name="NOT Gate"/>
  107. <tool lib="1" name="AND Gate"/>
  108. <tool lib="1" name="OR Gate"/>
  109. </toolbar>
  110. <circuit name="main">
  111. <a name="circuit" val="main"/>
  112. <a name="clabel" val=""/>
  113. <a name="clabelup" val="east"/>
  114. <a name="clabelfont" val="SansSerif plain 12"/>
  115. <wire from="(270,180)" to="(270,250)"/>
  116. <wire from="(270,250)" to="(270,390)"/>
  117. <wire from="(210,170)" to="(210,180)"/>
  118. <wire from="(250,170)" to="(250,180)"/>
  119. <wire from="(400,320)" to="(400,330)"/>
  120. <wire from="(300,180)" to="(300,190)"/>
  121. <wire from="(350,250)" to="(350,260)"/>
  122. <wire from="(400,360)" to="(570,360)"/>
  123. <wire from="(330,250)" to="(330,270)"/>
  124. <wire from="(390,270)" to="(390,290)"/>
  125. <wire from="(180,120)" to="(180,140)"/>
  126. <wire from="(280,120)" to="(280,150)"/>
  127. <wire from="(310,290)" to="(310,320)"/>
  128. <wire from="(310,330)" to="(310,360)"/>
  129. <wire from="(180,120)" to="(280,120)"/>
  130. <wire from="(530,350)" to="(530,390)"/>
  131. <wire from="(210,210)" to="(240,210)"/>
  132. <wire from="(230,230)" to="(260,230)"/>
  133. <wire from="(310,360)" to="(400,360)"/>
  134. <wire from="(410,270)" to="(410,310)"/>
  135. <wire from="(410,310)" to="(420,310)"/>
  136. <wire from="(480,160)" to="(490,160)"/>
  137. <wire from="(260,180)" to="(270,180)"/>
  138. <wire from="(270,150)" to="(280,150)"/>
  139. <wire from="(310,330)" to="(320,330)"/>
  140. <wire from="(180,140)" to="(190,140)"/>
  141. <wire from="(290,370)" to="(370,370)"/>
  142. <wire from="(310,290)" to="(390,290)"/>
  143. <wire from="(230,150)" to="(240,150)"/>
  144. <wire from="(380,340)" to="(380,390)"/>
  145. <wire from="(280,380)" to="(410,380)"/>
  146. <wire from="(570,310)" to="(570,360)"/>
  147. <wire from="(300,280)" to="(300,350)"/>
  148. <wire from="(260,230)" to="(310,230)"/>
  149. <wire from="(400,350)" to="(400,360)"/>
  150. <wire from="(260,170)" to="(260,180)"/>
  151. <wire from="(320,250)" to="(320,260)"/>
  152. <wire from="(330,340)" to="(330,350)"/>
  153. <wire from="(340,210)" to="(340,220)"/>
  154. <wire from="(260,210)" to="(260,230)"/>
  155. <wire from="(390,220)" to="(390,240)"/>
  156. <wire from="(270,390)" to="(380,390)"/>
  157. <wire from="(280,150)" to="(280,180)"/>
  158. <wire from="(410,380)" to="(510,380)"/>
  159. <wire from="(330,160)" to="(330,190)"/>
  160. <wire from="(230,250)" to="(270,250)"/>
  161. <wire from="(370,340)" to="(370,370)"/>
  162. <wire from="(340,250)" to="(340,280)"/>
  163. <wire from="(290,270)" to="(330,270)"/>
  164. <wire from="(280,260)" to="(320,260)"/>
  165. <wire from="(300,280)" to="(340,280)"/>
  166. <wire from="(290,270)" to="(290,370)"/>
  167. <wire from="(300,190)" to="(330,190)"/>
  168. <wire from="(300,350)" to="(330,350)"/>
  169. <wire from="(350,260)" to="(380,260)"/>
  170. <wire from="(280,180)" to="(300,180)"/>
  171. <wire from="(380,390)" to="(530,390)"/>
  172. <wire from="(410,340)" to="(410,380)"/>
  173. <wire from="(490,160)" to="(490,200)"/>
  174. <wire from="(390,320)" to="(400,320)"/>
  175. <wire from="(310,320)" to="(320,320)"/>
  176. <wire from="(330,160)" to="(340,160)"/>
  177. <wire from="(350,320)" to="(360,320)"/>
  178. <wire from="(400,270)" to="(400,320)"/>
  179. <wire from="(390,220)" to="(470,220)"/>
  180. <wire from="(340,210)" to="(470,210)"/>
  181. <wire from="(280,260)" to="(280,380)"/>
  182. <wire from="(560,310)" to="(570,310)"/>
  183. <comp lib="6" loc="(231,108)" name="Text">
  184. <a name="text" val="Program counter"/>
  185. </comp>
  186. <comp lib="4" loc="(480,160)" name="ROM">
  187. <a name="addrWidth" val="4"/>
  188. <a name="contents">addr/data: 4 8
  189. 8c 9d b0 b3 81 91 a0 b4
  190. </a>
  191. </comp>
  192. <comp lib="4" loc="(390,320)" name="Register">
  193. <a name="trigger" val="falling"/>
  194. </comp>
  195. <comp lib="6" loc="(577,339)" name="Text">
  196. <a name="text" val="System bus"/>
  197. <a name="halign" val="left"/>
  198. </comp>
  199. <comp lib="0" loc="(490,200)" name="Splitter">
  200. <a name="facing" val="west"/>
  201. <a name="incoming" val="8"/>
  202. <a name="bit0" val="1"/>
  203. <a name="bit2" val="1"/>
  204. <a name="bit3" val="1"/>
  205. <a name="bit4" val="0"/>
  206. <a name="bit5" val="0"/>
  207. <a name="bit6" val="0"/>
  208. <a name="bit7" val="0"/>
  209. </comp>
  210. <comp lib="5" loc="(230,250)" name="Button">
  211. <a name="label" val="Reset"/>
  212. <a name="labelloc" val="west"/>
  213. </comp>
  214. <comp loc="(390,240)" name="direct-input"/>
  215. <comp lib="4" loc="(560,310)" name="RAM">
  216. <a name="addrWidth" val="4"/>
  217. <a name="bus" val="asynch"/>
  218. </comp>
  219. <comp lib="1" loc="(510,350)" name="NOT Gate">
  220. <a name="facing" val="north"/>
  221. </comp>
  222. <comp loc="(330,220)" name="decode"/>
  223. <comp lib="1" loc="(250,180)" name="AND Gate">
  224. <a name="facing" val="north"/>
  225. <a name="size" val="30"/>
  226. <a name="inputs" val="2"/>
  227. </comp>
  228. <comp lib="5" loc="(300,180)" name="Hex Digit Display"/>
  229. <comp lib="0" loc="(190,160)" name="Constant">
  230. <a name="width" val="4"/>
  231. </comp>
  232. <comp lib="5" loc="(230,230)" name="Button">
  233. <a name="label" val="Clock"/>
  234. <a name="labelloc" val="west"/>
  235. </comp>
  236. <comp lib="4" loc="(270,150)" name="Register">
  237. <a name="width" val="4"/>
  238. <a name="trigger" val="falling"/>
  239. </comp>
  240. <comp lib="3" loc="(230,150)" name="Adder">
  241. <a name="width" val="4"/>
  242. </comp>
  243. <comp lib="1" loc="(210,210)" name="NOT Gate">
  244. <a name="facing" val="south"/>
  245. </comp>
  246. <comp loc="(350,320)" name="mux-8"/>
  247. <comp lib="6" loc="(411,111)" name="Text">
  248. <a name="text" val="Program ROM"/>
  249. </comp>
  250. <comp lib="6" loc="(728,465)" name="Text">
  251. <a name="halign" val="left"/>
  252. </comp>
  253. <comp lib="1" loc="(400,350)" name="Controlled Buffer">
  254. <a name="facing" val="south"/>
  255. <a name="width" val="8"/>
  256. <a name="control" val="left"/>
  257. </comp>
  258. </circuit>
  259. <circuit name="mux-4">
  260. <a name="circuit" val="mux-4"/>
  261. <a name="clabel" val=""/>
  262. <a name="clabelup" val="east"/>
  263. <a name="clabelfont" val="SansSerif plain 12"/>
  264. <appear>
  265. <rect fill="none" height="30" stroke="#000000" stroke-width="2" width="30" x="50" y="50"/>
  266. <text font-family="SansSerif" font-size="12" text-anchor="middle" x="65" y="72">4</text>
  267. <circ-port height="8" pin="220,230" width="8" x="46" y="56"/>
  268. <circ-port height="8" pin="220,270" width="8" x="46" y="66"/>
  269. <circ-port height="10" pin="370,250" width="10" x="75" y="55"/>
  270. <circ-port height="8" pin="250,340" width="8" x="56" y="76"/>
  271. <circ-anchor facing="east" height="6" width="6" x="77" y="57"/>
  272. </appear>
  273. <wire from="(260,230)" to="(260,250)"/>
  274. <wire from="(260,250)" to="(260,270)"/>
  275. <wire from="(250,310)" to="(280,310)"/>
  276. <wire from="(260,250)" to="(370,250)"/>
  277. <wire from="(250,200)" to="(250,220)"/>
  278. <wire from="(280,200)" to="(280,310)"/>
  279. <wire from="(250,280)" to="(250,310)"/>
  280. <wire from="(250,310)" to="(250,340)"/>
  281. <wire from="(220,230)" to="(240,230)"/>
  282. <wire from="(220,270)" to="(240,270)"/>
  283. <comp lib="0" loc="(220,270)" name="Pin">
  284. <a name="width" val="4"/>
  285. <a name="tristate" val="false"/>
  286. <a name="label" val="Input 1"/>
  287. </comp>
  288. <comp lib="1" loc="(260,230)" name="Controlled Buffer">
  289. <a name="width" val="4"/>
  290. <a name="control" val="left"/>
  291. </comp>
  292. <comp lib="1" loc="(260,270)" name="Controlled Buffer">
  293. <a name="width" val="4"/>
  294. </comp>
  295. <comp lib="0" loc="(370,250)" name="Pin">
  296. <a name="facing" val="west"/>
  297. <a name="output" val="true"/>
  298. <a name="width" val="4"/>
  299. <a name="label" val="Output"/>
  300. <a name="labelloc" val="east"/>
  301. </comp>
  302. <comp lib="0" loc="(250,340)" name="Pin">
  303. <a name="facing" val="north"/>
  304. <a name="tristate" val="false"/>
  305. <a name="label" val="Control"/>
  306. </comp>
  307. <comp lib="0" loc="(220,230)" name="Pin">
  308. <a name="width" val="4"/>
  309. <a name="tristate" val="false"/>
  310. <a name="label" val="Input 0"/>
  311. </comp>
  312. <comp lib="1" loc="(250,200)" name="NOT Gate">
  313. <a name="facing" val="west"/>
  314. </comp>
  315. </circuit>
  316. <circuit name="mux-8">
  317. <a name="circuit" val="mux-8"/>
  318. <a name="clabel" val=""/>
  319. <a name="clabelup" val="east"/>
  320. <a name="clabelfont" val="SansSerif plain 12"/>
  321. <appear>
  322. <rect fill="none" height="30" stroke="#000000" stroke-width="2" width="30" x="50" y="50"/>
  323. <text font-family="SansSerif" font-size="12" text-anchor="middle" x="65" y="70">8</text>
  324. <circ-port height="8" pin="220,230" width="8" x="46" y="56"/>
  325. <circ-port height="8" pin="220,270" width="8" x="46" y="66"/>
  326. <circ-port height="10" pin="370,250" width="10" x="75" y="55"/>
  327. <circ-port height="8" pin="250,340" width="8" x="56" y="76"/>
  328. <circ-anchor facing="east" height="6" width="6" x="77" y="57"/>
  329. </appear>
  330. <wire from="(260,230)" to="(260,250)"/>
  331. <wire from="(260,250)" to="(260,270)"/>
  332. <wire from="(250,310)" to="(280,310)"/>
  333. <wire from="(260,250)" to="(370,250)"/>
  334. <wire from="(250,200)" to="(250,220)"/>
  335. <wire from="(280,200)" to="(280,310)"/>
  336. <wire from="(250,310)" to="(250,340)"/>
  337. <wire from="(250,280)" to="(250,310)"/>
  338. <wire from="(220,230)" to="(240,230)"/>
  339. <wire from="(220,270)" to="(240,270)"/>
  340. <comp lib="0" loc="(370,250)" name="Pin">
  341. <a name="facing" val="west"/>
  342. <a name="output" val="true"/>
  343. <a name="width" val="8"/>
  344. <a name="label" val="Output"/>
  345. <a name="labelloc" val="east"/>
  346. </comp>
  347. <comp lib="1" loc="(250,200)" name="NOT Gate">
  348. <a name="facing" val="west"/>
  349. </comp>
  350. <comp lib="1" loc="(260,230)" name="Controlled Buffer">
  351. <a name="width" val="8"/>
  352. <a name="control" val="left"/>
  353. </comp>
  354. <comp lib="1" loc="(260,270)" name="Controlled Buffer">
  355. <a name="width" val="8"/>
  356. </comp>
  357. <comp lib="0" loc="(250,340)" name="Pin">
  358. <a name="facing" val="north"/>
  359. <a name="tristate" val="false"/>
  360. <a name="label" val="Control"/>
  361. </comp>
  362. <comp lib="0" loc="(220,230)" name="Pin">
  363. <a name="width" val="8"/>
  364. <a name="tristate" val="false"/>
  365. <a name="label" val="Input 0"/>
  366. </comp>
  367. <comp lib="0" loc="(220,270)" name="Pin">
  368. <a name="width" val="8"/>
  369. <a name="tristate" val="false"/>
  370. <a name="label" val="Input 1"/>
  371. </comp>
  372. </circuit>
  373. <circuit name="decode">
  374. <a name="circuit" val="decode"/>
  375. <a name="clabel" val=""/>
  376. <a name="clabelup" val="east"/>
  377. <a name="clabelfont" val="SansSerif plain 12"/>
  378. <appear>
  379. <rect fill="none" height="30" stroke="#000000" stroke-width="2" width="45" x="50" y="50"/>
  380. <text font-family="SansSerif" font-size="12" text-anchor="middle" x="73" y="69">decode</text>
  381. <circ-port height="8" pin="230,160" width="8" x="76" y="46"/>
  382. <circ-port height="10" pin="330,390" width="10" x="55" y="75"/>
  383. <circ-port height="10" pin="330,350" width="10" x="65" y="75"/>
  384. <circ-port height="10" pin="330,310" width="10" x="75" y="75"/>
  385. <circ-port height="10" pin="330,270" width="10" x="85" y="75"/>
  386. <circ-port height="8" pin="190,200" width="8" x="46" y="56"/>
  387. <circ-anchor facing="east" height="6" width="6" x="67" y="47"/>
  388. </appear>
  389. <wire from="(220,210)" to="(220,220)"/>
  390. <wire from="(250,260)" to="(250,270)"/>
  391. <wire from="(280,390)" to="(330,390)"/>
  392. <wire from="(270,320)" to="(270,340)"/>
  393. <wire from="(230,230)" to="(230,250)"/>
  394. <wire from="(200,200)" to="(200,220)"/>
  395. <wire from="(250,270)" to="(250,360)"/>
  396. <wire from="(250,360)" to="(290,360)"/>
  397. <wire from="(280,300)" to="(280,390)"/>
  398. <wire from="(260,260)" to="(260,350)"/>
  399. <wire from="(260,350)" to="(290,350)"/>
  400. <wire from="(270,320)" to="(290,320)"/>
  401. <wire from="(270,340)" to="(290,340)"/>
  402. <wire from="(240,200)" to="(240,240)"/>
  403. <wire from="(210,180)" to="(210,220)"/>
  404. <wire from="(280,260)" to="(280,300)"/>
  405. <wire from="(210,250)" to="(230,250)"/>
  406. <wire from="(230,230)" to="(250,230)"/>
  407. <wire from="(280,300)" to="(290,300)"/>
  408. <wire from="(320,310)" to="(330,310)"/>
  409. <wire from="(320,350)" to="(330,350)"/>
  410. <wire from="(250,270)" to="(330,270)"/>
  411. <wire from="(190,200)" to="(200,200)"/>
  412. <wire from="(240,240)" to="(250,240)"/>
  413. <wire from="(270,260)" to="(270,320)"/>
  414. <comp lib="0" loc="(330,350)" name="Pin">
  415. <a name="facing" val="west"/>
  416. <a name="output" val="true"/>
  417. <a name="label" val="write R"/>
  418. <a name="labelloc" val="east"/>
  419. </comp>
  420. <comp lib="1" loc="(220,210)" name="NOT Gate">
  421. <a name="facing" val="south"/>
  422. </comp>
  423. <comp lib="1" loc="(320,310)" name="OR Gate">
  424. <a name="size" val="30"/>
  425. <a name="inputs" val="2"/>
  426. </comp>
  427. <comp lib="1" loc="(210,250)" name="AND Gate">
  428. <a name="facing" val="south"/>
  429. <a name="size" val="30"/>
  430. <a name="inputs" val="3"/>
  431. </comp>
  432. <comp lib="0" loc="(240,200)" name="Splitter">
  433. <a name="facing" val="north"/>
  434. <a name="appear" val="center"/>
  435. </comp>
  436. <comp lib="1" loc="(320,350)" name="OR Gate">
  437. <a name="size" val="30"/>
  438. <a name="inputs" val="3"/>
  439. </comp>
  440. <comp lib="0" loc="(230,160)" name="Splitter">
  441. <a name="facing" val="south"/>
  442. <a name="fanout" val="4"/>
  443. <a name="incoming" val="4"/>
  444. <a name="appear" val="center"/>
  445. </comp>
  446. <comp lib="0" loc="(330,270)" name="Pin">
  447. <a name="facing" val="west"/>
  448. <a name="output" val="true"/>
  449. <a name="label" val="low=MSB, high=LSB"/>
  450. <a name="labelloc" val="east"/>
  451. </comp>
  452. <comp lib="0" loc="(190,200)" name="Pin">
  453. <a name="tristate" val="false"/>
  454. <a name="label" val="Enable"/>
  455. </comp>
  456. <comp lib="0" loc="(330,390)" name="Pin">
  457. <a name="facing" val="west"/>
  458. <a name="output" val="true"/>
  459. <a name="label" val="write RAM"/>
  460. <a name="labelloc" val="east"/>
  461. </comp>
  462. <comp lib="2" loc="(250,240)" name="Decoder">
  463. <a name="facing" val="south"/>
  464. <a name="select" val="2"/>
  465. <a name="disabled" val="0"/>
  466. </comp>
  467. <comp lib="0" loc="(330,310)" name="Pin">
  468. <a name="facing" val="west"/>
  469. <a name="output" val="true"/>
  470. <a name="label" val="low=input, high=ram"/>
  471. <a name="labelloc" val="east"/>
  472. </comp>
  473. <comp lib="0" loc="(230,160)" name="Pin">
  474. <a name="facing" val="south"/>
  475. <a name="width" val="4"/>
  476. <a name="tristate" val="false"/>
  477. </comp>
  478. </circuit>
  479. <circuit name="direct-input">
  480. <a name="circuit" val="direct-input"/>
  481. <a name="clabel" val=""/>
  482. <a name="clabelup" val="east"/>
  483. <a name="clabelfont" val="SansSerif plain 12"/>
  484. <appear>
  485. <rect fill="none" height="30" stroke="#000000" stroke-width="2" width="40" x="50" y="50"/>
  486. <text font-family="SansSerif" font-size="12" text-anchor="middle" x="69" y="68">input</text>
  487. <circ-port height="8" pin="530,160" width="8" x="56" y="46"/>
  488. <circ-port height="8" pin="520,290" width="8" x="46" y="66"/>
  489. <circ-port height="10" pin="730,180" width="10" x="75" y="75"/>
  490. <circ-port height="8" pin="730,210" width="8" x="66" y="76"/>
  491. <circ-port height="10" pin="540,370" width="10" x="55" y="75"/>
  492. <circ-anchor facing="east" height="6" width="6" x="57" y="47"/>
  493. </appear>
  494. <wire from="(660,250)" to="(660,260)"/>
  495. <wire from="(550,220)" to="(550,230)"/>
  496. <wire from="(580,180)" to="(580,190)"/>
  497. <wire from="(570,310)" to="(570,320)"/>
  498. <wire from="(540,360)" to="(540,370)"/>
  499. <wire from="(590,220)" to="(590,230)"/>
  500. <wire from="(610,310)" to="(610,320)"/>
  501. <wire from="(610,270)" to="(610,280)"/>
  502. <wire from="(560,210)" to="(600,210)"/>
  503. <wire from="(580,190)" to="(620,190)"/>
  504. <wire from="(550,220)" to="(590,220)"/>
  505. <wire from="(570,200)" to="(610,200)"/>
  506. <wire from="(550,290)" to="(590,290)"/>
  507. <wire from="(560,260)" to="(660,260)"/>
  508. <wire from="(570,200)" to="(570,230)"/>
  509. <wire from="(560,180)" to="(560,210)"/>
  510. <wire from="(570,250)" to="(570,280)"/>
  511. <wire from="(610,200)" to="(610,230)"/>
  512. <wire from="(600,250)" to="(600,280)"/>
  513. <wire from="(560,210)" to="(560,230)"/>
  514. <wire from="(580,160)" to="(580,180)"/>
  515. <wire from="(570,160)" to="(570,180)"/>
  516. <wire from="(570,180)" to="(570,200)"/>
  517. <wire from="(550,160)" to="(550,180)"/>
  518. <wire from="(560,160)" to="(560,180)"/>
  519. <wire from="(560,260)" to="(560,280)"/>
  520. <wire from="(600,210)" to="(600,230)"/>
  521. <wire from="(700,250)" to="(700,270)"/>
  522. <wire from="(580,190)" to="(580,230)"/>
  523. <wire from="(590,140)" to="(590,180)"/>
  524. <wire from="(550,180)" to="(550,220)"/>
  525. <wire from="(620,190)" to="(620,230)"/>
  526. <wire from="(570,140)" to="(590,140)"/>
  527. <wire from="(520,290)" to="(550,290)"/>
  528. <wire from="(610,270)" to="(700,270)"/>
  529. <wire from="(590,180)" to="(730,180)"/>
  530. <wire from="(720,210)" to="(730,210)"/>
  531. <wire from="(530,160)" to="(540,160)"/>
  532. <wire from="(600,250)" to="(610,250)"/>
  533. <comp lib="0" loc="(530,160)" name="Pin">
  534. <a name="width" val="4"/>
  535. <a name="tristate" val="false"/>
  536. <a name="label" val="Input"/>
  537. </comp>
  538. <comp lib="0" loc="(570,250)" name="Splitter">
  539. <a name="facing" val="north"/>
  540. <a name="fanout" val="4"/>
  541. <a name="incoming" val="4"/>
  542. <a name="appear" val="center"/>
  543. </comp>
  544. <comp lib="0" loc="(540,160)" name="Splitter">
  545. <a name="facing" val="south"/>
  546. <a name="fanout" val="4"/>
  547. <a name="incoming" val="4"/>
  548. </comp>
  549. <comp lib="0" loc="(570,320)" name="Splitter">
  550. <a name="facing" val="south"/>
  551. <a name="fanout" val="4"/>
  552. <a name="incoming" val="4"/>
  553. <a name="appear" val="center"/>
  554. </comp>
  555. <comp lib="0" loc="(700,250)" name="Splitter">
  556. <a name="facing" val="north"/>
  557. <a name="fanout" val="4"/>
  558. <a name="incoming" val="4"/>
  559. <a name="appear" val="center"/>
  560. </comp>
  561. <comp lib="0" loc="(610,250)" name="Splitter">
  562. <a name="facing" val="north"/>
  563. <a name="fanout" val="4"/>
  564. <a name="incoming" val="4"/>
  565. <a name="appear" val="center"/>
  566. </comp>
  567. <comp lib="0" loc="(660,250)" name="Splitter">
  568. <a name="facing" val="north"/>
  569. <a name="fanout" val="4"/>
  570. <a name="incoming" val="4"/>
  571. <a name="appear" val="center"/>
  572. </comp>
  573. <comp lib="0" loc="(570,140)" name="Splitter">
  574. <a name="facing" val="south"/>
  575. <a name="fanout" val="4"/>
  576. <a name="incoming" val="4"/>
  577. <a name="appear" val="center"/>
  578. </comp>
  579. <comp lib="0" loc="(540,360)" name="Splitter">
  580. <a name="facing" val="north"/>
  581. <a name="fanout" val="8"/>
  582. <a name="incoming" val="8"/>
  583. <a name="appear" val="right"/>
  584. </comp>
  585. <comp lib="0" loc="(730,180)" name="Pin">
  586. <a name="facing" val="west"/>
  587. <a name="output" val="true"/>
  588. <a name="width" val="4"/>
  589. <a name="label" val="RAM address"/>
  590. <a name="labelloc" val="east"/>
  591. </comp>
  592. <comp lib="0" loc="(520,290)" name="Pin">
  593. <a name="tristate" val="false"/>
  594. <a name="label" val="low=MSB, high=LSB"/>
  595. </comp>
  596. <comp lib="0" loc="(610,320)" name="Splitter">
  597. <a name="facing" val="south"/>
  598. <a name="fanout" val="4"/>
  599. <a name="incoming" val="4"/>
  600. <a name="appear" val="center"/>
  601. </comp>
  602. <comp lib="0" loc="(730,210)" name="Pin">
  603. <a name="facing" val="west"/>
  604. <a name="width" val="8"/>
  605. <a name="tristate" val="false"/>
  606. <a name="label" val="Register In"/>
  607. <a name="labelloc" val="east"/>
  608. </comp>
  609. <comp lib="0" loc="(540,370)" name="Pin">
  610. <a name="facing" val="north"/>
  611. <a name="output" val="true"/>
  612. <a name="width" val="8"/>
  613. <a name="label" val="Register Out"/>
  614. <a name="labelloc" val="east"/>
  615. </comp>
  616. <comp loc="(570,310)" name="mux-4">
  617. <a name="facing" val="south"/>
  618. </comp>
  619. <comp loc="(610,310)" name="mux-4">
  620. <a name="facing" val="south"/>
  621. </comp>
  622. <comp lib="0" loc="(720,210)" name="Splitter">
  623. <a name="facing" val="south"/>
  624. <a name="fanout" val="8"/>
  625. <a name="incoming" val="8"/>
  626. <a name="appear" val="right"/>
  627. </comp>
  628. </circuit>
  629. </project>