diff --git a/AppleIIGateSch/AppleIIGateSch.gise b/AppleIIGateSch/AppleIIGateSch.gise new file mode 100644 index 0000000..701deb5 --- /dev/null +++ b/AppleIIGateSch/AppleIIGateSch.gise @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + 11.1 + + + + + + + + + + + diff --git a/AppleIIGateSch/AppleIIGateSch.xise b/AppleIIGateSch/AppleIIGateSch.xise new file mode 100644 index 0000000..0257aed --- /dev/null +++ b/AppleIIGateSch/AppleIIGateSch.xise @@ -0,0 +1,408 @@ + + + +
+ + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/AppleIIGateSch/ClockVideoGenerator.sch b/AppleIIGateSch/ClockVideoGenerator.sch new file mode 100644 index 0000000..64c1340 --- /dev/null +++ b/AppleIIGateSch/ClockVideoGenerator.sch @@ -0,0 +1,940 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2018-5-24T4:42:36 + + + + + + + + + + + + + + + + + + 2000-1-1T10:10:10 + + + + + + + + + 2000-1-1T10:10:10 + + + + + + + + + 2000-1-1T10:10:10 + + + + + + 2000-1-1T10:10:10 + + + + + + + + + + + + 2000-1-1T10:10:10 + + + + + + + + + + + + + 2018-6-3T18:32:16 + + + + + + + + + + + + + + + + + + + + + + 2000-1-1T10:10:10 + + + + + + + + + + + 2000-1-1T10:10:10 + + + + + + + + + + + 2000-1-1T10:10:10 + + + + + + + + + + + + 2018-6-4T6:43:36 + + + + + + + + + + + + + + + + + + + + 2018-5-27T1:40:50 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + NTSC=1 PAL=0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 14.31818 Mhz Clock + + + + + + + + + + + + + + + + + + + + + + + Temp.. NOT USED HERE. Don't want floating + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/AppleIIGateSch/ClockVideoGenerator.sym b/AppleIIGateSch/ClockVideoGenerator.sym new file mode 100644 index 0000000..924124f --- /dev/null +++ b/AppleIIGateSch/ClockVideoGenerator.sym @@ -0,0 +1,107 @@ + + + BLOCK + 2018-6-5T4:4:38 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + APPLE II Clock and Video Generator + Entered into Xilinx ISE 14.7 + by + Frederick Kilner + June 4th Year or our Lord 2018 A.D. + Apple ][ Will Live Forever + + + + + + + diff --git a/AppleIIGateSch/ClockVideoGenerator_guide.ncd b/AppleIIGateSch/ClockVideoGenerator_guide.ncd new file mode 100644 index 0000000..9da11a5 --- /dev/null +++ b/AppleIIGateSch/ClockVideoGenerator_guide.ncd @@ -0,0 +1,3 @@ +XILINX-XDB 0.1 STUB 0.1 ASCII +XILINX-XDM V1.6 +###5820:XlxV32DM 3fff 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###4092:XlxV32DM 3fff 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###5312:XlxV32DM 3fff 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###4272:XlxV32DM 3b24 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 \ No newline at end of file diff --git a/AppleIIGateSch/ClockVideoGenerator_isim_beh1.wdb b/AppleIIGateSch/ClockVideoGenerator_isim_beh1.wdb new file mode 100644 index 0000000..093e2eb Binary files /dev/null and b/AppleIIGateSch/ClockVideoGenerator_isim_beh1.wdb differ diff --git a/AppleIIGateSch/ClockVideoGenerator_summary.html b/AppleIIGateSch/ClockVideoGenerator_summary.html new file mode 100644 index 0000000..d9c98a2 --- /dev/null +++ b/AppleIIGateSch/ClockVideoGenerator_summary.html @@ -0,0 +1,79 @@ +Xilinx Design Summary + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ClockVideoGenerator Project Status
Project File:AppleIIGateSch.xiseParser Errors:
Module Name:ClockVideoGeneratorImplementation State:New
Target Device:xc3s500e-4fg320
  • Errors:
 
Product Version:ISE 14.7
  • Warnings:
 
Design Goal:Balanced
  • Routing Results:
Design Strategy:Xilinx Default (unlocked)
  • Timing Constraints:
 
Environment: 
  • Final Timing Score:
  
+ + + + + + + + + + + + 
+ + + + + + + + + + +
Detailed Reports [-]
Report NameStatusGeneratedErrorsWarningsInfos
Synthesis Report     
Translation Report     
Map Report     
Place and Route Report     
Power Report     
Post-PAR Static Timing Report     
Bitgen Report     

+ + + +
Secondary Reports [-]
Report NameStatusGenerated
ISIM Simulator LogOut of DateThu Jun 7 00:01:13 2018
+ + +
Date Generated: 06/07/2018 - 15:05:13
+ \ No newline at end of file diff --git a/AppleIIGateSch/ClockVideoGenerator_tb.v b/AppleIIGateSch/ClockVideoGenerator_tb.v new file mode 100644 index 0000000..7b4a362 --- /dev/null +++ b/AppleIIGateSch/ClockVideoGenerator_tb.v @@ -0,0 +1,104 @@ +// Verilog test fixture created from schematic C:\Users\Fred6502\Xilinx\tutorial\AppleIIGateSch\ClockVideoGenerator.sch - Sun Jun 03 21:54:27 2018 + +`timescale 1ns / 1ps + +module ClockVideoGenerator_ClockVideoGenerator_sch_tb(); + +// Inputs + reg SOFT5_A2_11; + reg SOFT5_A2_8; + reg CLK_14o3M; + +// Output + wire VA; + wire V5; + wire V4; + wire V3; + wire V2; + wire V1; + wire V0; + wire VC; + wire VB; + wire H5; + wire H4; + wire H3; + wire H2; + wire H1; + wire H0; + wire RASn; + wire CASn; + wire AX; + wire Q3; + wire LDPSn; + wire LD194; + wire PHI0; + wire PHI1; + wire COLOR_REF; + wire c7M; + wire c7Mn; + +// Bidirs + +// TB vars and stuff + integer i; + +// Instantiate the UUT + ClockVideoGenerator UUT ( + .SOFT5_A2_11(SOFT5_A2_11), + .V5(V5), + .V4(V4), + .V3(V3), + .V2(V2), + .V1(V1), + .V0(V0), + .VC(VC), + .VB(VB), + .VA(VA), + .H5(H5), + .H4(H4), + .H3(H3), + .H2(H2), + .H1(H1), + .H0(H0), + .SOFT5_A2_8(SOFT5_A2_8), + .RASn(RASn), + .CASn(CASn), + .AX(AX), + .Q3(Q3), + .LDPSn(LDPSn), + .LD194(LD194), + .PHI0(PHI0), + .PHI1(PHI1), + .COLOR_REF(COLOR_REF), + .c7M(c7M), + .c7Mn(c7Mn), + .CLK_14o3M(CLK_14o3M) + ); +// Initialize Inputs + `ifdef auto_init + initial begin + $display("auto_init set"); + end + `else + initial begin + $display("NOT SET auto_init"); + end + `endif + initial begin + SOFT5_A2_11 = 0; + SOFT5_A2_8 = 0; + #5 + SOFT5_A2_11 = 1; + SOFT5_A2_8 = 1; + #5 + CLK_14o3M = 0; + #100 + for (i=0; i<3000; i = i + 1) begin + CLK_14o3M = 0; + #5; + CLK_14o3M = 1; + #5; + end + $finish; + end +endmodule diff --git a/AppleIIGateSch/JK_FlipFlop.jhd b/AppleIIGateSch/JK_FlipFlop.jhd new file mode 100644 index 0000000..acb80b5 --- /dev/null +++ b/AppleIIGateSch/JK_FlipFlop.jhd @@ -0,0 +1 @@ +MODULE JK_FlipFlop diff --git a/AppleIIGateSch/JK_FlipFlop.sch b/AppleIIGateSch/JK_FlipFlop.sch new file mode 100644 index 0000000..a37ab31 --- /dev/null +++ b/AppleIIGateSch/JK_FlipFlop.sch @@ -0,0 +1,134 @@ + + + + + + + + + + + + + + + + + + + + + + 2000-1-1T10:10:10 + + + + + + + + + + + 2000-1-1T10:10:10 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/AppleIIGateSch/JK_FlipFlop.schlog b/AppleIIGateSch/JK_FlipFlop.schlog new file mode 100644 index 0000000..49a37aa --- /dev/null +++ b/AppleIIGateSch/JK_FlipFlop.schlog @@ -0,0 +1,4 @@ +select figure at 1586 606 8 -branches -sn=1 +select figure at 1851 891 8 -branches -sn=1 +select figure at 1838 986 8 -branches -sn=1 +select figure at 2039 1088 8 -branches -sn=1 diff --git a/AppleIIGateSch/JK_FlipFlop.sym b/AppleIIGateSch/JK_FlipFlop.sym new file mode 100644 index 0000000..92e65cb --- /dev/null +++ b/AppleIIGateSch/JK_FlipFlop.sym @@ -0,0 +1,24 @@ + + + BLOCK + 2018-5-22T0:7:17 + + + + + + + + + + + + + + + + + + + + diff --git a/AppleIIGateSch/JK_FlipFlop_JK_FlipFlop_sch_tb_beh.prj b/AppleIIGateSch/JK_FlipFlop_JK_FlipFlop_sch_tb_beh.prj new file mode 100644 index 0000000..1a274f7 --- /dev/null +++ b/AppleIIGateSch/JK_FlipFlop_JK_FlipFlop_sch_tb_beh.prj @@ -0,0 +1,3 @@ +verilog work "JK_FlipFlop.vf" +verilog work "JK_FlipFlop_tb.v" +verilog work "C:/Xilinx/14.7/ISE_DS/ISE//verilog/src/glbl.v" diff --git a/AppleIIGateSch/JK_FlipFlop_tb.v b/AppleIIGateSch/JK_FlipFlop_tb.v new file mode 100644 index 0000000..5051ff3 --- /dev/null +++ b/AppleIIGateSch/JK_FlipFlop_tb.v @@ -0,0 +1,61 @@ +// Verilog test fixture created from schematic C:\Users\Fred6502\Xilinx\tutorial\AppleIIGateSch\JK_FlipFlop.sch - Mon May 21 17:10:31 2018 +// On positive clock EDGE +// J=0 K=0 outputs Q,Qnot unchanged +// J=1 K=1 outputs Q,Qnot toggled. +// J=1 K=0 outputs Q=1, Qnot=0 +// J=0 K=1 outputs Q=0, Qnot=1 + +`timescale 1ns / 1ps + +module JK_FlipFlop_JK_FlipFlop_sch_tb(); + +// Inputs + reg CLK; + reg J; + reg K; + +// Output + wire Q; + wire Qnot; + integer i; + +// Bidirs + +// Instantiate the UUT + JK_FlipFlop UUT ( + .Q(Q), + .Qnot(Qnot), + .CLK(CLK), + .J(J), + .K(K) + ); +// Initialize Inputs +// `ifdef auto_init +// initial begin +// CLK = 0; +// J = 0; +// K = 0; +// `endif + initial begin + J=0; K=0; CLK=0; + #2 force UUT.Q_DUMMY = 0; force UUT.Qnot_DUMMY = 1; + #2 CLK=1; + #2 CLK=0; + #2 release UUT.Q_DUMMY; + #2 release UUT.Qnot_DUMMY; + #4; + J = 0; + K = 0; + CLK = 0; #4; + CLK = 1; #4; + + for (i=0; i<320; i=i+1) begin + CLK = i & 1; + J = (i >> 1) & 1; + K = (i >> 2) & 1; + $display("CLK=%b J=%b K=%b Q=%b Qnot=%b clock=%d", CLK, J, K, Q, Qnot, $time); + #2; + end + // $finish; + end +endmodule diff --git a/AppleIIGateSch/README.txt b/AppleIIGateSch/README.txt new file mode 100644 index 0000000..9decea5 --- /dev/null +++ b/AppleIIGateSch/README.txt @@ -0,0 +1,24 @@ +I, Frederick Kilner, being of sound mind and body and making a gate level Apple ][ in a FPGA. + +Creating a functional gate level Apple II from Apple II schematic. +Using Xilinx 14.7 Schematic Entry. Making small test benches of module. +Design will be loaded in to Nexsys-2 Spartan3E-500 board. +Also manually entering 74series chips(gate level schemtic). + +I didn't find a 74series library so have to enter my own chips. + +My goal is to have a functional gate level apple II in an FPGA. + +I want to be able to connect it to the composite input of a monitor. I'll need a few analog components for that. +Also I will want to have a module which reads the generated composite signal and drives the analog VGA port. +That will probably require a frame buffer unless 59.94Hz refresh rate is okay for some VGA mode. + +Voltage level shifters will be needed but I have expansion connections and want to be able to plug in +real Apple II cards including disk drive card and music card and 80 column card. + +I want to be able to prototype Apple II hardware changes in FPGA board. + +Verilog generated from Xilinx ISE can be used in Xilinx Vivado project to have apple II on Artix-7 chip. +Verilog can be used in other design tool for other chips/boards.. such as Quartus-II or whatever it is now. + +FPGA is neat. \ No newline at end of file diff --git a/AppleIIGateSch/chip74LS153_tb.v b/AppleIIGateSch/chip74LS153_tb.v new file mode 100644 index 0000000..8305aac --- /dev/null +++ b/AppleIIGateSch/chip74LS153_tb.v @@ -0,0 +1,108 @@ +// Verilog test fixture created from schematic C:\Users\Fred6502\Xilinx\tutorial\AppleIIGateSch\chipi74LS153.sch - Sun May 27 17:02:08 2018 + +`timescale 1ns / 1ps + +module chipi74LS153_chipi74LS153_sch_tb(); + +// Inputs + reg Ebn_15; + reg b0_10; + reg b1_11; + reg b2_12; + reg b3_13; + reg Ean_11; + reg a0_6; + reg a1_5; + reg a2_4; + reg a3_3; + reg S0_14; + reg S1_2; + +// Output + wire Zb_9; + wire Za_7; + +// Simulate test bench vars + integer i, j, errct; + wire [3:0] abus; + wire [3:0] bbus; + assign abus = { a3_3, a2_4, a1_5, a0_6 }; + assign bbus = { b3_13, b2_12, b1_11, b0_10 }; + reg expectedA, expectedB; // Just for simulation + +// Bidirs + +// Instantiate the UUT + chipi74LS153 UUT ( + .Zb_9(Zb_9), + .Ebn_15(Ebn_15), + .b0_10(b0_10), + .b1_11(b1_11), + .b2_12(b2_12), + .b3_13(b3_13), + .Za_7(Za_7), + .Ean_11(Ean_11), + .a0_6(a0_6), + .a1_5(a1_5), + .a2_4(a2_4), + .a3_3(a3_3), + .S0_14(S0_14), + .S1_2(S1_2) + ); +// Initialize Inputs + `ifdef auto_init + initial begin + $display("auto_init is defined"); + end + `else + initial begin + $display("not defined auto_init"); + end + `endif + initial begin + Ebn_15 = 0; + b0_10 = 0; + b1_11 = 0; + b2_12 = 0; + b3_13 = 0; + Ean_11 = 0; + a0_6 = 0; + a1_5 = 0; + a2_4 = 0; + a3_3 = 0; + S0_14 = 0; + S1_2 = 0; + errct = 0; + #5; + for (i=0; i<256; i=i+1) begin + a0_6 = i[0]; + a1_5 = i[1]; + a2_4 = i[2]; + a3_3 = i[3]; + b0_10 = i[4]; + b1_11 = i[5]; + b2_12 = i[6]; + b3_13 = i[7]; + #10; + for (j=0; j<16; j=j+1) begin + Ean_11 = j[0]; + Ebn_15 = j[1]; + S0_14 = j[2]; + S1_2 = j[3]; + #5; + expectedA = (~Ean_11) & abus[{S1_2,S0_14}]; + expectedB = (~Ebn_15) & bbus[{S1_2,S0_14}]; + if (expectedA != Za_7) begin + $display("ERR: expectedA=%b Za=%b a=%b S1=%b S0=%b Ean=%b", + expectedA, Za_7, abus, bbus, S1_2, S0_14, Ean_11); + errct = errct + 1; + end + end + end + if ( errct == 0 ) begin + $display("PASSED"); + end else begin + $display("FAILED errct=%d", errct); + end + end +endmodule diff --git a/AppleIIGateSch/chip74LS161.jhd b/AppleIIGateSch/chip74LS161.jhd new file mode 100644 index 0000000..1e513de --- /dev/null +++ b/AppleIIGateSch/chip74LS161.jhd @@ -0,0 +1 @@ +MODULE chip74LS161 diff --git a/AppleIIGateSch/chip74LS161.sch b/AppleIIGateSch/chip74LS161.sch new file mode 100644 index 0000000..ae2d5f6 --- /dev/null +++ b/AppleIIGateSch/chip74LS161.sch @@ -0,0 +1,741 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2000-1-1T10:10:10 + + + + + + + + + + 2000-1-1T10:10:10 + + + + + + + + + + + 2000-1-1T10:10:10 + + + + + + + + + + + 2000-1-1T10:10:10 + + + + + + + + + + + + 2000-1-1T10:10:10 + + + + + + + + + + + + + 2000-1-1T10:10:10 + + + + + + + + + + + 2000-1-1T10:10:10 + + + + + + + + + + + + 2000-1-1T10:10:10 + + + + + + + + + + + + + 2000-1-1T10:10:10 + + + + + + + + + + + + + 2000-1-1T10:10:10 + + + + + + + + 2000-1-1T10:10:10 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Q0,Q1,Q2,Q3 is Qa,Qb,Qc,Qd from TTL book + TC is RCO from TTL Book + CET CEP same as ENT ENP from TTL Book + P0 is DATA_A, P1 is DATA_B ... from TTL Book + PEn is LOADn from TTL Book + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/AppleIIGateSch/chip74LS161.schbak b/AppleIIGateSch/chip74LS161.schbak new file mode 100644 index 0000000..5dc99eb --- /dev/null +++ b/AppleIIGateSch/chip74LS161.schbak @@ -0,0 +1,736 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2018-5-22T0:7:17 + + + + + + + + + 2000-1-1T10:10:10 + + + + + + + + + + 2000-1-1T10:10:10 + + + + + + + + + 2000-1-1T10:10:10 + + + + + + + + + + + 2000-1-1T10:10:10 + + + + + + + + + + + 2000-1-1T10:10:10 + + + + + + + + + + + + 2000-1-1T10:10:10 + + + + + + + + + + + + + 2000-1-1T10:10:10 + + + + + + + + + + + 2000-1-1T10:10:10 + + + + + + + + + + + + 2000-1-1T10:10:10 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Q0,Q1,Q2,Q3 is Qa,Qb,Qc,Qd from TTL book + TC is RCO from TTL Book + CET CEP same as ENT ENP from TTL Book + P0 is DATA_A, P1 is DATA_B ... from TTL Book + PEn is LOADn from TTL Book + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/AppleIIGateSch/chip74LS161.schcmd b/AppleIIGateSch/chip74LS161.schcmd new file mode 100644 index 0000000..0092512 --- /dev/null +++ b/AppleIIGateSch/chip74LS161.schcmd @@ -0,0 +1,10 @@ +select figure at 134 1564 8 -branches -sn=1 +select figure at 501 353 8 -branches -sn=1 +delete selection -sn=1 +name branch at 496 384 8 PEn -sn=1 +name branch at 512 384 8 PEn -sn=1 +select figure at 375 383 8 -branches -sn=1 +delete selection -sn=1 +select figure at 379 386 8 -branches -sn=1 +move bawin at 416 384 to 496 384 -sn=1 +add iomarker 416 384 0 Input Unknown -sn=1 diff --git a/AppleIIGateSch/chip74LS161.sym b/AppleIIGateSch/chip74LS161.sym new file mode 100644 index 0000000..ed64f9d --- /dev/null +++ b/AppleIIGateSch/chip74LS161.sym @@ -0,0 +1,51 @@ + + + BLOCK + 2018-5-24T4:39:40 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/AppleIIGateSch/chip74LS161_guide.ncd b/AppleIIGateSch/chip74LS161_guide.ncd new file mode 100644 index 0000000..57eda3e --- /dev/null +++ b/AppleIIGateSch/chip74LS161_guide.ncd @@ -0,0 +1,3 @@ +XILINX-XDB 0.1 STUB 0.1 ASCII +XILINX-XDM V1.6 +###6620:XlxV32DM 3fff 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###1708:XlxV32DM 132a 694eNqNWEuO5DYMvcwcgPpasjeDZNOLWWSQ5ACSLS0b6MVkY9TdQ8mirWLJhSk0UPVoi99HSuqc8+aTB/xoUJDx4yCFHhu/rQc2vmCAbevx4/EpNjnDbPZPL2fhl19ezHL518O8qV0JpVSgRRH0WhYFU3WCBe1HmIwmp+M7nBveRJLVKadtddInXe05JUaYgjYtSO4f18ex9EkVLJyYRpjsBUgip1e8ulz1RbWlEXY5i4JXl4Y4QZ4KlnBgng+K58wPi5eKTLgWUWERVS2itF0RtdyVVoGWQEthFkfIEaQaYQoZhX6EKWStwI4whejw73RRny6GVw9pxQpH0Fq8x8mk3JOO4ytpjRQMX0k8cPXQXJ0gOhdD7QRQIUybPSpnnpjuGs4umZoG0zqDvX+3XjrjegyMCcA6h96n53y9Y+1++VdzBMmrMPKXkhydNKP3qUj0/PX9Z308nppki0m2R5KhS3KuSTYq0KIVzNQrUS3I0pFHOytZK9uM5k2mIW6VV61d6LnbTOWq80dRhGvMYPgMgpjXkiAchD4Jd5j7e+c/+fPib8PSjTExmTD56xkJPCOdYiRSnITASAjPJOT1If08Hv5+JcF0jat+z1E4DHDHiVi8atqpFUThV2UXphan0ABbD3X8TA4H0AAbOLBo+qoLbkare7Etqm0hCwED+llH4QbHu7QW+rX+4rDp3PeoAltFu2NJdiqWJSfOPh2Vf8brBnWDkPqQc2zcVPEU/ZFRhiHH6qF3Mo6wge1Ih9dihKnCNFvvnmdoDLl57l1jxM1z63Q4GRAwhaGmsJ8CYsIxIAsHjDl2bQVGPNNWb++whvdYwHNbR/dM49WZ+A7jrD3a6MY/Dzq9w6ElQZpjy0X9qm9rnNWhb+tE/jJ7fP1dPByn1oZcP9mHNvbu9G83/vH379ZTfDxePA3FHnN7oZFoY88pHiIZYR7PdQR6rr9j+rl94gvp5/whPnR7sR/Vm56HvgniOQYHU5A80o2BwrVzoj8yynE3uNcR7gb5deRZTw+mzgMpSxeeHljWA4pvJWyrUf31YjstqPuD6dp8so3lmEUxwmdXOdZlDAfQYYTPKkBXhXR6aF6rQLykKpBHuN3ZET55y/qOMHlAuHqQTw+EfC3DecFhO3Tirc1MpM5EgsuEujchGPuVezk0eHZoOCudxGki31tInJ1ujLuz78nWVK6qulqInQWDFsxlwdG9CY6DiFXtSsAwWTSsPxw7bUf3zKXIOpo/5/q6K0Z0GIB4Pjg8Puvl7ZDKeEktHlBEPaAAQiG7tfZ8S5j1Ek+X2E2X2F3iKC+xJvHjv39smURobob9b53w+lOuQnj7T0kp7AQQfvmw6/Jl0xIFpPLijPe5/cNuyzfrZ7ktMcUqhl68Lo+Y8lie1Y18GsrL5/v3P3cp/Ow3EcQkEgr+2Nfdrc17nBHLl0vLY3euiSSsTVSnLfb4jEcPzDi6j0Ha5RtOKIlZ2FOsQZV/g2DyJD5Y55DwK8ybXn7goU/sP2REAn7JsHziARKWTwFoe/kIW3FwT5lUQOQqzO+pyIpUYOaZCvubKiZSYRJXMf2eCnukDwkpdLmnfdiwPElNydKr2JbIX8VTieZV7IqHhxgr+df+E12A5SfuGGL5EqKALyErkkLNoXz54g5+h/a9VUe+pIRqGn+oagx/2KoeNf8P2T5ONQ== \ No newline at end of file diff --git a/AppleIIGateSch/chip74LS161_tb.v b/AppleIIGateSch/chip74LS161_tb.v new file mode 100644 index 0000000..c60ccca --- /dev/null +++ b/AppleIIGateSch/chip74LS161_tb.v @@ -0,0 +1,104 @@ +// Verilog test fixture created from schematic C:\Users\Fred6502\Xilinx\tutorial\AppleIIGateSch\chip74LS161.sch - Wed May 23 13:17:20 2018 + +`timescale 1ns / 1ps + +module chip74LS161_chip74LS161_sch_tb(); + +// Inputs + reg CLK; + reg CLRn; + reg PEn; + reg CEP; + reg CET; + reg P0; + reg P1; + reg P2; + reg P3; + +// Output + wire Q1; + wire Q2; + wire Q3; + wire TC; + wire Q0; + +// testbench Vars + integer i; + +// Bidirs + +// Instantiate the UUT + chip74LS161 UUT ( + .CLK(CLK), + .CLRn(CLRn), + .Q0(Q0), + .Q1(Q1), + .Q2(Q2), + .Q3(Q3), + .TC(TC), + .PEn(PEn), + .CEP(CEP), + .CET(CET), + .P0(P0), + .P1(P1), + .P2(P2), + .P3(P3) + ); +// Initialize Inputs + //`ifdef auto_init + initial begin + CLK = 0; + CLRn = 0; + PEn = 0; + CEP = 0; + CET = 0; + P0 = 0; + P1 = 0; + P2 = 0; + P3 = 0; + //`endif + #100; + #2 CLRn = 1; #2 CLRn=0; #2 CLRn=1; + + #2; CLK=1; #1; + CEP=1; + CET=1; + PEn = 1; + for (i=0; i<40; i=i+1) begin + CLK=0; #2; + CLK=1; #2; + end + #4; + CLK=0; #2; + CLK=1; #2; + P0 = 1; + P1 = 1; + P2 = 1; + P3 = 1; + PEn = 1; + CLK=0; #2; + CLK=1; #2; + PEn = 0; + CLK=0; #2; + CLK=1; #2; + PEn = 1; + for (i=0; i<8; i=i+1) begin + CLK=0; #2; + CLK=1; #2; + end + #4; + P0 = 0; + P1 = 1; + P2 = 1; + P3 = 0; + PEn = 0; + CLK=0; #2; + CLK=1; #2; + PEn = 1; + for (i=0; i<8; i=i+1) begin + CLK=0; #2; + CLK=1; #2; + end + end + +endmodule diff --git a/AppleIIGateSch/chip74LS175.cmd_log b/AppleIIGateSch/chip74LS175.cmd_log new file mode 100644 index 0000000..1f12aa7 --- /dev/null +++ b/AppleIIGateSch/chip74LS175.cmd_log @@ -0,0 +1,2 @@ +sch2hdl -intstyle ise -family spartan3e -verilog chip74LS175_drc.vf -w C:/Users/Fred6502/Xilinx/tutorial/AppleIIGateSch/chip74LS175.sch +sch2verilog -intstyle ise -family spartan3e -tionly {} -tiext tfi -w C:/Users/Fred6502/Xilinx/tutorial/AppleIIGateSch/chip74LS175.sch chip74LS175.tfi diff --git a/AppleIIGateSch/chip74LS175.jhd b/AppleIIGateSch/chip74LS175.jhd new file mode 100644 index 0000000..4c8a44e --- /dev/null +++ b/AppleIIGateSch/chip74LS175.jhd @@ -0,0 +1 @@ +MODULE chip74LS175 diff --git a/AppleIIGateSch/chip74LS175.sch b/AppleIIGateSch/chip74LS175.sch new file mode 100644 index 0000000..4ec124f --- /dev/null +++ b/AppleIIGateSch/chip74LS175.sch @@ -0,0 +1,235 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2000-1-1T10:10:10 + + + + + + + + + + + + 2000-1-1T10:10:10 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/AppleIIGateSch/chip74LS175.sym b/AppleIIGateSch/chip74LS175.sym new file mode 100644 index 0000000..99f62aa --- /dev/null +++ b/AppleIIGateSch/chip74LS175.sym @@ -0,0 +1,56 @@ + + + BLOCK + 2018-5-27T1:40:50 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/AppleIIGateSch/chip74LS175_beh.prj b/AppleIIGateSch/chip74LS175_beh.prj new file mode 100644 index 0000000..358eb50 --- /dev/null +++ b/AppleIIGateSch/chip74LS175_beh.prj @@ -0,0 +1,2 @@ +verilog work "chip74LS175.vf" +verilog work "C:/Xilinx/14.7/ISE_DS/ISE//verilog/src/glbl.v" diff --git a/AppleIIGateSch/chip74LS175_tb.v b/AppleIIGateSch/chip74LS175_tb.v new file mode 100644 index 0000000..313dce7 --- /dev/null +++ b/AppleIIGateSch/chip74LS175_tb.v @@ -0,0 +1,104 @@ +// Verilog test fixture created from schematic C:\Users\Fred6502\Xilinx\tutorial\AppleIIGateSch\chip74LS175.sch - Thu May 24 17:45:09 2018 + +`timescale 1ns / 1ps + +module chip74LS175_chip74LS175_sch_tb(); + +// Inputs + reg D0; + reg D1; + reg D2; + reg D3; + reg CP; + reg CLRn; + +// Output + wire Q0; + wire Q0n; + wire Q3; + wire Q2; + wire Q1; + wire Q1n; + wire Q2n; + wire Q3n; + wire [3:0] Qbus = {Q3,Q2,Q1,Q0}; + wire [3:0] Qbusn = {Q3n,Q2n,Q1n,Q0n}; + +// TB + integer i; + integer errcnt; + +// Bidirs + +// Instantiate the UUT + chip74LS175 UUT ( + .Q0(Q0), + .Q0n(Q0n), + .Q3(Q3), + .Q2(Q2), + .Q1(Q1), + .Q1n(Q1n), + .Q2n(Q2n), + .Q3n(Q3n), + .D0(D0), + .D1(D1), + .D2(D2), + .D3(D3), + .CP(CP), + .CLRn(CLRn) + ); +// Initialize Inputs +// `ifndef auto_init + initial begin + $display("auto_init not set"); + #100; + D0 = 0; + D1 = 0; + D2 = 0; + D3 = 0; + CP = 0; + CLRn = 0; + errcnt = 0; + #5; + CLRn = 1; + #5; + for (i=0; i<16; i=i+1) begin + CLRn = 1; + {D3,D2,D1,D0} = i[3:0]; + CP = 0; #5; CP = 1; #5; + if ( Qbus != i[3:0] ) begin + $display("Wrong answer i=%d Qbus=%d", i[3:0], Qbus); + errcnt = errcnt + 1; + end + if ( Qbusn != ~i[3:0] ) begin + $display("Wrong answer i=%d ~Qbus=%d", i[3:0], ~Qbus); + errcnt = errcnt + 1; + end + //CP = 0; #5; CP = 1; #5; + //if ( Qbus != (i[3:0]+1) ) begin + // $display("Wrong answer i=%d Qbus=%d", i[3:0]+1, Qbus); + //end + CLRn = 0; CP = 0; #5; CP = 1; #5; + if ( Qbus != 0 ) begin + $display("Wrong answer i=%d CLRn=0 Qbus=%d should be zero", i[3:0]+1, Qbus); + errcnt = errcnt + 1; + end + if ( Qbusn != 4'hf ) begin + $display("Wrong answer i=%d CLRn=0 Qbusn=%d should be 15. ~0", i[3:0]+1, Qbusn); + errcnt = errcnt + 1; + end + end + if ( errcnt == 0 ) begin + $display("**** PASSED **** errcnt=0"); + end else begin + $display("!!!! FAILED !!!! errcnt=%d", errcnt); + end + end + +// `else begin +// initial begin +// $display("SET auto_init"); +// end +// end +// `endif +endmodule diff --git a/AppleIIGateSch/chip74LS257.jhd b/AppleIIGateSch/chip74LS257.jhd new file mode 100644 index 0000000..2c42631 --- /dev/null +++ b/AppleIIGateSch/chip74LS257.jhd @@ -0,0 +1 @@ +MODULE chip74LS257 diff --git a/AppleIIGateSch/chip74LS257.sch b/AppleIIGateSch/chip74LS257.sch new file mode 100644 index 0000000..1cd9079 --- /dev/null +++ b/AppleIIGateSch/chip74LS257.sch @@ -0,0 +1,398 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2000-1-1T10:10:10 + + + + + + + + + + + 2000-1-1T10:10:10 + + + + + + + + + + 2000-1-1T10:10:10 + + + + + + + + + + + 2000-1-1T10:10:10 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gn instead of En in TTL Bookr + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + An/B instead of S in TTL Book + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1A instead of i0a in TTL book + 1B instead of i1a in TTL book + 2A instead of i0a in TTL book + 2B instead of i1b in TTL book + 3A + 3B + 4A + 4B + + + + + + + + + + + + + + + + + + + + + + + + + 1Y in TTL book + 2Y + 3Y + 4Y + + \ No newline at end of file diff --git a/AppleIIGateSch/chip74LS257.sym b/AppleIIGateSch/chip74LS257.sym new file mode 100644 index 0000000..6299394 --- /dev/null +++ b/AppleIIGateSch/chip74LS257.sym @@ -0,0 +1,52 @@ + + + BLOCK + 2018-6-7T7:8:22 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/AppleIIGateSch/chip74LS257_tb.v b/AppleIIGateSch/chip74LS257_tb.v new file mode 100644 index 0000000..0b5890a --- /dev/null +++ b/AppleIIGateSch/chip74LS257_tb.v @@ -0,0 +1,104 @@ +// Verilog test fixture created from schematic C:\Users\Fred6502\Xilinx\tutorial\AppleIIGateSch\chip74LS257.sch - Wed Jun 06 16:37:03 2018 + +`timescale 1ns / 1ps + +module chip74LS257_chip74LS257_sch_tb(); + +// Inputs + reg En_15; + reg S_1; + reg i0a_2; + reg i1a_3; + reg i0b_5; + reg i1b_6; + reg i0c_11; + reg i1c_10; + reg i0d_14; + reg i1d_13; + +// Output + wire Za_4; + wire Zb_7; + wire Zc_9; + wire Zd_12; + +// Bidirs + wire expectedA, expectedB, expectedC, expectedD; + +// Instantiate the UUT + chip74LS257 UUT ( + .En_15(En_15), + .S_1(S_1), + .i0a_2(i0a_2), + .i1a_3(i1a_3), + .i0b_5(i0b_5), + .i1b_6(i1b_6), + .i0c_11(i0c_11), + .i1c_10(i1c_10), + .i0d_14(i0d_14), + .i1d_13(i1d_13), + .Za_4(Za_4), + .Zb_7(Zb_7), + .Zc_9(Zc_9), + .Zd_12(Zd_12) + ); + +// Test Sim + integer i, errct; + assign expectedA = En_15 ? 1'bx : (S_1 ? i1a_3 : i0a_2 ); + assign expectedB = En_15 ? 1'bx : (S_1 ? i1b_6 : i0b_5 ); + assign expectedC = En_15 ? 1'bx : (S_1 ? i1c_10 : i0c_11); + assign expectedD = En_15 ? 1'bx : (S_1 ? i1d_13 : i0d_14); + +// Initialize Inputs + `ifdef auto_init + initial begin + $display("auto_init defined"); + end + `else + initial begin + $display("auto_init not defined"); + end + `endif + initial begin + En_15 = 0; + S_1 = 0; + i0a_2 = 0; + i1a_3 = 0; + i0b_5 = 0; + i1b_6 = 0; + i0c_11 = 0; + i1c_10 = 0; + i0d_14 = 0; + i1d_13 = 0; + errct = 0; + #100; + for (i=0; i<1024; i=i+1) begin + {En_15, S_1, i1d_13,i1c_10,i1b_6,i1a_3, i0d_14,i0c_11,i0b_5,i0a_2} = i; + #9; + if ( Za_4 != expectedA ) begin + $display("i:%d Za_4=%b expectedA=%b", i, Za_4, expectedA); + errct = errct + 1; + end + if ( Zb_7 != expectedB ) begin + $display("i:%d Zb_7=%b expectedB=%b", i, Zb_7, expectedB); + errct = errct + 1; + end + if ( Zc_9 != expectedC ) begin + $display("i:%d Zc_9=%b expectedA=%b", i, Zc_9, expectedC); + errct = errct + 1; + end + if ( Zd_12 != expectedD ) begin + $display("i:%d Zd_12=%b expectedD=%b", i, Zd_12, expectedD); + errct = errct + 1; + end + #1; + end + if ( errct==0 ) begin + $display("PASSED"); + end else begin + $display("FAILED errct=%d", errct); + end + $finish; + end +endmodule diff --git a/AppleIIGateSch/chip74S195.cmd_log b/AppleIIGateSch/chip74S195.cmd_log new file mode 100644 index 0000000..309d811 --- /dev/null +++ b/AppleIIGateSch/chip74S195.cmd_log @@ -0,0 +1 @@ +sch2hdl -intstyle ise -family spartan3e -verilog chip74S195.vf -w C:/Users/Fred6502/Xilinx/tutorial/AppleIIGateSch/chip74S195.sch diff --git a/AppleIIGateSch/chip74S195.jhd b/AppleIIGateSch/chip74S195.jhd new file mode 100644 index 0000000..754adb2 --- /dev/null +++ b/AppleIIGateSch/chip74S195.jhd @@ -0,0 +1 @@ +MODULE chip74S195 diff --git a/AppleIIGateSch/chip74S195.sch b/AppleIIGateSch/chip74S195.sch new file mode 100644 index 0000000..e3a2de5 --- /dev/null +++ b/AppleIIGateSch/chip74S195.sch @@ -0,0 +1,547 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2000-1-1T10:10:10 + + + + + + + + + + + + + 2000-1-1T10:10:10 + + + + + + + + + 2000-1-1T10:10:10 + + + + + + + + + + + + + + + 2000-1-1T10:10:10 + + + + + + + + + + + 2000-1-1T10:10:10 + + + + + + + + + + 2000-1-1T10:10:10 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + FWK 20180530 + + \ No newline at end of file diff --git a/AppleIIGateSch/chip74S195.sym b/AppleIIGateSch/chip74S195.sym new file mode 100644 index 0000000..f93ecdf --- /dev/null +++ b/AppleIIGateSch/chip74S195.sym @@ -0,0 +1,56 @@ + + + BLOCK + 2018-6-3T18:32:16 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + PE + + + + + + diff --git a/AppleIIGateSch/chip74S195_tb.v b/AppleIIGateSch/chip74S195_tb.v new file mode 100644 index 0000000..bbfc53f --- /dev/null +++ b/AppleIIGateSch/chip74S195_tb.v @@ -0,0 +1,108 @@ +// Verilog test fixture created from schematic C:\Users\Fred6502\Xilinx\tutorial\AppleIIGateSch\chip74S195.sch - Wed May 30 20:53:58 2018 + +`timescale 1ns / 1ps + +module chip74S195_chip74S195_sch_tb(); + +// Inputs + reg CLRn_1; + reg CP_10; + reg SH_LDn; + reg J_2; + reg K_3; + reg P0_4; + reg P1_5; + reg P2_6; + reg P3_7; + +// Output + wire Q0_15; + wire Q1_14; + wire Q2_13; + wire Q3_12; + wire Q3n_11; + +// Bidirs + +// simulation vars + integer i, errct; + wire [4:0] qbus = {Q3n_11,Q3_12,Q2_13,Q1_14,Q0_15}; + wire [4:0] pbus = {~P3_7,P3_7,P2_6,P1_5,P0_4}; + +// Instantiate the UUT + chip74S195 UUT ( + .CLRn_1(CLRn_1), + .CP_10(CP_10), + .SH_LDn(SH_LDn), + .J_2(J_2), + .K_3(K_3), + .P0_4(P0_4), + .P1_5(P1_5), + .P2_6(P2_6), + .P3_7(P3_7), + .Q0_15(Q0_15), + .Q1_14(Q1_14), + .Q2_13(Q2_13), + .Q3_12(Q3_12), + .Q3n_11(Q3n_11) + ); +// Initialize Inputs + `ifdef auto_init + initial begin + $display("auto_init defined"); + end + `else + initial begin + $display("not defined auto_init"); + end + `endif + initial begin + CLRn_1 = 0; + CP_10 = 0; + SH_LDn = 0; + J_2 = 0; + K_3 = 0; + P0_4 = 0; + P1_5 = 0; + P2_6 = 0; + P3_7 = 0; + errct = 0; + #105 + CLRn_1 = 1; + #5 + for (i=0; i<16; i=i+1) begin + {P3_7,P2_6,P1_5,P0_4} = i[3:0]; + CP_10 = 0; + #5 + CP_10 = 1; + #5; + if ( qbus!= pbus ) begin + errct = errct + 1; + $display("ERROR: qbus=%b != pbus=%b", qbus, pbus); + end + end + #5; + SH_LDn = 1; + K_3 = 1; + #5; + // Test shifting in bits. Not used in APPLE II. + for (i=0; i<16; i=i+1) begin + if ( i[1:0]==0 ) begin + J_2 = 0; K_3 = 1; + end else begin + J_2 = 1; K_3 = 0; + end + CP_10 = 0; + #5 + CP_10 = 1; + #5; + end + #10; + if (errct == 0) begin + $display("PASSED"); + end else begin + $display("FAILED errct=%d", errct); + end + $finish; + end +endmodule diff --git a/AppleIIGateSch/chipi74LS153.cmd_log b/AppleIIGateSch/chipi74LS153.cmd_log new file mode 100644 index 0000000..770146b --- /dev/null +++ b/AppleIIGateSch/chipi74LS153.cmd_log @@ -0,0 +1,7 @@ +sch2hdl -intstyle ise -family spartan3e -verilog chipi74LS153.vf -w C:/Users/Fred6502/Xilinx/tutorial/AppleIIGateSch/chipi74LS153.sch +sch2sym -intstyle ise -family spartan3e -refsym chipi74LS153 C:/Users/Fred6502/Xilinx/tutorial/AppleIIGateSch/chipi74LS153.sch C:/Users/Fred6502/Xilinx/tutorial/AppleIIGateSch/chipi74LS153.sym +sch2hdl -intstyle ise -family spartan3e -verilog chipi74LS153_drc.vf -w C:/Users/Fred6502/Xilinx/tutorial/AppleIIGateSch/chipi74LS153.sch +sch2hdl -intstyle ise -family spartan3e -verilog chipi74LS153_drc.vf -w C:/Users/Fred6502/Xilinx/tutorial/AppleIIGateSch/chipi74LS153.sch +sch2hdl -intstyle ise -family spartan3e -verilog chipi74LS153.vf -w C:/Users/Fred6502/Xilinx/tutorial/AppleIIGateSch/chipi74LS153.sch +sch2hdl -intstyle ise -family spartan3e -verilog chipi74LS153_drc.vf -w C:/Users/Fred6502/Xilinx/tutorial/AppleIIGateSch/chipi74LS153.sch +sch2verilog -intstyle ise -family spartan3e -tionly {} -tiext tfi -w C:/Users/Fred6502/Xilinx/tutorial/AppleIIGateSch/chipi74LS153.sch chipi74LS153.tfi diff --git a/AppleIIGateSch/chipi74LS153.jhd b/AppleIIGateSch/chipi74LS153.jhd new file mode 100644 index 0000000..5ef490d --- /dev/null +++ b/AppleIIGateSch/chipi74LS153.jhd @@ -0,0 +1 @@ +MODULE chipi74LS153 diff --git a/AppleIIGateSch/chipi74LS153.sch b/AppleIIGateSch/chipi74LS153.sch new file mode 100644 index 0000000..937d4f8 --- /dev/null +++ b/AppleIIGateSch/chipi74LS153.sch @@ -0,0 +1,384 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2000-1-1T10:10:10 + + + + + + + + + + + + + + + 2000-1-1T10:10:10 + + + + + + + + + + + + 2000-1-1T10:10:10 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 74LS153 from TI TTL Data Book + Made for APPLE II schematic + FWK 20180527 + + + + \ No newline at end of file diff --git a/AppleIIGateSch/chipi74LS153.sym b/AppleIIGateSch/chipi74LS153.sym new file mode 100644 index 0000000..c281c68 --- /dev/null +++ b/AppleIIGateSch/chipi74LS153.sym @@ -0,0 +1,53 @@ + + + BLOCK + 2018-6-4T6:43:36 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/AppleIIGateSch/fuse.xmsgs b/AppleIIGateSch/fuse.xmsgs new file mode 100644 index 0000000..c42b14a --- /dev/null +++ b/AppleIIGateSch/fuse.xmsgs @@ -0,0 +1,9 @@ + + + + + diff --git a/AppleIIGateSch/fuseRelaunch.cmd b/AppleIIGateSch/fuseRelaunch.cmd new file mode 100644 index 0000000..8fe9466 --- /dev/null +++ b/AppleIIGateSch/fuseRelaunch.cmd @@ -0,0 +1 @@ +-intstyle "ise" -incremental -lib "unisims_ver" -lib "unimacro_ver" -lib "xilinxcorelib_ver" -o "C:/Users/Fred6502/Xilinx/tutorial/AppleIIGateSch/chip74LS257_chip74LS257_sch_tb_isim_beh.exe" -prj "C:/Users/Fred6502/Xilinx/tutorial/AppleIIGateSch/chip74LS257_chip74LS257_sch_tb_beh.prj" "work.chip74LS257_chip74LS257_sch_tb" "work.glbl" diff --git a/AppleIIGateSch/iseconfig/AppleIIGateSch.projectmgr b/AppleIIGateSch/iseconfig/AppleIIGateSch.projectmgr new file mode 100644 index 0000000..584544a --- /dev/null +++ b/AppleIIGateSch/iseconfig/AppleIIGateSch.projectmgr @@ -0,0 +1,133 @@ + + + + + + + + + 2 + + + chip74LS257 (C:/Users/Fred6502/Xilinx/tutorial/AppleIIGateSch/chip74LS257.sch) + + 4 + 0 + 000000ff00000000000000010000000100000000000000000000000000000000020200000001000000010000006400000154000000020000000000000000000000000200000064ffffffff000000810000000300000002000001540000000100000003000000000000000100000003 + true + chip74LS257 (C:/Users/Fred6502/Xilinx/tutorial/AppleIIGateSch/chip74LS257.sch) + + + + 1 + Design Utilities + + + + + 0 + 0 + 000000ff00000000000000010000000100000000000000000000000000000000000000000000000108000000010000000100000000000000000000000064ffffffff000000810000000000000001000001080000000100000000 + false + + + + + 1 + + + chip74LS161.sch + + 0 + 0 + 000000ff0000000000000001000000000000000001000000000000000000000000000000000000028e000000040101000100000000000000000000000064ffffffff000000810000000000000004000000420000000100000000000000240000000100000000000000660000000100000000000001c20000000100000000 + false + chip74LS161.sch + + + + 1 + + + chip74LS153_tb.v + + 0 + 0 + 000000ff000000000000000100000000000000000100000000000000000000000000000000000000f8000000010001000100000000000000000000000064ffffffff000000810000000000000001000000f80000000100000000 + false + chip74LS153_tb.v + + + + 2 + + + chip74LS257_chip74LS257_sch_tb (C:/Users/Fred6502/Xilinx/tutorial/AppleIIGateSch/chip74LS257_tb.v) + + 15 + 0 + 000000ff000000000000000100000001000000000000000000000000000000000202000000010000000100000064000001e4000000020000000000000000000000000200000064ffffffff000000810000000300000002000001e40000000100000003000000000000000100000003 + true + chip74LS257_chip74LS257_sch_tb (C:/Users/Fred6502/Xilinx/tutorial/AppleIIGateSch/chip74LS257_tb.v) + + + + 1 + + + + + 0 + 0 + 000000ff00000000000000010000000100000000000000000000000000000000000000000000000108000000010000000100000000000000000000000064ffffffff000000810000000000000001000001080000000100000000 + false + + + + + 1 + Configure Target Device + Implement Design/Map + Implement Design/Place & Route + Implement Design/Translate + Synthesize - XST + User Constraints + + + Design Utilities + + 0 + 0 + 000000ff00000000000000010000000100000000000000000000000000000000000000000000000108000000010000000100000000000000000000000064ffffffff000000810000000000000001000001080000000100000000 + false + Design Utilities + + + + 1 + + + Simulate Behavioral Model + + 0 + 0 + 000000ff00000000000000010000000100000000000000000000000000000000000000000000000108000000010000000100000000000000000000000064ffffffff000000810000000000000001000001080000000100000000 + false + Simulate Behavioral Model + + 000000ff00000000000000020000011b0000011b01000000050100000002 + Behavioral Simulation + + + 1 + + + + + 0 + 0 + 000000ff00000000000000010000000100000000000000000000000000000000000000000000000108000000010000000100000000000000000000000064ffffffff000000810000000000000001000001080000000100000000 + false + + + diff --git a/AppleIIGateSch/iseconfig/ClockVideoGenerator.xreport b/AppleIIGateSch/iseconfig/ClockVideoGenerator.xreport new file mode 100644 index 0000000..aac3582 --- /dev/null +++ b/AppleIIGateSch/iseconfig/ClockVideoGenerator.xreport @@ -0,0 +1,215 @@ + + +
+ 2018-06-07T15:05:13 + ClockVideoGenerator + 2018-06-04T00:17:34 + C:/Users/Fred6502/Xilinx/tutorial/AppleIIGateSch/iseconfig/ClockVideoGenerator.xreport + C:/Users/Fred6502/Xilinx/tutorial/AppleIIGateSch\ + 2018-06-03T23:03:36 + false +
+ + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/AppleIIGateSch/iseconfig/chip74LS161.xreport b/AppleIIGateSch/iseconfig/chip74LS161.xreport new file mode 100644 index 0000000..14818ef --- /dev/null +++ b/AppleIIGateSch/iseconfig/chip74LS161.xreport @@ -0,0 +1,215 @@ + + +
+ 2018-06-03T22:59:28 + ClockVideoGenerator + 2018-05-23T17:00:46 + C:/Users/Fred6502/Xilinx/tutorial/AppleIIGateSch/iseconfig/chip74LS161.xreport + C:/Users/Fred6502/Xilinx/tutorial/AppleIIGateSch\ + 2018-06-03T22:59:27 + false +
+ + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/AppleIIGateSch/isim.log b/AppleIIGateSch/isim.log new file mode 100644 index 0000000..0d773f4 --- /dev/null +++ b/AppleIIGateSch/isim.log @@ -0,0 +1,18 @@ +ISim log file +Running: C:\Users\Fred6502\Xilinx\tutorial\AppleIIGateSch\chip74LS257_chip74LS257_sch_tb_isim_beh.exe -intstyle ise -gui -tclbatch isim.cmd -wdb C:/Users/Fred6502/Xilinx/tutorial/AppleIIGateSch/chip74LS257_chip74LS257_sch_tb_isim_beh.wdb +ISim P.20131013 (signature 0x7708f090) +---------------------------------------------------------------------- +WARNING:Security:42 - Your software subscription period has lapsed. Your current version of Xilinx tools will continue to function, but you no longer qualify for Xilinx software updates or new releases. + + +---------------------------------------------------------------------- +This is a Full version of ISim. +Time resolution is 1 ps +# onerror resume +# wave add / +# run 30000 ns +Simulator is doing circuit initialization process. +auto_init not defined +Finished circuit initialization process. +PASSED +Stopped at time : 10340 ns : File "C:/Users/Fred6502/Xilinx/tutorial/AppleIIGateSch/chip74LS257_tb.v" Line 102