1 Star 0 Fork 1

cccccc9/L-bit-CPU

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
mem.circ 11.46 KB
一键复制 编辑 原始数据 按行查看 历史
Yuguang Tong 提交于 2015-03-18 01:23 . tidy mem.circ
<?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="incoming" val="16"/>
<a name="appear" val="right"/>
<a name="bit1" val="0"/>
<a name="bit2" val="0"/>
<a name="bit3" val="0"/>
<a name="bit4" val="0"/>
<a name="bit5" val="0"/>
<a name="bit6" val="0"/>
<a name="bit7" val="0"/>
<a name="bit8" val="1"/>
<a name="bit9" val="1"/>
<a name="bit10" val="1"/>
<a name="bit11" val="1"/>
<a name="bit12" val="1"/>
<a name="bit13" val="1"/>
<a name="bit14" val="1"/>
<a name="bit15" val="1"/>
</tool>
<tool name="Pin">
<a name="facing" val="north"/>
</tool>
<tool name="Probe">
<a name="facing" val="north"/>
<a name="radix" val="10unsigned"/>
</tool>
<tool name="Tunnel">
<a name="facing" val="east"/>
<a name="label" val="sll"/>
</tool>
<tool name="Pull Resistor">
<a name="facing" val="north"/>
</tool>
<tool name="Clock">
<a name="facing" val="north"/>
</tool>
<tool name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</tool>
</lib>
<lib desc="#Gates" name="1"/>
<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="main"/>
<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="facing" val="south"/>
<a name="width" val="16"/>
<a name="tristate" val="false"/>
</tool>
<tool lib="0" name="Pin">
<a name="facing" val="south"/>
<a name="output" val="true"/>
<a name="width" val="16"/>
<a name="labelloc" val="east"/>
</tool>
<tool lib="1" name="NOT Gate"/>
<tool lib="1" name="AND Gate"/>
<tool lib="1" name="OR Gate"/>
</toolbar>
<circuit name="main">
<a name="circuit" val="main"/>
<a name="clabel" val=""/>
<a name="clabelup" val="east"/>
<a name="clabelfont" val="SansSerif plain 12"/>
<wire from="(440,80)" to="(490,80)"/>
<wire from="(670,270)" to="(700,270)"/>
<wire from="(520,180)" to="(540,180)"/>
<wire from="(340,120)" to="(340,170)"/>
<wire from="(190,280)" to="(250,280)"/>
<wire from="(510,80)" to="(540,80)"/>
<wire from="(340,120)" to="(350,120)"/>
<wire from="(250,540)" to="(250,550)"/>
<wire from="(700,200)" to="(700,270)"/>
<wire from="(540,180)" to="(730,180)"/>
<wire from="(190,180)" to="(260,180)"/>
<wire from="(760,190)" to="(780,190)"/>
<wire from="(550,260)" to="(560,260)"/>
<wire from="(300,190)" to="(320,190)"/>
<wire from="(580,330)" to="(580,340)"/>
<wire from="(550,280)" to="(560,280)"/>
<wire from="(440,220)" to="(440,230)"/>
<wire from="(460,260)" to="(460,270)"/>
<wire from="(520,180)" to="(520,290)"/>
<wire from="(550,250)" to="(560,250)"/>
<wire from="(190,350)" to="(250,350)"/>
<wire from="(460,220)" to="(460,240)"/>
<wire from="(600,270)" to="(630,270)"/>
<wire from="(240,200)" to="(240,220)"/>
<wire from="(740,210)" to="(740,230)"/>
<wire from="(510,180)" to="(520,180)"/>
<wire from="(540,80)" to="(540,180)"/>
<wire from="(450,540)" to="(450,550)"/>
<wire from="(520,290)" to="(530,290)"/>
<wire from="(340,180)" to="(370,180)"/>
<wire from="(420,220)" to="(420,230)"/>
<wire from="(320,180)" to="(320,190)"/>
<wire from="(550,270)" to="(560,270)"/>
<wire from="(240,200)" to="(260,200)"/>
<wire from="(580,290)" to="(580,310)"/>
<wire from="(700,200)" to="(730,200)"/>
<wire from="(480,220)" to="(480,230)"/>
<comp lib="0" loc="(460,270)" name="Tunnel">
<a name="facing" val="north"/>
<a name="label" val="M_W"/>
</comp>
<comp lib="0" loc="(420,230)" name="Constant">
<a name="facing" val="north"/>
</comp>
<comp lib="0" loc="(190,350)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="ACCESS_BYTE"/>
</comp>
<comp lib="0" loc="(780,190)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="width" val="32"/>
<a name="label" val="Data Mem Out"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(320,180)" name="Splitter">
<a name="fanout" val="3"/>
<a name="incoming" val="32"/>
<a name="appear" val="center"/>
<a name="bit1" val="0"/>
<a name="bit2" val="1"/>
<a name="bit3" val="1"/>
<a name="bit4" val="1"/>
<a name="bit5" val="1"/>
<a name="bit6" val="1"/>
<a name="bit7" val="1"/>
<a name="bit8" val="1"/>
<a name="bit9" val="1"/>
<a name="bit10" val="1"/>
<a name="bit11" val="1"/>
<a name="bit12" val="1"/>
<a name="bit13" val="1"/>
<a name="bit14" val="1"/>
<a name="bit15" val="1"/>
<a name="bit16" val="1"/>
<a name="bit17" val="1"/>
<a name="bit18" val="1"/>
<a name="bit19" val="1"/>
<a name="bit20" val="1"/>
<a name="bit21" val="1"/>
<a name="bit22" val="1"/>
<a name="bit23" val="1"/>
<a name="bit24" val="1"/>
<a name="bit25" val="1"/>
<a name="bit26" val="2"/>
<a name="bit27" val="2"/>
<a name="bit28" val="2"/>
<a name="bit29" val="2"/>
<a name="bit30" val="2"/>
<a name="bit31" val="2"/>
</comp>
<comp lib="0" loc="(250,350)" name="Tunnel">
<a name="label" val="access_byte"/>
</comp>
<comp lib="6" loc="(853,129)" name="Text">
<a name="text" val="This is an OUTPUT to the circuit"/>
</comp>
<comp lib="0" loc="(450,550)" name="Pin">
<a name="facing" val="north"/>
<a name="tristate" val="false"/>
<a name="label" val="CLOCK"/>
</comp>
<comp lib="6" loc="(339,599)" name="Text">
<a name="text" val="These are INPUTS to the circuit"/>
</comp>
<comp lib="2" loc="(600,270)" name="Multiplexer">
<a name="select" val="2"/>
<a name="width" val="8"/>
</comp>
<comp lib="1" loc="(460,240)" name="NOT Gate">
<a name="facing" val="north"/>
<a name="size" val="20"/>
</comp>
<comp lib="0" loc="(500,90)" name="Tunnel">
<a name="facing" val="north"/>
<a name="label" val="M_W"/>
</comp>
<comp lib="0" loc="(440,80)" name="Tunnel">
<a name="facing" val="east"/>
<a name="width" val="32"/>
<a name="label" val="mem_in"/>
</comp>
<comp lib="3" loc="(300,190)" name="Subtractor">
<a name="width" val="32"/>
</comp>
<comp lib="0" loc="(250,540)" name="Tunnel">
<a name="facing" val="south"/>
<a name="label" val="M_W"/>
</comp>
<comp lib="6" loc="(103,130)" name="Text">
<a name="text" val="These are INPUTS to the circuit"/>
</comp>
<comp lib="0" loc="(480,230)" name="Pin">
<a name="facing" val="north"/>
<a name="tristate" val="false"/>
</comp>
<comp lib="4" loc="(510,180)" name="RAM">
<a name="addrWidth" val="24"/>
<a name="dataWidth" val="32"/>
</comp>
<comp lib="0" loc="(250,550)" name="Pin">
<a name="facing" val="north"/>
<a name="tristate" val="false"/>
<a name="label" val="MEM_WRITE"/>
</comp>
<comp lib="0" loc="(250,280)" name="Tunnel">
<a name="width" val="32"/>
<a name="label" val="mem_in"/>
</comp>
<comp lib="6" loc="(435,19)" name="Text">
<a name="text" val="DO NOT CHANGE THE LOCATIONS OF THE INPUTS/OUTPUTS! IF YOU DO SO, YOU NEED TO MAKE SURE THE PINS ARE AT THE RIGHT PLACE!"/>
</comp>
<comp lib="0" loc="(190,180)" name="Pin">
<a name="width" val="32"/>
<a name="tristate" val="false"/>
<a name="label" val="Data Mem Addr"/>
</comp>
<comp lib="0" loc="(240,220)" name="Constant">
<a name="facing" val="north"/>
<a name="width" val="32"/>
<a name="value" val="0x10010000"/>
</comp>
<comp lib="2" loc="(760,190)" name="Multiplexer">
<a name="width" val="32"/>
</comp>
<comp lib="0" loc="(670,270)" name="Bit Extender">
<a name="out_width" val="32"/>
</comp>
<comp lib="0" loc="(530,290)" name="Splitter">
<a name="fanout" val="4"/>
<a name="incoming" val="32"/>
<a name="bit1" val="0"/>
<a name="bit2" val="0"/>
<a name="bit3" val="0"/>
<a name="bit4" val="0"/>
<a name="bit5" val="0"/>
<a name="bit6" val="0"/>
<a name="bit7" val="0"/>
<a name="bit8" val="1"/>
<a name="bit9" val="1"/>
<a name="bit10" val="1"/>
<a name="bit11" val="1"/>
<a name="bit12" val="1"/>
<a name="bit13" val="1"/>
<a name="bit14" val="1"/>
<a name="bit15" val="1"/>
<a name="bit16" val="2"/>
<a name="bit17" val="2"/>
<a name="bit18" val="2"/>
<a name="bit19" val="2"/>
<a name="bit20" val="2"/>
<a name="bit21" val="2"/>
<a name="bit22" val="2"/>
<a name="bit23" val="2"/>
<a name="bit24" val="3"/>
<a name="bit25" val="3"/>
<a name="bit26" val="3"/>
<a name="bit27" val="3"/>
<a name="bit28" val="3"/>
<a name="bit29" val="3"/>
<a name="bit30" val="3"/>
<a name="bit31" val="3"/>
</comp>
<comp lib="0" loc="(190,280)" name="Pin">
<a name="width" val="32"/>
<a name="tristate" val="false"/>
<a name="label" val="Data Mem In"/>
</comp>
<comp lib="0" loc="(740,230)" name="Tunnel">
<a name="facing" val="north"/>
<a name="label" val="access_byte"/>
</comp>
<comp lib="6" loc="(496,586)" name="Text">
<a name="text" val="Yet again, the clock is not an actual clock, but an input, one that will be driven from a higher circuit"/>
</comp>
<comp lib="0" loc="(450,540)" name="Tunnel">
<a name="facing" val="south"/>
<a name="label" val="clk"/>
</comp>
<comp lib="0" loc="(580,340)" name="Tunnel">
<a name="facing" val="north"/>
<a name="width" val="2"/>
<a name="label" val="sel_byte"/>
</comp>
<comp lib="1" loc="(580,310)" name="NOT Gate">
<a name="facing" val="north"/>
<a name="width" val="2"/>
<a name="size" val="20"/>
</comp>
<comp lib="1" loc="(510,80)" name="Controlled Buffer">
<a name="width" val="32"/>
</comp>
<comp lib="0" loc="(350,120)" name="Tunnel">
<a name="width" val="2"/>
<a name="label" val="sel_byte"/>
</comp>
<comp lib="0" loc="(440,230)" name="Tunnel">
<a name="facing" val="north"/>
<a name="label" val="clk"/>
</comp>
</circuit>
</project>
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/dongfenga/L-bit-CPU.git
git@gitee.com:dongfenga/L-bit-CPU.git
dongfenga
L-bit-CPU
L-bit-CPU
master

搜索帮助

0d507c66 1850385 C8b1a773 1850385