Subversion Repositories pentevo

Rev

Rev 918 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed | ?url?

  1. // ZX-Evo SD Load (c) NedoPC 2008,2009,2010,2011,2012,2013,2014,2015,2016,2019
  2. //
  3. // top-level
  4.  
  5. /*
  6.     This file is part of ZX-Evo SD Load firmware.
  7.  
  8.     ZX-Evo SD Load firmware is free software:
  9.     you can redistribute it and/or modify it under the terms of
  10.     the GNU General Public License as published by
  11.     the Free Software Foundation, either version 3 of the License, or
  12.     (at your option) any later version.
  13.  
  14.     ZX-Evo SD Load firmware is distributed in the hope that
  15.     it will be useful, but WITHOUT ANY WARRANTY; without even
  16.     the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  17.     See the GNU General Public License for more details.
  18.  
  19.     You should have received a copy of the GNU General Public License
  20.     along with ZX-Evo SD Load firmware.
  21.     If not, see <http://www.gnu.org/licenses/>.
  22. */
  23.  
  24. `include "../include/tune.v"
  25.  
  26. module top(
  27.  
  28.         // clocks
  29.         input fclk,
  30.         output clkz_out,
  31.         input clkz_in,
  32.  
  33.         // z80
  34.         input iorq_n,
  35.         input mreq_n,
  36.         input rd_n,
  37.         input wr_n,
  38.         input m1_n,
  39.         input rfsh_n,
  40.         output int_n,
  41.         output nmi_n,
  42.         output wait_n,
  43.         output res,
  44.  
  45.         inout [7:0] d,
  46.         input [15:0] a,
  47.  
  48.         // zxbus and related
  49.         output csrom,
  50.         output romoe_n,
  51.         output romwe_n,
  52.  
  53.         output rompg0_n,
  54.         output dos_n, // aka rompg1
  55.         output rompg2,
  56.         output rompg3,
  57.         output rompg4,
  58.  
  59.         input iorqge1,
  60.         input iorqge2,
  61.         output iorq1_n,
  62.         output iorq2_n,
  63.  
  64.         // DRAM
  65.         inout [15:0] rd,
  66.         output [9:0] ra,
  67.         output rwe_n,
  68.         output rucas_n,
  69.         output rlcas_n,
  70.         output rras0_n,
  71.         output rras1_n,
  72.  
  73.         // video
  74.         output [1:0] vred,
  75.         output [1:0] vgrn,
  76.         output [1:0] vblu,
  77.  
  78.         output vhsync,
  79.         output vvsync,
  80.         output vcsync,
  81.  
  82.         // AY control and audio/tape
  83.         output ay_clk,
  84.         output ay_bdir,
  85.         output ay_bc1,
  86.  
  87.         output beep,
  88.  
  89.         // IDE
  90.         output [2:0] ide_a,
  91.         inout [15:0] ide_d,
  92.  
  93.         output ide_dir,
  94.  
  95.         input ide_rdy,
  96.  
  97.         output ide_cs0_n,
  98.         output ide_cs1_n,
  99.         output ide_rs_n,
  100.         output ide_rd_n,
  101.         output ide_wr_n,
  102.  
  103.         // VG93 and diskdrive
  104.         output vg_clk,
  105.  
  106.         output vg_cs_n,
  107.         output vg_res_n,
  108.  
  109.         output vg_hrdy,
  110.         output vg_rclk,
  111.         output vg_rawr,
  112.         output [1:0] vg_a, // disk drive selection
  113.         output vg_wrd,
  114.         output vg_side,
  115.  
  116.         input step,
  117.         input vg_sl,
  118.         input vg_sr,
  119.         input vg_tr43,
  120.         input rdat_b_n,
  121.         input vg_wf_de,
  122.         input vg_drq,
  123.         input vg_irq,
  124.         input vg_wd,
  125.  
  126.         // serial links (atmega-fpga, sdcard)
  127.         output sdcs_n,
  128.         output sddo,
  129.         output sdclk,
  130.         input sddi,
  131.  
  132.         input spics_n,
  133.         input spick,
  134.         input spido,
  135.         output spidi,
  136.         output spiint_n
  137. );
  138.  
  139.  
  140.         assign clkz_out = 1'b0;
  141.  
  142.         assign int_n = 1'bZ;
  143.         assign nmi_n = 1'bZ;
  144.         assign wait_n = 1'bZ;
  145.         assign res = 1'bZ;
  146.  
  147.         assign d = 8'bZZZZ_ZZZZ;
  148.  
  149.         assign csrom = 1'bZ;
  150.         assign romoe_n = 1'b1;
  151.         assign romwe_n = 1'b1;
  152.  
  153.         assign rompg0_n = 1'b1;
  154.         assign dos_n = 1'b1;
  155.         assign rompg2 = 1'b1;
  156.         assign rompg3 = 1'b1;
  157.         assign rompg4 = 1'b1;
  158.  
  159.         assign iorq1_n = 1'b1;
  160.         assign iorq2_n = 1'b1;
  161.  
  162.         assign rd = 16'hZZZZ;
  163.         assign ra = 10'd0;
  164.         assign rwe_n = 1'b1;
  165.         assign rucas_n = 1'b1;
  166.         assign rlcas_n = 1'b1;
  167.         assign rras0_n = 1'b1;
  168.         assign rras1_n = 1'b1;
  169.  
  170.         assign ay_clk = 1'b0;
  171.         assign ay_bdir = 1'b0;
  172.         assign ay_bc1  = 1'b0;
  173.  
  174.         assign beep = 1'b0;
  175.  
  176.         assign ide_a = 3'bZZZ;
  177.         assign ide_d = 16'hZZZZ;
  178.         assign ide_dir = 1'b0;
  179.         assign ide_cs0_n = 1'b1;
  180.         assign ide_cs1_n = 1'b1;
  181.         assign ide_rs_n = 1'b0;
  182.         assign ide_rd_n = 1'b1;
  183.         assign ide_wr_n = 1'b1;
  184.  
  185.         assign vg_clk = 1'b0;
  186.         assign vg_cs_n = 1'b1;
  187.         assign vg_res_n = 1'b0;
  188.         assign vg_hdry = 1'b0;
  189.         assign vg_rclk = 1'b0;
  190.         assign vg_rawr = 1'b0;
  191.         assign vg_a a= 2'b00;
  192.         assign vg_wrd = 1'b0;
  193.         assign vg_side = 1'b0;
  194.  
  195.         assign sdcs_n = 1'b1;
  196.         assign sddo = 1'b1;
  197.         assign sdclk = 1'b0;
  198.  
  199.         assign spidi = 1'bZ;
  200.         assign spiint_n = 1'b1;
  201.  
  202.  
  203.  
  204.  
  205. endmodule
  206.  
  207.