mirror of
https://github.com/Gehstock/Mist_FPGA.git
synced 2026-02-15 20:26:07 +00:00
Move Dottori Kun
This commit is contained in:
@@ -1,3 +0,0 @@
|
||||
{ "" "" "" "*" { } { } 0 10236 "" 0 0 "Quartus II" 0 -1 0 ""}
|
||||
{ "" "" "" "*" { } { } 0 10230 "" 0 0 "Quartus II" 0 -1 0 ""}
|
||||
{ "" "" "" "*" { } { } 0 13047 "" 0 0 "Quartus II" 0 -1 0 ""}
|
||||
301
common/Amiga/pla_8721.sv
Normal file
301
common/Amiga/pla_8721.sv
Normal file
@@ -0,0 +1,301 @@
|
||||
module pla_8721(
|
||||
input rom_256,
|
||||
input va14,
|
||||
input charen,
|
||||
input hiram,
|
||||
input loram,
|
||||
input ba,
|
||||
input vma5,
|
||||
input vma4,
|
||||
input ms0,
|
||||
input ms1,
|
||||
input ms2,
|
||||
input ms3,
|
||||
input z80io,
|
||||
input z80en,
|
||||
input exrom,
|
||||
input game,
|
||||
input rw,
|
||||
input aec,
|
||||
input dmaack,
|
||||
input vicfix,
|
||||
input a10,
|
||||
input a11,
|
||||
input a12,
|
||||
input a13,
|
||||
input a14,
|
||||
input a15,
|
||||
input clk,
|
||||
|
||||
output sden,
|
||||
output roml,
|
||||
output romh,
|
||||
output clrbnk,
|
||||
output from,
|
||||
output rom4,
|
||||
output rom3,
|
||||
output rom2,
|
||||
output rom1,
|
||||
output iocs,
|
||||
output dir,
|
||||
output reg dwe,
|
||||
output reg casenb,
|
||||
output vic,
|
||||
output ioacc,
|
||||
output gwe,
|
||||
output colram,
|
||||
output charom);
|
||||
|
||||
wire p0;
|
||||
wire p1;
|
||||
wire p2;
|
||||
wire p3;
|
||||
wire p4;
|
||||
wire p5;
|
||||
wire p6;
|
||||
wire p7;
|
||||
wire p8;
|
||||
wire p9;
|
||||
wire p10;
|
||||
wire p11;
|
||||
wire p12;
|
||||
wire p13;
|
||||
wire p14;
|
||||
wire p15;
|
||||
wire p16;
|
||||
wire p17;
|
||||
wire p18;
|
||||
wire p19;
|
||||
wire p20;
|
||||
wire p21;
|
||||
wire p22;
|
||||
wire p23;
|
||||
wire p24;
|
||||
wire p25;
|
||||
wire p26;
|
||||
wire p27;
|
||||
wire p28;
|
||||
wire p29;
|
||||
wire p30;
|
||||
wire p31;
|
||||
wire p32;
|
||||
wire p33;
|
||||
wire p34;
|
||||
wire p35;
|
||||
wire p36;
|
||||
wire p37;
|
||||
wire p38;
|
||||
wire p39;
|
||||
wire p40;
|
||||
wire p41;
|
||||
wire p42;
|
||||
wire p43;
|
||||
wire p44;
|
||||
wire p45;
|
||||
wire p46;
|
||||
wire p47;
|
||||
wire p48;
|
||||
wire p49;
|
||||
wire p50;
|
||||
wire p51;
|
||||
wire p52;
|
||||
wire p53;
|
||||
wire p54;
|
||||
wire p55;
|
||||
wire p56;
|
||||
wire p57;
|
||||
wire p58;
|
||||
wire p59;
|
||||
wire p60;
|
||||
wire p61;
|
||||
wire p62;
|
||||
wire p63;
|
||||
wire p64;
|
||||
wire p65;
|
||||
wire p66;
|
||||
wire p67;
|
||||
wire p68;
|
||||
wire p69;
|
||||
wire p70;
|
||||
wire p71;
|
||||
wire p72;
|
||||
wire p73;
|
||||
wire p74;
|
||||
wire p75;
|
||||
wire p76;
|
||||
wire p77;
|
||||
wire p78;
|
||||
wire p79;
|
||||
wire p80;
|
||||
wire p81;
|
||||
wire p82;
|
||||
wire p83;
|
||||
wire p84;
|
||||
wire p85;
|
||||
wire p86;
|
||||
wire p87;
|
||||
wire p88;
|
||||
wire p89;
|
||||
|
||||
wire casenb_int;
|
||||
wire casenb_latch;
|
||||
|
||||
/* Product terms */
|
||||
|
||||
assign p0 = charen & hiram & ba & !ms3 & game & rw & aec & a12 & !a13 & a14 & a15;
|
||||
assign p1 = charen & hiram & !ms3 & game & !rw & aec & a12 & !a13 & a14 & a15;
|
||||
assign p2 = charen & loram & ba & !ms3 & game & rw & aec & a12 & !a13 & a14 & a15;
|
||||
assign p3 = charen & loram & !ms3 & game & !rw & aec & a12 & !a13 & a14 & a15;
|
||||
|
||||
assign p4 = charen & hiram & ba & !ms3 & !exrom & !game & rw & aec & a12 & !a13 & a14 & a15;
|
||||
assign p5 = charen & hiram & !ms3 & !exrom & !game & !rw & aec & a12 & !a13 & a14 & a15;
|
||||
assign p6 = charen & loram & ba & !ms3 & !exrom & !game & rw & aec & a12 & !a13 & a14 & a15;
|
||||
assign p7 = charen & loram & !ms3 & !exrom & !game & !rw & aec & a12 & !a13 & a14 & a15;
|
||||
|
||||
assign p8 = ba & !ms3 & exrom & !game & rw & aec & a13 & !a13 & a14 & a15;
|
||||
assign p9 = !ms3 & exrom & !game & rw & aec & a12 & !a13 & a14 & a15;
|
||||
|
||||
assign p10 = ba & !ms2 & ms3 & rw & aec & a12 & !a13 & a14 & a15;
|
||||
assign p11 = !ms2 & ms3 & !rw & aec & a12 & !a13 & a14 & a15;
|
||||
|
||||
assign p12 = charen & hiram & ba & !ms3 & game & rw & aec & !a10 & !a11 & a12 & !a13 & a14 & a15;
|
||||
assign p13 = charen & hiram & !ms3 & game & !rw & aec & !a10 & !a11 & a12 & !a13 & a14 & a15;
|
||||
assign p14 = charen & loram & ba & !ms3 & game & rw & aec & !a10 & !a11 & a12 & !a13 & a14 & a15;
|
||||
assign p15 = charen & loram & !ms3 & game & !rw & aec & !a10 & !a11 & a12 & !a13 & a14 & a15;
|
||||
|
||||
assign p16 = charen & hiram & ba & !ms3 & !exrom & !game & rw & aec & !a10 & !a11 & a12 & !a13 & a14 & a15;
|
||||
assign p17 = charen & hiram & !ms3 & !exrom & !game & !rw & aec & !a10 & !a11 & a12 & !a13 & a14 & a15;
|
||||
assign p18 = charen & loram & ba & !ms3 & !exrom & !game & rw & aec & !a10 & !a11 & a12 & !a13 & a14 & a15;
|
||||
assign p19 = charen & loram & !ms3 & !exrom & !game & !rw & aec & !a10 & !a11 & a12 & !a13 & a14 & a15;
|
||||
|
||||
assign p20 = ba & !ms3 & exrom & !game & rw & aec & !a10 & !a11 & a12 & !a13 & a14 & a15;
|
||||
assign p21 = !ms3 & exrom & !game & rw & aec & !a10 & !a11 & a12 & !a13 & a14 & a15;
|
||||
|
||||
assign p22 = ba & !ms2 & ms3 & rw & aec & !a10 & !a11 & a12 & !a13 & a14 & a15;
|
||||
assign p23 = !ms2 & ms3 & !rw & aec & !a10 & !a11 & a12 & !a13 & a14 & a15;
|
||||
|
||||
assign p24 = charen & hiram & ba & !ms3 & game & rw & aec & !a10 & a11 & a12 & !a13 & a14 & a15;
|
||||
assign p25 = charen & hiram & !ms3 & game & !rw & aec & !a10 & a11 & a12 & !a13 & a14 & a15;
|
||||
assign p26 = charen & loram & ba & !ms3 & game & rw & aec & !a10 & a11 & a12 & !a13 & a14 & a15;
|
||||
assign p27 = charen & loram & !ms3 & game & !rw & aec & !a10 & a11 & a12 & !a13 & a14 & a15;
|
||||
|
||||
assign p28 = charen & hiram & ba & !ms3 & !exrom & !game & rw & aec & !a10 & a11 & a12 & !a13 & a14 & a15;
|
||||
assign p29 = charen & hiram & !ms3 & !exrom & !game & !rw & aec & !a10 & a11 & a12 & !a13 & a14 & a15;
|
||||
assign p30 = charen & loram & ba & !ms3 & !exrom & !game & rw & aec & !a10 & a11 & a12 & !a13 & a14 & a15;
|
||||
assign p31 = charen & loram & !ms3 & !exrom & !game & !rw & aec & !a10 & a11 & a12 & !a13 & a15;
|
||||
|
||||
assign p32 = ba & !ms3 & exrom & !game & rw & aec & !a10 & a11 & a12 & !a13 & a14 & a15;
|
||||
assign p33 = !ms3 & exrom & !game & rw & aec & !a10 & a11 & a12 & !a13 & a15;
|
||||
|
||||
assign p34 = ba & !ms2 & ms3 & rw & aec & !a10 & a11 & a12 & !a13 & a14 & a15;
|
||||
assign p35 = !ms2 & ms3 & !rw & aec & !a10 & a11 & a12 & !a13 & a15;
|
||||
|
||||
assign p36 = !aec;
|
||||
assign p37 = !rw & aec & !a10 & a11 & a12 & !a13 & a15;
|
||||
|
||||
assign p39 = !charen & hiram & !ms3 & game & rw & aec & a12 & !a13 & a14 & a15;
|
||||
assign p40 = !charen & loram & !ms3 & game & rw & aec & a12 & !a13 & a14 & a15;
|
||||
assign p41 = !charen & hiram & !ms3 & !exrom & !game & rw & aec & a12 & !a13 & a14 & a15;
|
||||
|
||||
assign p42 = va14 & !vma5 & vma4 & !ms3 & game & !aec;
|
||||
assign p43 = va14 & !vma5 & vma4 & !ms3 & !exrom & !game & !aec;
|
||||
|
||||
assign p44 = !ms0 & !ms1 & ms2 &ms3 & z80en & rw & aec & a12 & !a13 & a14 & a15;
|
||||
assign p45 = hiram & loram & !ms3 & !exrom & rw & aec & !a13 & !a14 & a15;
|
||||
|
||||
assign p46 = !ms3 & exrom & !game & aec & !a13 & !a14 & a15;
|
||||
assign p47 = ms0 & !ms1 & ms3 & exrom & !game & aec & !a14 & a15;
|
||||
assign p48 = !ms0 & ms1 & ms3 & aec & !a14 & a15;
|
||||
|
||||
assign p49 = hiram & !ms3 & !exrom & !game & aec & a13 & !a14 & a15;
|
||||
assign p50 = ms3 & exrom & !game & aec & a13 & !a14 & a15;
|
||||
|
||||
assign p51 = vma5 & vma4 & !ms3 & exrom & !game & !aec;
|
||||
assign p52 = ms0 & !ms1 & ms3 & rw & aec & !a12 & !a13 & a14 & a15;
|
||||
assign p53 = !ms0 & ms1 & ms3 & rw & aec & !a12 & !a13 & a14 & a15;
|
||||
assign p54 = !ms0 & !ms1 & ms3 & rw & aec & !a12 & !a13 & a14 & a15;
|
||||
|
||||
assign p55 = !ms0 & !ms1 & z80io & !z80en & rw & aec & !a12 & !a13 & !a14 & !a15;
|
||||
assign p56 = !ms0 & !ms1 & ms3 & rw & aec & !a14 & a15;
|
||||
assign p57 = !ms0 & !ms1 & ms3 & rw & aec & a14 & !a15;
|
||||
|
||||
assign p58 = hiram & !ms3 & game & rw & aec & a13 & a14 & a15;
|
||||
assign p59 = hiram & !ms3 & !exrom & !game & rw & aec & a13 & a14 & a15;
|
||||
assign p60 = hiram & loram & !ms3 & game & rw & aec & a13 & !a14 & a15;
|
||||
|
||||
assign p61 = !z80io & !z80en & aec & !a10 & !a11 & !a13 & a14 & a15;
|
||||
assign p62 = !z80io & !z80en & aec & a12 & !a13 & a14 & a15;
|
||||
assign p63 = !z80io & !z80en & aec & !a10 & a11 & a12 & !a13 & a14 & a15;
|
||||
|
||||
assign p64 = !rw & aec;
|
||||
assign p65 = rw & aec;
|
||||
assign p66 = !aec;
|
||||
|
||||
assign p67 = !ms2 & !z80en & aec & !a10 & !a11 & a12 & !a13 & !a14 & !a15;
|
||||
assign p68 = !ms2 & !z80en & !rw & aec & !a10 & !a11 & a12 & !a13 & !a14 & !a15;
|
||||
|
||||
assign p69 = !charen & !vma5 & vma4 & ms3 & aec;
|
||||
|
||||
assign p70 = !rom_256 & !ms0 & !ms1 & ms3 & rw & aec & a14 & !a15;
|
||||
assign p71 = !rom_256 & !ms0 & !ms1 & ms3 & rw & aec & !a12 & !a13 & a14 & a15;
|
||||
assign p72 = !rom_256 & !ms0 & !ms1 & z80io & !z80en & rw & aec & !a12 & !a13 & !a14 & !a15;
|
||||
|
||||
assign p73 = clk;
|
||||
assign p74 = rw & !aec & vicfix;
|
||||
|
||||
assign p75 = !ms0 & !ms1 & ms3 & rw & aec & a13 & a14 & a15;
|
||||
assign p76 = !rom_256 & !ms0 & !ms1 & ms3 & rw & aec & a13 & a14 & a15;
|
||||
assign p77 = !ms0 & ms1 & ms3 & rw & aec & a13 & a14 & a15;
|
||||
assign p78 = !ms0 & ms1 & ms2 & ms3 & rw & aec & a12 & !a13 & a14 & a15;
|
||||
assign p79 = ms0 & !ms1 & ms3 & rw & aec & a13 & a14 & a15;
|
||||
assign p80 = ms0 & !ms1 & ms2 & ms3 & rw & aec & a12 & !a13 & a14 & a15;
|
||||
|
||||
assign p81 = !ms3 & exrom & !game & aec & a12 & !a14 & !a15;
|
||||
assign p82 = !ms3 & exrom & !game & aec & a13 & !a14;
|
||||
assign p83 = !ms3 & exrom & !game & aec & a14;
|
||||
assign p84 = !ms3 & exrom & !game & aec & !a12 & !a13 & a14 & a15;
|
||||
|
||||
assign p85 = !loram & ms3 & aec;
|
||||
assign p86 = !hiram & ms3 & !aec;
|
||||
|
||||
/* outputs */
|
||||
|
||||
assign sden = p42 || p43 || p66 || p69;
|
||||
assign roml = p45 || p46 || p47;
|
||||
assign romh = p49 || p50 || p51 || p52 || p79 || p80;
|
||||
assign clrbnk = p85 || p86;
|
||||
assign from = p48 || p53 || p77 || p78;
|
||||
assign rom4 = p54 || p55 || p75;
|
||||
assign rom3 = p56 || p70;
|
||||
assign rom2 = p57;
|
||||
assign rom1 = p58 || p59 || p60 || p71 || p71 || p76;
|
||||
assign iocs = p0 || p1 || p2 || p3 || p4 || p5 || p6 || p7 || p8 || p9 || p10 || p11 || p62;
|
||||
assign dir = p12 || p14 || p16 || p18 || p20 || p22 || p24 || p26 || p28 || p30 || p32 || p34 || p39 || p40 || p41 || p44 || p65;
|
||||
assign vic = p12 || p13 || p14 || p15 || p16 || p17 || p18 || p19 || p20 || p21 || p22 || p23 || p61;
|
||||
assign ioacc = p0 || p1 || p2 || p3 || p4 || p5 || p6 || p7 || p8 || p9 || p10 || p11 ||
|
||||
p12 || p13 || p14 || p15 || p16 || p17 || p18 || p19 || p20 || p21 || p22 || p61 || p62;
|
||||
assign gwe = p37;
|
||||
assign colram = p24 || p25 || p26 || p27 || p28 || p29 || p30 || p31 || p32 || p33 || p34 || p35 || p36 || p63 || p67;
|
||||
assign charrom = p39 || p40 || p41 || p42 || p43 || p44 || p69;
|
||||
|
||||
assign casenb_latch = p73 || p74;
|
||||
|
||||
assign casenb_int = p0 || p1 || p2 || p3 || p4 || p5 || p6 || p7 || p8 || p9
|
||||
|| p10 || p11 || p12 || p13 || p14 || p15 || p16 || p17 || p18 || p19
|
||||
|| p20 || p21 || p22 || p23 || p39 || p40 || p41 || p42 || p43 || p44
|
||||
|| p45 || p46 || p47 || p48 || p49 || p50 || p51 || p52 || p53 || p54
|
||||
|| p55 || p56 || p57 || p58 || p59 || p60 || p61 || p62 || p63 || p67
|
||||
|| p69 || p70 || p71 || p72 || p75 || p76 || p77 || p78 || p79 || p80
|
||||
|| p81 || p82 || p83 || p84;
|
||||
|
||||
/* Latched outputs */
|
||||
|
||||
always @ (clk or p64)
|
||||
if (clk)
|
||||
dwe <= p64;
|
||||
|
||||
always @ (casenb_latch or casenb_int)
|
||||
if (casenb_latch)
|
||||
casenb <= casenb_int;
|
||||
|
||||
endmodule
|
||||
@@ -1,4 +1,5 @@
|
||||
set_global_assignment -name VHDL_FILE [file join $::quartus(qip_path) cpu09.vhd ]
|
||||
set_global_assignment -name VERILOG_FILE [file join $::quartus(qip_path) mc6809.v ]
|
||||
set_global_assignment -name VERILOG_FILE [file join $::quartus(qip_path) mc6809i.v ]
|
||||
set_global_assignment -name VERILOG_FILE [file join $::quartus(qip_path) mc6809e.v ]
|
||||
set_global_assignment -name VERILOG_FILE [file join $::quartus(qip_path) mc6809is.v ]
|
||||
|
||||
48
common/CPU/MC6809/mc6809e.v
Normal file
48
common/CPU/MC6809/mc6809e.v
Normal file
@@ -0,0 +1,48 @@
|
||||
`timescale 1ns / 1ps
|
||||
//////////////////////////////////////////////////////////////////////////////////
|
||||
// Company:
|
||||
// Engineer:
|
||||
//
|
||||
// Create Date: 08:11:34 09/23/2016
|
||||
// Design Name:
|
||||
// Module Name: mc6809e
|
||||
// Project Name:
|
||||
// Target Devices:
|
||||
// Tool versions:
|
||||
// Description:
|
||||
//
|
||||
// Dependencies:
|
||||
//
|
||||
// Revision:
|
||||
// Revision 0.01 - File Created
|
||||
// Additional Comments:
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////////////////
|
||||
module mc6809e(
|
||||
input [7:0] D,
|
||||
output [7:0] DOut,
|
||||
output [15:0] ADDR,
|
||||
output RnW,
|
||||
input E,
|
||||
input Q,
|
||||
output BS,
|
||||
output BA,
|
||||
input nIRQ,
|
||||
input nFIRQ,
|
||||
input nNMI,
|
||||
output AVMA,
|
||||
output BUSY,
|
||||
output LIC,
|
||||
input nHALT,
|
||||
input nRESET
|
||||
|
||||
);
|
||||
|
||||
|
||||
|
||||
mc6809i cpucore (.D(D), .DOut(DOut), .ADDR(ADDR), .RnW(RnW), .E(E), .Q(Q), .BS(BS), .BA(BA), .nIRQ(nIRQ), .nFIRQ(nFIRQ),
|
||||
.nNMI(nNMI), .AVMA(AVMA), .BUSY(BUSY), .LIC(LIC), .nHALT(nHALT), .nRESET(nRESET), .nDMABREQ(1)
|
||||
);
|
||||
|
||||
|
||||
endmodule
|
||||
Reference in New Issue
Block a user