logicname yahoo17
entity main
input reset;
input cs;
input re;
input we;
input address[2];
inout data[8];
bitn indata[8];
bitn outdata[8];
bitn cntdata;
bitr memory0p[8];
bitr memory1p[8];
bitr memory2p[8];
bitr memory3p[8];
output T0P[8]; T0P=outdata;
output T1P; T1P=cntdata;
enable(data,indata,outdata,cntdata)
cntdata=cs&re;
if (reset)
memory0p=0;
else
if (cs&we)
if (address==0)
memory0p=indata;
else
memory0p=memory0p;
endif
else
memory0p=memory0p;
endif
endif
if (reset)
memory1p=0;
else
if (cs&we)
if (address==1)
memory1p=indata;
else
memory1p=memory1p;
endif
else
memory1p=memory1p;
endif
endif
if (reset)
memory2p=0;
else
if (cs&we)
if (address==2)
memory2p=indata;
else
memory2p=memory2p;
endif
else
memory2p=memory2p;
endif
endif
if (reset)
memory3p=0;
else
if (cs&we)
if (address==3)
memory3p=indata;
else
memory3p=memory3p;
endif
else
memory3p=memory3p;
endif
endif
switch(address)
case 0: outdata=memory0p;
case 1: outdata=memory1p;
case 2: outdata=memory2p;
case 3: outdata=memory3p;
endswitch
ende
entity sim
output reset;
output cs;
output re;
output we;
output address[2];
output data[8];
bitr tc[8];
part main(reset,cs,re,we,address,data)
tc=tc+1;
if (tc<5) reset=1; endif
if ((tc>=10)&(tc<=24)) cs=1; endif
switch(tc)
case 10: we=1; address=0; data=5;
case 12: we=1; address=1; data=6;
case 14: we=1; address=2; data=7;
case 16: we=1; address=3; data=8;
case 18: re=1; address=0;
case 20: re=1; address=1;
case 22: re=1; address=2;
case 24: re=1; address=3;
endswitch
ende
endlogic
logicname yahoo18
entity main
input reset;
input cs;
input re;
input we;
input address[2];
inout data[8];
bitn indata[8];
bitn outdata[8];
bitn cntdata;
bitr memory0p[8];
bitr memory1p[8];
bitr memory2p[8];
bitr memory3p[8];
output T0P[8]; T0P=outdata;
output T1P; T1P=cntdata;
enable(data,indata,outdata,cntdata)
cntdata=cs&re;
if (reset)
memory0p=0;
else
if (cs&we)
if (address==0)
memory0p=indata;
else
memory0p=memory0p;
endif
else
memory0p=memory0p;
endif
endif
if (reset)
memory1p=0;
else
if (cs&we)
if (address==1)
memory1p=indata;
else
memory1p=memory1p;
endif
else
memory1p=memory1p;
endif
endif
if (reset)
memory2p=0;
else
if (cs&we)
if (address==2)
memory2p=indata;
else
memory2p=memory2p;
endif
else
memory2p=memory2p;
endif
endif
if (reset)
memory3p=0;
else
if (cs&we)
if (address==3)
memory3p=indata;
else
memory3p=memory3p;
endif
else
memory3p=memory3p;
endif
endif
switch(address)
case 0: outdata=memory0p;
case 1: outdata=memory1p;
case 2: outdata=memory2p;
case 3: outdata=memory3p;
endswitch
ende
entity sim
output reset;
output cs;
output re;
output we;
output address[2];
output data[8];
input simres;
bitr tc[8];
part main(reset,cs,re,we,address,data)
if (!simres) tc=tc+1; endif
if (tc<5) reset=1; endif
if ((tc>=10)&(tc<=24)) cs=1; endif
switch(tc)
case 10: we=1; address=0; data=5;
case 12: we=1; address=1; data=6;
case 14: we=1; address=2; data=7;
case 16: we=1; address=3; data=8;
case 18: re=1; address=0;
case 20: re=1; address=1;
case 22: re=1; address=2;
case 24: re=1; address=3;
endswitch
ende
endlogic
library IEEE;
use IEEE.std_logic_1164.all;
entity sim is
port(clk : in std_logic;
sim_T0P0 : out std_logic;
sim_address0 : out std_logic;
sim_address1 : out std_logic;
sim_T0P1 : out std_logic;
sim_T0P2 : out std_logic;
sim_T0P3 : out std_logic;
sim_T0P4 : out std_logic;
sim_T0P5 : out std_logic;
sim_T0P6 : out std_logic;
sim_T0P7 : out std_logic;
sim_T1P0 : out std_logic;
sim_cs0 : out std_logic;
sim_re0 : out std_logic;
sim_data0 : out std_logic;
sim_reset0 : out std_logic;
sim_we0 : out std_logic;
sim_data1 : out std_logic;
sim_data2 : out std_logic;
sim_data3 : out std_logic;
sim_data4 : out std_logic;
sim_data5 : out std_logic;
sim_data6 : out std_logic;
sim_data7 : out std_logic;
simres0 : in std_logic);
end sim;
architecture RTL of sim is
signal n_n35 : std_logic ;
signal n_n44 : std_logic ;
signal n_n53 : std_logic ;
signal n_n62 : std_logic ;
signal n_n36 : std_logic ;
signal n_n45 : std_logic ;
signal n_n54 : std_logic ;
signal n_n63 : std_logic ;
signal n_n37 : std_logic ;
signal n_n46 : std_logic ;
signal n_n55 : std_logic ;
signal n_n64 : std_logic ;
signal n_n38 : std_logic ;
signal n_n47 : std_logic ;
signal n_n56 : std_logic ;
signal n_n65 : std_logic ;
signal n_n39 : std_logic ;
signal n_n48 : std_logic ;
signal n_n57 : std_logic ;
signal n_n66 : std_logic ;
signal n_n40 : std_logic ;
signal n_n49 : std_logic ;
signal n_n58 : std_logic ;
signal n_n67 : std_logic ;
signal n_n41 : std_logic ;
signal n_n50 : std_logic ;
signal n_n59 : std_logic ;
signal n_n68 : std_logic ;
signal n_n42 : std_logic ;
signal n_n51 : std_logic ;
signal n_n60 : std_logic ;
signal n_n69 : std_logic ;
signal n_n193 : std_logic ;
signal n_n194 : std_logic ;
signal n_n195 : std_logic ;
signal n_n196 : std_logic ;
signal n_n197 : std_logic ;
signal n_n198 : std_logic ;
signal n_n199 : std_logic ;
signal n_n200 : std_logic ;
signal n_n33 : std_logic ;
signal n_n99 : std_logic ;
signal n_n87 : std_logic ;
signal n_n117 : std_logic ;
signal n_n111 : std_logic ;
signal n_n106 : std_logic ;
signal n_n137 : std_logic ;
signal n_n130 : std_logic ;
signal n_n125 : std_logic ;
signal n_n155 : std_logic ;
signal n_n144 : std_logic ;
signal n_n209 : std_logic ;
signal n_n210 : std_logic ;
signal n_n211 : std_logic ;
signal n_n212 : std_logic ;
signal n_n213 : std_logic ;
signal n_n214 : std_logic ;
signal n_n226 : std_logic ;
signal n_n229 : std_logic ;
signal n_n232 : std_logic ;
signal n_n235 : std_logic ;
signal n_n237 : std_logic ;
signal n_n238 : std_logic ;
signal n_n240 : std_logic ;
signal n_n241 : std_logic ;
signal n_n243 : std_logic ;
signal n_n244 : std_logic ;
signal n_n260 : std_logic ;
signal n_n263 : std_logic ;
signal n_n265 : std_logic ;
signal n_n266 : std_logic ;
signal n_n268 : std_logic ;
signal n_n269 : std_logic ;
signal n_n271 : std_logic ;
signal n_n272 : std_logic ;
signal n_n274 : std_logic ;
signal n_n275 : std_logic ;
signal n_n277 : std_logic ;
signal n_n278 : std_logic ;
signal n_n251 : std_logic ;
signal n_n288 : std_logic ;
signal n_n291 : std_logic ;
signal n_n294 : std_logic ;
signal n_n296 : std_logic ;
signal n_n297 : std_logic ;
signal n_n299 : std_logic ;
signal n_n300 : std_logic ;
signal n_n302 : std_logic ;
signal n_n303 : std_logic ;
signal n_n305 : std_logic ;
signal T0P0 : std_logic ;
signal address0 : std_logic ;
signal address1 : std_logic ;
signal T0P1 : std_logic ;
signal T0P2 : std_logic ;
signal T0P3 : std_logic ;
signal T0P4 : std_logic ;
signal T0P5 : std_logic ;
signal T0P6 : std_logic ;
signal T0P7 : std_logic ;
signal T1P0 : std_logic ;
signal cs0 : std_logic ;
signal re0 : std_logic ;
signal data0 : std_logic ;
signal reset0 : std_logic ;
signal we0 : std_logic ;
signal data1 : std_logic ;
signal data2 : std_logic ;
signal data3 : std_logic ;
signal data4 : std_logic ;
signal data5 : std_logic ;
signal data6 : std_logic ;
signal data7 : std_logic ;
begin
process(clk) begin
if (clk' event and clk='1') then
n_n35 <= (data0 and not reset0 and cs0 and we0 and not n_n99)
or (n_n35 and not reset0 and cs0 and we0 and n_n99)
or (n_n35 and not reset0 and not n_n87) ;
n_n36 <= (data1 and not reset0 and cs0 and we0 and not n_n99)
or (n_n36 and not reset0 and cs0 and we0 and n_n99)
or (n_n36 and not reset0 and not n_n87) ;
n_n37 <= (data2 and not reset0 and cs0 and we0 and not n_n99)
or (n_n37 and not reset0 and cs0 and we0 and n_n99)
or (n_n37 and not reset0 and not n_n87) ;
n_n38 <= (data3 and not reset0 and cs0 and we0 and not n_n99)
or (n_n38 and not reset0 and cs0 and we0 and n_n99)
or (n_n38 and not reset0 and not n_n87) ;
n_n39 <= (data4 and not reset0 and cs0 and we0 and not n_n99)
or (n_n39 and not reset0 and cs0 and we0 and n_n99)
or (n_n39 and not reset0 and not n_n87) ;
n_n40 <= (data5 and not reset0 and cs0 and we0 and not n_n99)
or (n_n40 and not reset0 and cs0 and we0 and n_n99)
or (n_n40 and not reset0 and not n_n87) ;
n_n41 <= (data6 and not reset0 and cs0 and we0 and not n_n99)
or (n_n41 and not reset0 and cs0 and we0 and n_n99)
or (n_n41 and not reset0 and not n_n87) ;
n_n42 <= (data7 and not reset0 and cs0 and we0 and not n_n99)
or (n_n42 and not reset0 and cs0 and we0 and n_n99)
or (n_n42 and not reset0 and not n_n87) ;
n_n44 <= (data0 and not reset0 and cs0 and we0 and not n_n117 and not address1)
or (n_n44 and not reset0 and cs0 and we0 and not n_n111)
or (n_n44 and not reset0 and not n_n106) ;
n_n45 <= (data1 and not reset0 and cs0 and we0 and not n_n117 and not address1)
or (n_n45 and not reset0 and cs0 and we0 and not n_n111)
or (n_n45 and not reset0 and not n_n106) ;
n_n46 <= (data2 and not reset0 and cs0 and we0 and not n_n117 and not address1)
or (n_n46 and not reset0 and cs0 and we0 and not n_n111)
or (n_n46 and not reset0 and not n_n106) ;
n_n47 <= (data3 and not reset0 and cs0 and we0 and not n_n117 and not address1)
or (n_n47 and not reset0 and cs0 and we0 and not n_n111)
or (n_n47 and not reset0 and not n_n106) ;
n_n48 <= (data4 and not reset0 and cs0 and we0 and not n_n117 and not address1)
or (n_n48 and not reset0 and cs0 and we0 and not n_n111)
or (n_n48 and not reset0 and not n_n106) ;
n_n49 <= (data5 and not reset0 and cs0 and we0 and not n_n117 and not address1)
or (n_n49 and not reset0 and cs0 and we0 and not n_n111)
or (n_n49 and not reset0 and not n_n106) ;
n_n50 <= (data6 and not reset0 and cs0 and we0 and not n_n117 and not address1)
or (n_n50 and not reset0 and cs0 and we0 and not n_n111)
or (n_n50 and not reset0 and not n_n106) ;
n_n51 <= (data7 and not reset0 and cs0 and we0 and not n_n117 and not address1)
or (n_n51 and not reset0 and cs0 and we0 and not n_n111)
or (n_n51 and not reset0 and not n_n106) ;
n_n53 <= (data0 and not reset0 and cs0 and we0 and address1 and not n_n137)
or (n_n53 and not reset0 and cs0 and we0 and not n_n130)
or (n_n53 and not reset0 and not n_n125) ;
n_n54 <= (data1 and not reset0 and cs0 and we0 and address1 and not n_n137)
or (n_n54 and not reset0 and cs0 and we0 and not n_n130)
or (n_n54 and not reset0 and not n_n125) ;
n_n55 <= (data2 and not reset0 and cs0 and we0 and address1 and not n_n137)
or (n_n55 and not reset0 and cs0 and we0 and not n_n130)
or (n_n55 and not reset0 and not n_n125) ;
n_n56 <= (data3 and not reset0 and cs0 and we0 and address1 and not n_n137)
or (n_n56 and not reset0 and cs0 and we0 and not n_n130)
or (n_n56 and not reset0 and not n_n125) ;
n_n57 <= (data4 and not reset0 and cs0 and we0 and address1 and not n_n137)
or (n_n57 and not reset0 and cs0 and we0 and not n_n130)
or (n_n57 and not reset0 and not n_n125) ;
n_n58 <= (data5 and not reset0 and cs0 and we0 and address1 and not n_n137)
or (n_n58 and not reset0 and cs0 and we0 and not n_n130)
or (n_n58 and not reset0 and not n_n125) ;
n_n59 <= (data6 and not reset0 and cs0 and we0 and address1 and not n_n137)
or (n_n59 and not reset0 and cs0 and we0 and not n_n130)
or (n_n59 and not reset0 and not n_n125) ;
n_n60 <= (data7 and not reset0 and cs0 and we0 and address1 and not n_n137)
or (n_n60 and not reset0 and cs0 and we0 and not n_n130)
or (n_n60 and not reset0 and not n_n125) ;
n_n62 <= (data0 and not reset0 and cs0 and we0 and not n_n155)
or (n_n62 and not reset0 and cs0 and we0 and n_n155)
or (n_n62 and not reset0 and not n_n144) ;
n_n63 <= (data1 and not reset0 and cs0 and we0 and not n_n155)
or (n_n63 and not reset0 and cs0 and we0 and n_n155)
or (n_n63 and not reset0 and not n_n144) ;
n_n64 <= (data2 and not reset0 and cs0 and we0 and not n_n155)
or (n_n64 and not reset0 and cs0 and we0 and n_n155)
or (n_n64 and not reset0 and not n_n144) ;
n_n65 <= (data3 and not reset0 and cs0 and we0 and not n_n155)
or (n_n65 and not reset0 and cs0 and we0 and n_n155)
or (n_n65 and not reset0 and not n_n144) ;
n_n66 <= (data4 and not reset0 and cs0 and we0 and not n_n155)
or (n_n66 and not reset0 and cs0 and we0 and n_n155)
or (n_n66 and not reset0 and not n_n144) ;
n_n67 <= (data5 and not reset0 and cs0 and we0 and not n_n155)
or (n_n67 and not reset0 and cs0 and we0 and n_n155)
or (n_n67 and not reset0 and not n_n144) ;
n_n68 <= (data6 and not reset0 and cs0 and we0 and not n_n155)
or (n_n68 and not reset0 and cs0 and we0 and n_n155)
or (n_n68 and not reset0 and not n_n144) ;
n_n69 <= (data7 and not reset0 and cs0 and we0 and not n_n155)
or (n_n69 and not reset0 and cs0 and we0 and n_n155)
or (n_n69 and not reset0 and not n_n144) ;
n_n193 <= (not n_n193 and not simres0) ;
n_n194 <= (not n_n194 and n_n193 and not simres0)
or (n_n194 and not n_n193 and not simres0) ;
n_n195 <= (not n_n195 and n_n194 and n_n193 and not simres0)
or (n_n195 and not simres0 and not n_n209) ;
n_n196 <= (not n_n196 and n_n195 and n_n194 and n_n193 and not simres0)
or (n_n196 and not simres0 and not n_n210) ;
n_n197 <= (not n_n197 and n_n196 and n_n195 and n_n194 and n_n193 and not simres0)
or (n_n197 and not simres0 and not n_n211) ;
n_n198 <= (not n_n198 and n_n197 and n_n196 and n_n195 and n_n194 and n_n193 and not simres0)
or (n_n198 and not simres0 and not n_n212) ;
n_n199 <= (not n_n199 and n_n198 and n_n197 and n_n196 and n_n195 and n_n194 and n_n193 and not simres0)
or (n_n199 and not simres0 and not n_n213) ;
n_n200 <= (not n_n200 and n_n199 and n_n198 and n_n197 and n_n196 and n_n195 and n_n194 and n_n193 and not simres0)
or (n_n200 and not simres0 and not n_n214) ;
end if;
end process;
T0P0 <= (n_n35 and not address0 and not address1)
or (address0 and not address1 and n_n44)
or (not address0 and address1 and n_n53)
or (address0 and address1 and n_n62) ;
T0P1 <= (n_n36 and not address0 and not address1)
or (address0 and not address1 and n_n45)
or (not address0 and address1 and n_n54)
or (address0 and address1 and n_n63) ;
T0P2 <= (n_n37 and not address0 and not address1)
or (address0 and not address1 and n_n46)
or (not address0 and address1 and n_n55)
or (address0 and address1 and n_n64) ;
T0P3 <= (n_n38 and not address0 and not address1)
or (address0 and not address1 and n_n47)
or (not address0 and address1 and n_n56)
or (address0 and address1 and n_n65) ;
T0P4 <= (n_n39 and not address0 and not address1)
or (address0 and not address1 and n_n48)
or (not address0 and address1 and n_n57)
or (address0 and address1 and n_n66) ;
T0P5 <= (n_n40 and not address0 and not address1)
or (address0 and not address1 and n_n49)
or (not address0 and address1 and n_n58)
or (address0 and address1 and n_n67) ;
T0P6 <= (n_n41 and not address0 and not address1)
or (address0 and not address1 and n_n50)
or (not address0 and address1 and n_n59)
or (address0 and address1 and n_n68) ;
T0P7 <= (n_n42 and not address0 and not address1)
or (address0 and not address1 and n_n51)
or (not address0 and address1 and n_n60)
or (address0 and address1 and n_n69) ;
T1P0 <= (cs0 and re0) ;
n_n33 <= (cs0 and re0) ;
n_n87 <= (cs0 and we0) ;
n_n99 <= (address0)
or (address1) ;
n_n106 <= (cs0 and we0) ;
n_n117 <= (not address1 and not address0) ;
n_n111 <= (not n_n117 and not address1) ;
n_n125 <= (cs0 and we0) ;
n_n137 <= (address1 and address0) ;
n_n130 <= (address1 and not n_n137) ;
n_n144 <= (cs0 and we0) ;
n_n155 <= (address1 and not address0)
or (not address1) ;
n_n209 <= (n_n194 and n_n193 and not simres0) ;
n_n210 <= (n_n195 and n_n194 and n_n193 and not simres0) ;
n_n211 <= (n_n196 and n_n195 and n_n194 and n_n193 and not simres0) ;
n_n212 <= (n_n197 and n_n196 and n_n195 and n_n194 and n_n193 and not simres0) ;
n_n213 <= (n_n198 and n_n197 and n_n196 and n_n195 and n_n194 and n_n193 and not simres0) ;
n_n214 <= (n_n199 and n_n198 and n_n197 and n_n196 and n_n195 and n_n194 and n_n193 and not simres0) ;
n_n226 <= (n_n199)
or (n_n200) ;
n_n229 <= (n_n198)
or (n_n226) ;
n_n232 <= (n_n197)
or (n_n229) ;
n_n235 <= (n_n196)
or (n_n232) ;
n_n237 <= (not n_n235 and not n_n195) ;
n_n238 <= (n_n196)
or (n_n232) ;
n_n240 <= (not n_n235 and not n_n195 and not n_n238) ;
n_n241 <= (not n_n237 and not n_n238 and n_n194)
or (not n_n237 and n_n235) ;
n_n243 <= (not n_n240 and not n_n241 and not n_n193)
or (not n_n241 and not n_n235 and not n_n195 and not n_n238) ;
n_n244 <= (not n_n240 and n_n241) ;
reset0 <= (n_n243 and not n_n244) ;
n_n260 <= (n_n199)
or (n_n200) ;
n_n263 <= (n_n198)
or (n_n260) ;
n_n265 <= (not n_n263 and not n_n197) ;
n_n266 <= (n_n198)
or (n_n260) ;
n_n268 <= (not n_n265 and not n_n266 and not n_n196)
or (not n_n266 and not n_n263 and not n_n197) ;
n_n269 <= (not n_n265 and n_n263) ;
n_n271 <= (n_n268 and not n_n269) ;
n_n272 <= (not n_n268 and not n_n269 and n_n195)
or (not n_n268 and not n_n265 and n_n263) ;
n_n274 <= (n_n268 and not n_n269 and not n_n272) ;
n_n275 <= (not n_n271 and not n_n272 and n_n194)
or (not n_n271 and n_n272) ;
n_n277 <= (n_n268 and not n_n269 and not n_n272 and not n_n275) ;
n_n278 <= (not n_n274 and not n_n275 and n_n193)
or (not n_n274 and n_n275) ;
n_n251 <= (n_n268 and not n_n269 and not n_n272 and not n_n275 and not n_n278)
or (not n_n278 and not n_n277) ;
n_n288 <= (n_n199)
or (n_n200) ;
n_n291 <= (n_n198)
or (n_n288) ;
n_n294 <= (n_n197)
or (n_n291) ;
n_n296 <= (not n_n294 and not n_n196) ;
n_n297 <= (n_n197)
or (n_n291) ;
n_n299 <= (not n_n294 and not n_n196 and not n_n297) ;
n_n300 <= (not n_n296 and not n_n297 and n_n195)
or (not n_n296 and n_n294) ;
n_n302 <= (not n_n299 and not n_n300 and not n_n194)
or (not n_n300 and not n_n294 and not n_n196 and not n_n297) ;
n_n303 <= (not n_n299 and n_n300) ;
n_n305 <= (n_n302 and not n_n303) ;
cs0 <= (not n_n305 and n_n251) ;
we0 <= (not n_n193 and not n_n194 and not n_n195 and not n_n196 and n_n197 and not n_n198 and not n_n199 and not n_n200)
or (not n_n193 and n_n194 and n_n196 and not n_n197 and not n_n198 and not n_n199 and not n_n200)
or (not n_n193 and n_n195 and n_n196 and not n_n197 and not n_n198 and not n_n199 and not n_n200) ;
address0 <= (not n_n193 and not n_n194 and n_n195 and n_n196 and not n_n197 and not n_n198 and not n_n199 and not n_n200)
or (not n_n193 and not n_n194 and not n_n196 and n_n197 and not n_n198 and not n_n199 and not n_n200)
or (not n_n193 and not n_n194 and not n_n195 and n_n197 and not n_n198 and not n_n199 and not n_n200) ;
address1 <= (not n_n193 and n_n194 and n_n195 and n_n196 and not n_n197 and not n_n198 and not n_n199 and not n_n200)
or (not n_n193 and n_n194 and n_n195 and not n_n196 and n_n197 and not n_n198 and not n_n199 and not n_n200)
or (not n_n193 and not n_n194 and not n_n195 and n_n197 and not n_n198 and not n_n199 and not n_n200) ;
data0 <= (not n_n193 and n_n194 and n_n196 and not n_n197 and not n_n198 and not n_n199 and not n_n200) ;
data1 <= (not n_n193 and n_n195 and n_n196 and not n_n197 and not n_n198 and not n_n199 and not n_n200) ;
data2 <= (not n_n193 and n_n194 and n_n196 and not n_n197 and not n_n198 and not n_n199 and not n_n200)
or (not n_n193 and n_n196 and not n_n197 and not n_n198 and not n_n199 and not n_n200 and n_n195) ;
data3 <= (not n_n193 and not n_n194 and not n_n195 and not n_n196 and n_n197 and not n_n198 and not n_n199 and not n_n200) ;
data4 <= ('0') ;
data5 <= ('0') ;
data6 <= ('0') ;
data7 <= ('0') ;
re0 <= (not n_n193 and not n_n194 and not n_n195 and n_n196 and n_n197 and not n_n198 and not n_n199 and not n_n200)
or (not n_n193 and n_n194 and not n_n196 and n_n197 and not n_n198 and not n_n199 and not n_n200)
or (not n_n193 and n_n195 and not n_n196 and n_n197 and not n_n198 and not n_n199 and not n_n200) ;
sim_T0P0 <= T0P0 ;
sim_address0 <= address0 ;
sim_address1 <= address1 ;
sim_T0P1 <= T0P1 ;
sim_T0P2 <= T0P2 ;
sim_T0P3 <= T0P3 ;
sim_T0P4 <= T0P4 ;
sim_T0P5 <= T0P5 ;
sim_T0P6 <= T0P6 ;
sim_T0P7 <= T0P7 ;
sim_T1P0 <= T1P0 ;
sim_cs0 <= cs0 ;
sim_re0 <= re0 ;
sim_data0 <= data0 ;
sim_reset0 <= reset0 ;
sim_we0 <= we0 ;
sim_data1 <= data1 ;
sim_data2 <= data2 ;
sim_data3 <= data3 ;
sim_data4 <= data4 ;
sim_data5 <= data5 ;
sim_data6 <= data6 ;
sim_data7 <= data7 ;
end RTL;
|
library IEEE;
use IEEE.std_logic_1164.all;
entity TESTBENCH is
end TESTBENCH ;
architecture behavior of TESTBENCH is
component sim
port(clk : in std_logic;
sim_T0P0 : out std_logic;
sim_address0 : out std_logic;
sim_address1 : out std_logic;
sim_T0P1 : out std_logic;
sim_T0P2 : out std_logic;
sim_T0P3 : out std_logic;
sim_T0P4 : out std_logic;
sim_T0P5 : out std_logic;
sim_T0P6 : out std_logic;
sim_T0P7 : out std_logic;
sim_T1P0 : out std_logic;
sim_cs0 : out std_logic;
sim_re0 : out std_logic;
sim_data0 : out std_logic;
sim_reset0 : out std_logic;
sim_we0 : out std_logic;
sim_data1 : out std_logic;
sim_data2 : out std_logic;
sim_data3 : out std_logic;
sim_data4 : out std_logic;
sim_data5 : out std_logic;
sim_data6 : out std_logic;
sim_data7 : out std_logic;
simres0 : in std_logic);
end component ;
constant CLK_CYCLE : Time := 20 ns ;
signal clk : std_logic ;
signal simres0 : std_logic ;
signal sim_T0P : std_logic_vector(7 downto 0) ;
signal sim_address : std_logic_vector(1 downto 0) ;
signal sim_T1P0 : std_logic ;
signal sim_cs0 : std_logic ;
signal sim_re0 : std_logic ;
signal sim_data : std_logic_vector(7 downto 0) ;
signal sim_reset0 : std_logic ;
signal sim_we0 : std_logic ;
begin
unit : sim port map (
clk => clk,
sim_T0P0 => sim_T0P(0),
sim_address0 => sim_address(0),
sim_address1 => sim_address(1),
sim_T0P1 => sim_T0P(1),
sim_T0P2 => sim_T0P(2),
sim_T0P3 => sim_T0P(3),
sim_T0P4 => sim_T0P(4),
sim_T0P5 => sim_T0P(5),
sim_T0P6 => sim_T0P(6),
sim_T0P7 => sim_T0P(7),
sim_T1P0 => sim_T1P0,
sim_cs0 => sim_cs0,
sim_re0 => sim_re0,
sim_data0 => sim_data(0),
sim_reset0 => sim_reset0,
sim_we0 => sim_we0,
sim_data1 => sim_data(1),
sim_data2 => sim_data(2),
sim_data3 => sim_data(3),
sim_data4 => sim_data(4),
sim_data5 => sim_data(5),
sim_data6 => sim_data(6),
sim_data7 => sim_data(7),
simres0 => simres0);
process begin
clk <= '1';
wait for CLK_CYCLE/2;
clk <= '0';
wait for CLK_CYCLE/2;
end process;
process begin
simres0 <= '0';
wait for CLK_CYCLE*2;
simres0 <= '1';
wait for CLK_CYCLE*5;
simres0 <= '0';
wait for CLK_CYCLE*30;
end process;
end;
|
logicname yahoo32
entity main
input reset;
inout data[8];
output address[8];
output re;
output we;
output writedata[8]; { 機能実行譜のための dataout の引き出し }
bitn datain[8];
bitn dataout[8];
bitn datacnt;
bitr count[8];
bitr wc[3];
bitr acc[8];
bitn read;
bitn write;
output T0P; T0P=datacnt;
enable(data,datain,dataout,datacnt)
datain.8=1;
datacnt=write;
address=count;
dataout=acc;
re=!read;
we=!write;
writedata=dataout;
if (reset)
wc=0;
else
if (wc==4)
wc=0;
else
wc=wc+1;
endif
endif
if (reset)
count=0;
else
if (wc==4)
count=count+1;
else
count=count;
endif
endif
if (reset)
acc=0;
else
if (read)
acc=acc+datain;
else
acc=acc;
endif
endif
if (wc==2)
switch(count)
case 0: read=1;
case 1: read=1;
case 2: read=1;
case 3: read=1;
endswitch
endif
if (wc==2)
if (count==4) write=1; endif
endif
ende
entity sim
output reset;
output data[8];
output address[8];
output re;
output we;
output writedata[8];
output TB0P[8];
bitr tc[8];
bitr memory4d[8];
bitn node_re;
bitn node_we;
bitn node_address[8];
bitn node_data[8];
bitn node_writedata[8];
part main(reset,node_data,node_address,node_re,node_we,node_writedata)
re=node_re;
we=node_we;
address=node_address;
data=node_data;
writedata=node_writedata;
TB0P=memory4d;
tc=tc+1;
if (tc<5) reset=1; endif
if (!node_re)
switch(node_address)
case 0: node_data=1; { 番地0の読み出しデータ }
case 1: node_data=2; { 番地1の読み出しデータ }
case 2: node_data=3; { 番地2の読み出しデータ }
case 3: node_data=4; { 番地3の読み出しデータ }
endswitch
endif
if (!node_we)
if (node_address==4)
memory4d=node_writedata; { 番地4への書き込み }
else
memory4d=memory4d;
endif
else
memory4d=memory4d;;
endif
ende
endlogic
--------------------------------------------------- ザイリンクス FPGA(スパルタンII) XC2S50−5TQ144C ゲート数:50,000 パッケージ:QFP144 I/O ピン数:92 コア電圧:2.5V FF数:1,536 --------------------------------------------------- が千石電商で \2825 です。 (2005.10.22)この容量で通販で入手できるPLDでは低価格と思います。
library IEEE;
use IEEE.std_logic_1164.all;
entity MYMEM is
port (CLK, WE : in std_logic;
ADDR : in std_logic_vector(9 downto 0);
DIN : in std_logic_vector(7 downto 0);
DOUT : out std_logic_vector(7 downto 0));
end MYMEM;
architecture BEHAVE of MYMEM is
signal logic0, logic1: std_logic;
component RAMB4_S4_S4
port (WEA, ENA, RSTA, CLKA: in STD_LOGIC;
ADDRA : in STD_LOGIC_VECTOR(9 downto 0);
DIA : in STD_LOGIC_VECTOR(3 downto 0);
DOA : out STD_LOGIC_VECTOR(3 downto 0);
WEB, ENB, RSTB, CLKB: in STD_LOGIC;
ADDRB : in STD_LOGIC_VECTOR(9 downto 0);
DIB : in STD_LOGIC_VECTOR(3 downto 0);
DOB : out STD_LOGIC_VECTOR(3 downto 0));
end component;
begin
logic0 <='0';
logic1 <='1';
ram0: RAMB4_S4_S4
port map (WEA=>WE,
ENA=>logic1,
RSTA=>logic0,
CLKA=>CLK,
ADDRA=>ADDR,
DIA=>DIN (3 downto 0),
DOA=>DOUT (3 downto 0),
WEB=>WE,
ENB=>logic1,
RSTB=>logic0,
CLKB=>CLK,
ADDRB=>ADDR,
DIB=>DIN (7 downto 4),
DOB=>DOUT (7 downto 4));
end BEHAVE;
|
library IEEE;
use IEEE.std_logic_1164.all;
entity MYMEM is
port (CLK, WE : in std_logic;
ADDR : in std_logic_vector(8 downto 0);
DIN : in std_logic_vector(7 downto 0);
DOUT : out std_logic_vector(7 downto 0));
end MYMEM;
architecture BEHAVE of MYMEM is
signal logic0, logic1: std_logic;
component RAMB4_S8
port (WE, EN, RST, CLK: in STD_LOGIC;
ADDR : in STD_LOGIC_VECTOR(8 downto 0);
DI : in STD_LOGIC_VECTOR(7 downto 0);
DO : out STD_LOGIC_VECTOR(7 downto 0));
end component;
begin
logic0 <='0';
logic1 <='1';
ram0: RAMB4_S8
port map (WE=>WE,
EN=>logic1,
RST=>logic0,
CLK=>CLK,
ADDR=>ADDR,
DI=>DIN,
DO=>DOUT);
end BEHAVE;
|