1 Star 0 Fork 1

chla/RISCV-CPU_2_isdowning

forked from cccccc9/RISCV-CPU 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
regfile_harness.circ 14.10 KB
一键复制 编辑 原始数据 按行查看 历史
Sruthi Veeragandham 提交于 2019-10-15 23:32 . Project 3-1 Starter Code
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project source="2.14.6" version="1.0">
This file is intended to be loaded by Logisim-evolution (https://github.com/reds-heig/logisim-evolution).
<lib desc="#Wiring" name="0">
<tool name="Splitter">
<a name="fanout" val="4"/>
<a name="incoming" val="4"/>
<a name="appear" val="center"/>
</tool>
<tool name="Pin">
<a name="facing" val="north"/>
</tool>
<tool name="Probe">
<a name="radix" val="16"/>
</tool>
<tool name="Tunnel">
<a name="width" val="2"/>
</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="width" val="8"/>
<a name="value" val="0xff"/>
</tool>
</lib>
<lib desc="#Gates" name="1"/>
<lib desc="#Plexers" name="2">
<tool name="Multiplexer">
<a name="width" val="32"/>
<a name="enable" val="false"/>
</tool>
<tool name="Demultiplexer">
<a name="select" val="5"/>
<a name="enable" val="false"/>
</tool>
</lib>
<lib desc="#Arithmetic" name="3"/>
<lib desc="#Memory" name="4">
<tool name="Register">
<a name="width" val="32"/>
</tool>
<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>
<lib desc="file#regfile.circ" name="7"/>
<main name="main"/>
<options>
<a name="gateUndefined" val="ignore"/>
<a name="simlimit" val="1000"/>
<a name="simrand" val="0"/>
<a name="tickmain" val="half_period"/>
</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"/>
<tool lib="0" name="Pin">
<a name="facing" val="south"/>
<a name="output" val="true"/>
<a name="width" val="26"/>
<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"/>
<a name="circuitnamedbox" val="false"/>
<a name="circuitvhdlpath" val=""/>
<wire from="(1210,220)" to="(1210,300)"/>
<wire from="(1450,890)" to="(1450,910)"/>
<wire from="(1120,330)" to="(1230,330)"/>
<wire from="(1490,530)" to="(1780,530)"/>
<wire from="(1490,430)" to="(1780,430)"/>
<wire from="(1230,330)" to="(1230,360)"/>
<wire from="(1350,980)" to="(1390,980)"/>
<wire from="(1230,590)" to="(1230,620)"/>
<wire from="(1570,220)" to="(1570,310)"/>
<wire from="(1390,960)" to="(1450,960)"/>
<wire from="(1390,1020)" to="(1450,1020)"/>
<wire from="(1390,220)" to="(1390,290)"/>
<wire from="(1210,300)" to="(1270,300)"/>
<wire from="(1450,910)" to="(1500,910)"/>
<wire from="(70,460)" to="(110,460)"/>
<wire from="(300,170)" to="(300,260)"/>
<wire from="(300,170)" to="(460,170)"/>
<wire from="(1220,620)" to="(1230,620)"/>
<wire from="(1300,340)" to="(1310,340)"/>
<wire from="(1370,910)" to="(1450,910)"/>
<wire from="(1430,310)" to="(1430,360)"/>
<wire from="(1370,910)" to="(1370,960)"/>
<wire from="(1450,1180)" to="(1520,1180)"/>
<wire from="(400,220)" to="(400,260)"/>
<wire from="(1030,340)" to="(1190,340)"/>
<wire from="(450,210)" to="(460,210)"/>
<wire from="(400,200)" to="(410,200)"/>
<wire from="(400,220)" to="(410,220)"/>
<wire from="(1390,300)" to="(1480,300)"/>
<wire from="(1030,220)" to="(1030,340)"/>
<wire from="(1350,960)" to="(1370,960)"/>
<wire from="(1310,1000)" to="(1330,1000)"/>
<wire from="(510,70)" to="(510,260)"/>
<wire from="(440,260)" to="(440,330)"/>
<wire from="(1450,940)" to="(1450,960)"/>
<wire from="(1450,1060)" to="(1450,1080)"/>
<wire from="(1450,1000)" to="(1450,1020)"/>
<wire from="(1480,220)" to="(1480,300)"/>
<wire from="(1190,340)" to="(1190,360)"/>
<wire from="(1310,340)" to="(1310,360)"/>
<wire from="(1350,1080)" to="(1450,1080)"/>
<wire from="(1400,590)" to="(1400,620)"/>
<wire from="(1350,290)" to="(1390,290)"/>
<wire from="(1350,970)" to="(1390,970)"/>
<wire from="(1350,990)" to="(1350,1080)"/>
<wire from="(1350,290)" to="(1350,360)"/>
<wire from="(1470,320)" to="(1660,320)"/>
<wire from="(150,200)" to="(150,220)"/>
<wire from="(1450,960)" to="(1500,960)"/>
<wire from="(1450,1020)" to="(1500,1020)"/>
<wire from="(1450,1080)" to="(1500,1080)"/>
<wire from="(280,300)" to="(320,300)"/>
<wire from="(350,510)" to="(390,510)"/>
<wire from="(400,260)" to="(440,260)"/>
<wire from="(1390,960)" to="(1390,970)"/>
<wire from="(510,430)" to="(550,430)"/>
<wire from="(1430,310)" to="(1570,310)"/>
<wire from="(300,260)" to="(320,260)"/>
<wire from="(1390,300)" to="(1390,360)"/>
<wire from="(380,260)" to="(400,260)"/>
<wire from="(1300,220)" to="(1300,340)"/>
<wire from="(790,480)" to="(820,480)"/>
<wire from="(1270,300)" to="(1270,360)"/>
<wire from="(460,170)" to="(460,210)"/>
<wire from="(1380,620)" to="(1400,620)"/>
<wire from="(440,260)" to="(510,260)"/>
<wire from="(1140,540)" to="(1160,540)"/>
<wire from="(1660,220)" to="(1660,320)"/>
<wire from="(1390,980)" to="(1390,1020)"/>
<wire from="(1140,500)" to="(1160,500)"/>
<wire from="(1140,460)" to="(1160,460)"/>
<wire from="(1140,420)" to="(1160,420)"/>
<wire from="(1470,320)" to="(1470,360)"/>
<wire from="(1120,220)" to="(1120,330)"/>
<comp lib="6" loc="(1378,663)" name="Text">
<a name="text" val="Your RegFile must fit here!"/>
<a name="font" val="SansSerif bolditalic 26"/>
</comp>
<comp lib="6" loc="(1606,695)" name="Text">
<a name="text" val="There should be no red or blue wires, and the result should not be all X's"/>
<a name="font" val="SansSerif plain 24"/>
</comp>
<comp lib="0" loc="(1120,220)" name="Pin">
<a name="facing" val="south"/>
<a name="output" val="true"/>
<a name="width" val="32"/>
<a name="label" val="sp"/>
<a name="labelloc" val="north"/>
</comp>
<comp lib="0" loc="(1480,220)" name="Pin">
<a name="facing" val="south"/>
<a name="output" val="true"/>
<a name="width" val="32"/>
<a name="label" val="s0"/>
<a name="labelloc" val="north"/>
</comp>
<comp lib="0" loc="(1570,220)" name="Pin">
<a name="facing" val="south"/>
<a name="output" val="true"/>
<a name="width" val="32"/>
<a name="label" val="s1"/>
<a name="labelloc" val="north"/>
</comp>
<comp lib="0" loc="(1660,220)" name="Pin">
<a name="facing" val="south"/>
<a name="output" val="true"/>
<a name="width" val="32"/>
<a name="label" val="a0"/>
<a name="labelloc" val="north"/>
</comp>
<comp lib="0" loc="(1780,430)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="width" val="32"/>
<a name="label" val="Read_Data_1"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(1390,220)" name="Pin">
<a name="facing" val="south"/>
<a name="output" val="true"/>
<a name="width" val="32"/>
<a name="label" val="t2"/>
<a name="labelloc" val="north"/>
</comp>
<comp lib="0" loc="(1210,220)" name="Pin">
<a name="facing" val="south"/>
<a name="output" val="true"/>
<a name="width" val="32"/>
<a name="label" val="t0"/>
<a name="labelloc" val="north"/>
</comp>
<comp lib="7" loc="(1480,480)" name="main"/>
<comp lib="0" loc="(1030,220)" name="Pin">
<a name="facing" val="south"/>
<a name="output" val="true"/>
<a name="width" val="32"/>
<a name="label" val="ra"/>
<a name="labelloc" val="north"/>
</comp>
<comp lib="0" loc="(1300,220)" name="Pin">
<a name="facing" val="south"/>
<a name="output" val="true"/>
<a name="width" val="32"/>
<a name="label" val="t1"/>
<a name="labelloc" val="north"/>
</comp>
<comp lib="0" loc="(1780,530)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="width" val="32"/>
<a name="label" val="Read_Data_2"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(510,70)" name="Pin">
<a name="facing" val="south"/>
<a name="output" val="true"/>
<a name="width" val="8"/>
<a name="label" val="Test"/>
<a name="labelloc" val="north"/>
</comp>
<comp lib="0" loc="(400,200)" name="Constant">
<a name="width" val="8"/>
</comp>
<comp lib="0" loc="(280,300)" name="Tunnel">
<a name="facing" val="east"/>
<a name="label" val="clk"/>
</comp>
<comp lib="3" loc="(450,210)" name="Adder"/>
<comp lib="4" loc="(320,230)" name="Register"/>
<comp lib="0" loc="(440,330)" name="Tunnel">
<a name="facing" val="north"/>
<a name="width" val="8"/>
<a name="label" val="Test"/>
</comp>
<comp lib="0" loc="(1450,940)" name="Pin">
<a name="facing" val="south"/>
<a name="output" val="true"/>
<a name="width" val="5"/>
<a name="label" val="rs2"/>
</comp>
<comp lib="0" loc="(1310,1000)" name="Tunnel">
<a name="facing" val="east"/>
<a name="width" val="16"/>
<a name="label" val="RF_In"/>
</comp>
<comp lib="0" loc="(1500,1020)" name="Tunnel">
<a name="width" val="5"/>
<a name="label" val="rd"/>
</comp>
<comp lib="0" loc="(1500,960)" name="Tunnel">
<a name="width" val="5"/>
<a name="label" val="rs2"/>
</comp>
<comp lib="0" loc="(1330,1000)" name="Splitter">
<a name="fanout" val="4"/>
<a name="incoming" val="16"/>
<a name="bit1" val="0"/>
<a name="bit2" val="0"/>
<a name="bit3" val="0"/>
<a name="bit4" val="0"/>
<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="2"/>
<a name="bit11" val="2"/>
<a name="bit12" val="2"/>
<a name="bit13" val="2"/>
<a name="bit14" val="2"/>
<a name="bit15" val="3"/>
</comp>
<comp lib="0" loc="(1450,1060)" name="Pin">
<a name="facing" val="south"/>
<a name="output" val="true"/>
<a name="label" val="RegWEn"/>
</comp>
<comp lib="0" loc="(1500,1080)" name="Tunnel">
<a name="label" val="RegWEn"/>
</comp>
<comp lib="0" loc="(1450,890)" name="Pin">
<a name="facing" val="south"/>
<a name="output" val="true"/>
<a name="width" val="5"/>
<a name="label" val="rs1"/>
</comp>
<comp lib="0" loc="(1500,910)" name="Tunnel">
<a name="width" val="5"/>
<a name="label" val="rs1"/>
</comp>
<comp lib="0" loc="(1450,1000)" name="Pin">
<a name="facing" val="south"/>
<a name="output" val="true"/>
<a name="width" val="5"/>
<a name="label" val="rd"/>
</comp>
<comp lib="0" loc="(150,220)" name="Clock">
<a name="facing" val="north"/>
</comp>
<comp lib="0" loc="(150,200)" name="Tunnel">
<a name="facing" val="south"/>
<a name="label" val="clk"/>
</comp>
<comp lib="0" loc="(390,510)" name="Tunnel">
<a name="width" val="16"/>
<a name="label" val="RF_In"/>
</comp>
<comp lib="4" loc="(110,450)" name="ROM">
<a name="dataWidth" val="16"/>
<a name="contents">addr/data: 8 16
0
</a>
<a name="label" val="rs1_rs2_rd_RegWEn"/>
</comp>
<comp lib="0" loc="(70,460)" name="Tunnel">
<a name="facing" val="east"/>
<a name="width" val="8"/>
<a name="label" val="Test"/>
</comp>
<comp lib="0" loc="(510,430)" name="Tunnel">
<a name="facing" val="east"/>
<a name="width" val="8"/>
<a name="label" val="Test"/>
</comp>
<comp lib="0" loc="(820,480)" name="Tunnel">
<a name="width" val="32"/>
<a name="label" val="Write_Data"/>
</comp>
<comp lib="4" loc="(550,420)" name="ROM">
<a name="dataWidth" val="32"/>
<a name="contents">addr/data: 8 32
0
</a>
<a name="label" val="Write_Data"/>
</comp>
<comp lib="0" loc="(1520,1180)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="width" val="32"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(1450,1180)" name="Tunnel">
<a name="facing" val="east"/>
<a name="width" val="32"/>
<a name="label" val="Write_Data"/>
</comp>
<comp lib="0" loc="(1220,620)" name="Tunnel">
<a name="facing" val="east"/>
<a name="label" val="clk"/>
</comp>
<comp lib="0" loc="(1380,620)" name="Tunnel">
<a name="facing" val="east"/>
<a name="label" val="RegWEn"/>
</comp>
<comp lib="0" loc="(1140,540)" name="Tunnel">
<a name="facing" val="east"/>
<a name="width" val="32"/>
<a name="label" val="Write_Data"/>
</comp>
<comp lib="0" loc="(1140,500)" name="Tunnel">
<a name="facing" val="east"/>
<a name="width" val="5"/>
<a name="label" val="rd"/>
</comp>
<comp lib="0" loc="(1140,460)" name="Tunnel">
<a name="facing" val="east"/>
<a name="width" val="5"/>
<a name="label" val="rs2"/>
</comp>
<comp lib="0" loc="(1140,420)" name="Tunnel">
<a name="facing" val="east"/>
<a name="width" val="5"/>
<a name="label" val="rs1"/>
</comp>
</circuit>
</project>
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/chla/RISCV-CPU_2_isdowning.git
git@gitee.com:chla/RISCV-CPU_2_isdowning.git
chla
RISCV-CPU_2_isdowning
RISCV-CPU_2_isdowning
master

搜索帮助

0d507c66 1850385 C8b1a773 1850385