OSDN Git Service

rom/ram working
authorastoria-d <astoria-d@mail.goo.ne.jp>
Mon, 23 Sep 2013 04:50:14 +0000 (13:50 +0900)
committerastoria-d <astoria-d@mail.goo.ne.jp>
Mon, 23 Sep 2013 04:50:14 +0000 (13:50 +0900)
de1_nes/address_decoder.vhd
de1_nes/clock/clock_divider.vhd
de1_nes/de1_nes.jdi [deleted file]
de1_nes/de1_nes.pin [deleted file]
de1_nes/de1_nes.qsf
de1_nes/de1_nes.vhd
de1_nes/mem/prg_rom.vhd
de1_nes/testbench_motones_sim.vhd

index 189352f..d9141d6 100644 (file)
@@ -5,6 +5,7 @@ use ieee.std_logic_1164.all;
 entity address_decoder is
 generic (abus_size : integer := 16; dbus_size : integer := 8);
     port (  phi2        : in std_logic; --dropping edge syncronized clock.
+            mem_clk     : in std_logic;
             R_nW        : in std_logic; -- active high on read / active low on write.
             addr        : in std_logic_vector (abus_size - 1 downto 0);
             d_io        : inout std_logic_vector (dbus_size - 1 downto 0);
@@ -33,12 +34,29 @@ architecture rtl of address_decoder is
     end component;
     component prg_rom
         generic (abus_size : integer := 15; dbus_size : integer := 8);
-        port (  ce_n            : in std_logic;     --active low.
+        port (
+                clk             : in std_logic;
+                ce_n            : in std_logic;     --active low.
                 addr            : in std_logic_vector (abus_size - 1 downto 0);
                 data            : out std_logic_vector (dbus_size - 1 downto 0)
         );
     end component;
 
+component single_port_rom
+    generic 
+    (
+        DATA_WIDTH : natural := 8;
+        ADDR_WIDTH : natural := 8
+    );
+    port 
+    (
+        clk            : in std_logic;
+        ce             : in std_logic;
+        addr            : in std_logic_vector (ADDR_WIDTH - 1 downto 0);
+        q              : out std_logic_vector((DATA_WIDTH -1) downto 0)
+    );
+end component;
+
     constant dsize : integer := 8;
     constant ram_2k : integer := 11;      --2k = 11 bit width.
     constant rom_32k : integer := 15;     --32k = 15 bit width.
@@ -56,8 +74,10 @@ begin
 
     rom_ce_n <= '0' when (addr(15) = '1' and R_nW = '1') else
              '1' ;
-    romport : prg_rom generic map (rom_32k, dsize)
-            port map (rom_ce_n, addr(rom_32k - 1 downto 0), rom_out);
+--    romport : prg_rom generic map (rom_32k, dsize)
+--            port map (mem_clk, rom_ce_n, addr(rom_32k - 1 downto 0), rom_out);
+    prg_romp_inst : single_port_rom generic map (8, 15)
+            port map (mem_clk, rom_ce_n, addr(rom_32k - 1 downto 0), rom_out);
 
     ram_io <= d_io 
         when (r_nw = '0' and ((addr(15) or addr(14) or addr(13)) = '0')) else
index 8820b7f..35e4105 100644 (file)
@@ -7,6 +7,7 @@ entity clock_divider is
             reset_n     : in std_logic;
             cpu_clk     : out std_logic;
             ppu_clk     : out std_logic;
+            mem_clk     : out std_logic;\r
             vga_clk     : out std_logic
         );
 end clock_divider;
@@ -53,7 +54,8 @@ begin
        cpu_clk <= cpu_clk_new;
     ppu_clk <= not loop2(0);
        vga_clk <= base_clk;
-
+    mem_clk <= base_clk;\r
+    
        cpu_we_n <= '0' when loop6 = "001" else
                 '0' when loop6 = "100" else
                                '1';
diff --git a/de1_nes/de1_nes.jdi b/de1_nes/de1_nes.jdi
deleted file mode 100644 (file)
index 14a6562..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-<sld_project_info>\r
-  <project>\r
-    <hash md5_digest_80b="91ed87639cfe9af1c68a"/>\r
-  </project>\r
-  <file_info>\r
-    <file device="EP2C20F484C7" path="de1_nes.sof" usercode="0xFFFFFFFF"/>\r
-  </file_info>\r
-</sld_project_info>\r
diff --git a/de1_nes/de1_nes.pin b/de1_nes/de1_nes.pin
deleted file mode 100644 (file)
index 7f57f17..0000000
+++ /dev/null
@@ -1,554 +0,0 @@
- -- Copyright (C) 1991-2013 Altera Corporation\r
- -- Your use of Altera Corporation's design tools, logic functions \r
- -- and other software and tools, and its AMPP partner logic \r
- -- functions, and any output files from any of the foregoing \r
- -- (including device programming or simulation files), and any \r
- -- associated documentation or information are expressly subject \r
- -- to the terms and conditions of the Altera Program License \r
- -- Subscription Agreement, Altera MegaCore Function License \r
- -- Agreement, or other applicable license agreement, including, \r
- -- without limitation, that your use is for the sole purpose of \r
- -- programming logic devices manufactured by Altera and sold by \r
- -- Altera or its authorized distributors.  Please refer to the \r
- -- applicable agreement for further details.\r
- -- \r
- -- This is a Quartus II output file. It is for reporting purposes only, and is\r
- -- not intended for use as a Quartus II input file. This file cannot be used\r
- -- to make Quartus II pin assignments - for instructions on how to make pin\r
- -- assignments, please see Quartus II help.\r
- ---------------------------------------------------------------------------------\r
-\r
-\r
-\r
- ---------------------------------------------------------------------------------\r
- -- NC            : No Connect. This pin has no internal connection to the device.\r
- -- DNU           : Do Not Use. This pin MUST NOT be connected.\r
- -- VCCINT        : Dedicated power pin, which MUST be connected to VCC  (1.2V).\r
- -- VCCIO         : Dedicated power pin, which MUST be connected to VCC\r
- --                 of its bank.\r
- --                                    Bank 1:         3.3V\r
- --                                    Bank 2:         3.3V\r
- --                                    Bank 3:         3.3V\r
- --                                    Bank 4:         3.3V\r
- --                                    Bank 5:         3.3V\r
- --                                    Bank 6:         3.3V\r
- --                                    Bank 7:         3.3V\r
- --                                    Bank 8:         3.3V\r
- -- GND           : Dedicated ground pin. Dedicated GND pins MUST be connected to GND.\r
- --                                    It can also be used to report unused dedicated pins. The connection\r
- --                                    on the board for unused dedicated pins depends on whether this will\r
- --                                    be used in a future design. One example is device migration. When\r
- --                                    using device migration, refer to the device pin-tables. If it is a\r
- --                                    GND pin in the pin table or if it will not be used in a future design\r
- --                                    for another purpose the it MUST be connected to GND. If it is an unused\r
- --                                    dedicated pin, then it can be connected to a valid signal on the board\r
- --                                    (low, high, or toggling) if that signal is required for a different\r
- --                                    revision of the design.\r
- -- GND+          : Unused input pin. It can also be used to report unused dual-purpose pins.\r
- --                                    This pin should be connected to GND. It may also be connected  to a\r
- --                                    valid signal  on the board  (low, high, or toggling)  if that signal\r
- --                                    is required for a different revision of the design.\r
- -- GND*          : Unused  I/O  pin. Connect each pin marked GND* directly to GND\r
- --                or leave it unconnected.\r
- -- RESERVED      : Unused I/O pin, which MUST be left unconnected.\r
- -- RESERVED_INPUT    : Pin is tri-stated and should be connected to the board.\r
- -- RESERVED_INPUT_WITH_WEAK_PULLUP    : Pin is tri-stated with internal weak pull-up resistor.\r
- -- RESERVED_INPUT_WITH_BUS_HOLD       : Pin is tri-stated with bus-hold circuitry.\r
- -- RESERVED_OUTPUT_DRIVEN_HIGH        : Pin is output driven high.\r
- ---------------------------------------------------------------------------------\r
-\r
-\r
-\r
- ---------------------------------------------------------------------------------\r
- -- Pin directions (input, output or bidir) are based on device operating in user mode.\r
- ---------------------------------------------------------------------------------\r
-\r
-Quartus II 32-bit Version 13.0.1 Build 232 06/12/2013 Service Pack 1 SJ Web Edition\r
-CHIP  "de1_nes"  ASSIGNED TO AN: EP2C20F484C7\r
-\r
-Pin Name/Usage               : Location  : Dir.   : I/O Standard      : Voltage : I/O Bank  : User Assignment\r
--------------------------------------------------------------------------------------------------------------\r
-GND                          : A1        : gnd    :                   :         :           :                \r
-VCCIO3                       : A2        : power  :                   : 3.3V    : 3         :                \r
-GND*                         : A3        :        :                   :         : 3         :                \r
-GND*                         : A4        :        :                   :         : 3         :                \r
-r[1]                         : A5        : output : 3.3-V LVTTL       :         : 3         : N              \r
-GND*                         : A6        :        :                   :         : 3         :                \r
-GND*                         : A7        :        :                   :         : 3         :                \r
-dbg_vram_a[13]               : A8        : output : 3.3-V LVTTL       :         : 3         : N              \r
-GND*                         : A9        :        :                   :         : 3         :                \r
-joypad2[0]                   : A10       : input  : 3.3-V LVTTL       :         : 3         : N              \r
-GND*                         : A11       :        :                   :         : 3         :                \r
-GND+                         : A12       :        :                   :         : 4         :                \r
-dbg_addr[5]                  : A13       : output : 3.3-V LVTTL       :         : 4         : N              \r
-dbg_int_d_bus[0]             : A14       : output : 3.3-V LVTTL       :         : 4         : N              \r
-dbg_int_d_bus[5]             : A15       : output : 3.3-V LVTTL       :         : 4         : N              \r
-dbg_int_d_bus[4]             : A16       : output : 3.3-V LVTTL       :         : 4         : N              \r
-GND*                         : A17       :        :                   :         : 4         :                \r
-GND*                         : A18       :        :                   :         : 4         :                \r
-GND*                         : A19       :        :                   :         : 4         :                \r
-GND*                         : A20       :        :                   :         : 4         :                \r
-VCCIO4                       : A21       : power  :                   : 3.3V    : 4         :                \r
-GND                          : A22       : gnd    :                   :         :           :                \r
-VCCIO1                       : AA1       : power  :                   : 3.3V    : 1         :                \r
-GND                          : AA2       : gnd    :                   :         :           :                \r
-GND*                         : AA3       :        :                   :         : 8         :                \r
-joypad2[7]                   : AA4       : input  : 3.3-V LVTTL       :         : 8         : N              \r
-GND*                         : AA5       :        :                   :         : 8         :                \r
-GND*                         : AA6       :        :                   :         : 8         :                \r
-GND*                         : AA7       :        :                   :         : 8         :                \r
-GND*                         : AA8       :        :                   :         : 8         :                \r
-GND*                         : AA9       :        :                   :         : 8         :                \r
-GND*                         : AA10      :        :                   :         : 8         :                \r
-dbg_addr[10]                 : AA11      : output : 3.3-V LVTTL       :         : 8         : N              \r
-dbg_d_io[0]                  : AA12      : output : 3.3-V LVTTL       :         : 7         : N              \r
-dbg_d_io[6]                  : AA13      : output : 3.3-V LVTTL       :         : 7         : N              \r
-dbg_addr[2]                  : AA14      : output : 3.3-V LVTTL       :         : 7         : N              \r
-dbg_addr[12]                 : AA15      : output : 3.3-V LVTTL       :         : 7         : N              \r
-dbg_addr[11]                 : AA16      : output : 3.3-V LVTTL       :         : 7         : N              \r
-joypad2[4]                   : AA17      : input  : 3.3-V LVTTL       :         : 7         : N              \r
-b[3]                         : AA18      : output : 3.3-V LVTTL       :         : 7         : N              \r
-GND*                         : AA19      :        :                   :         : 7         :                \r
-GND*                         : AA20      :        :                   :         : 7         :                \r
-GND                          : AA21      : gnd    :                   :         :           :                \r
-VCCIO6                       : AA22      : power  :                   : 3.3V    : 6         :                \r
-GND                          : AB1       : gnd    :                   :         :           :                \r
-VCCIO8                       : AB2       : power  :                   : 3.3V    : 8         :                \r
-joypad1[6]                   : AB3       : input  : 3.3-V LVTTL       :         : 8         : N              \r
-GND*                         : AB4       :        :                   :         : 8         :                \r
-GND*                         : AB5       :        :                   :         : 8         :                \r
-dbg_vram_ad[3]               : AB6       : output : 3.3-V LVTTL       :         : 8         : N              \r
-GND*                         : AB7       :        :                   :         : 8         :                \r
-GND*                         : AB8       :        :                   :         : 8         :                \r
-GND*                         : AB9       :        :                   :         : 8         :                \r
-GND*                         : AB10      :        :                   :         : 8         :                \r
-dbg_addr[8]                  : AB11      : output : 3.3-V LVTTL       :         : 8         : N              \r
-dbg_d_io[7]                  : AB12      : output : 3.3-V LVTTL       :         : 7         : N              \r
-dbg_d_io[4]                  : AB13      : output : 3.3-V LVTTL       :         : 7         : N              \r
-dbg_d_io[5]                  : AB14      : output : 3.3-V LVTTL       :         : 7         : N              \r
-dbg_addr[7]                  : AB15      : output : 3.3-V LVTTL       :         : 7         : N              \r
-dbg_cpu_clk                  : AB16      : output : 3.3-V LVTTL       :         : 7         : N              \r
-GND*                         : AB17      :        :                   :         : 7         :                \r
-GND*                         : AB18      :        :                   :         : 7         :                \r
-GND*                         : AB19      :        :                   :         : 7         :                \r
-GND*                         : AB20      :        :                   :         : 7         :                \r
-VCCIO7                       : AB21      : power  :                   : 3.3V    : 7         :                \r
-GND                          : AB22      : gnd    :                   :         :           :                \r
-VCCIO2                       : B1        : power  :                   : 3.3V    : 2         :                \r
-GND                          : B2        : gnd    :                   :         :           :                \r
-b[0]                         : B3        : output : 3.3-V LVTTL       :         : 3         : N              \r
-GND*                         : B4        :        :                   :         : 3         :                \r
-GND*                         : B5        :        :                   :         : 3         :                \r
-GND*                         : B6        :        :                   :         : 3         :                \r
-GND*                         : B7        :        :                   :         : 3         :                \r
-GND*                         : B8        :        :                   :         : 3         :                \r
-GND*                         : B9        :        :                   :         : 3         :                \r
-joypad2[1]                   : B10       : input  : 3.3-V LVTTL       :         : 3         : N              \r
-dbg_addr[9]                  : B11       : output : 3.3-V LVTTL       :         : 3         : N              \r
-GND+                         : B12       :        :                   :         : 4         :                \r
-dbg_addr[0]                  : B13       : output : 3.3-V LVTTL       :         : 4         : N              \r
-dbg_int_d_bus[2]             : B14       : output : 3.3-V LVTTL       :         : 4         : N              \r
-dbg_int_d_bus[6]             : B15       : output : 3.3-V LVTTL       :         : 4         : N              \r
-dbg_int_d_bus[7]             : B16       : output : 3.3-V LVTTL       :         : 4         : N              \r
-GND*                         : B17       :        :                   :         : 4         :                \r
-GND*                         : B18       :        :                   :         : 4         :                \r
-GND*                         : B19       :        :                   :         : 4         :                \r
-GND*                         : B20       :        :                   :         : 4         :                \r
-GND                          : B21       : gnd    :                   :         :           :                \r
-VCCIO5                       : B22       : power  :                   : 3.3V    : 5         :                \r
-GND*                         : C1        :        :                   :         : 2         :                \r
-GND*                         : C2        :        :                   :         : 2         :                \r
-~nCSO~ / RESERVED_INPUT_WITH_WEAK_PULLUP : C3        : input  : 3.3-V LVTTL       :         : 2         : N              \r
-~ASDO~ / RESERVED_INPUT_WITH_WEAK_PULLUP : C4        : input  : 3.3-V LVTTL       :         : 2         : N              \r
-GND                          : C5        : gnd    :                   :         :           :                \r
-VCCIO3                       : C6        : power  :                   : 3.3V    : 3         :                \r
-GND*                         : C7        :        :                   :         : 3         :                \r
-GND                          : C8        : gnd    :                   :         :           :                \r
-GND*                         : C9        :        :                   :         : 3         :                \r
-GND*                         : C10       :        :                   :         : 3         :                \r
-VCCIO3                       : C11       : power  :                   : 3.3V    : 3         :                \r
-VCCIO4                       : C12       : power  :                   : 3.3V    : 4         :                \r
-dbg_addr[14]                 : C13       : output : 3.3-V LVTTL       :         : 4         : N              \r
-GND*                         : C14       :        :                   :         : 4         :                \r
-GND                          : C15       : gnd    :                   :         :           :                \r
-GND*                         : C16       :        :                   :         : 4         :                \r
-GND*                         : C17       :        :                   :         : 4         :                \r
-joypad1[4]                   : C18       : input  : 3.3-V LVTTL       :         : 4         : N              \r
-GND*                         : C19       :        :                   :         : 5         :                \r
-GND*                         : C20       :        :                   :         : 5         :                \r
-GND*                         : C21       :        :                   :         : 5         :                \r
-GND*                         : C22       :        :                   :         : 5         :                \r
-GND*                         : D1        :        :                   :         : 2         :                \r
-GND*                         : D2        :        :                   :         : 2         :                \r
-GND*                         : D3        :        :                   :         : 2         :                \r
-GND*                         : D4        :        :                   :         : 2         :                \r
-dbg_vram_a[11]               : D5        : output : 3.3-V LVTTL       :         : 2         : N              \r
-GND*                         : D6        :        :                   :         : 2         :                \r
-GND*                         : D7        :        :                   :         : 3         :                \r
-GND*                         : D8        :        :                   :         : 3         :                \r
-GND*                         : D9        :        :                   :         : 3         :                \r
-GND                          : D10       : gnd    :                   :         :           :                \r
-vga_clk                      : D11       : output : 3.3-V LVTTL       :         : 3         : N              \r
-base_clk                     : D12       : input  : 3.3-V LVTTL       :         : 3         : Y              \r
-GND                          : D13       : gnd    :                   :         :           :                \r
-GND*                         : D14       :        :                   :         : 4         :                \r
-GND*                         : D15       :        :                   :         : 4         :                \r
-GND*                         : D16       :        :                   :         : 4         :                \r
-VCCIO4                       : D17       : power  :                   : 3.3V    : 4         :                \r
-GND                          : D18       : gnd    :                   :         :           :                \r
-GND*                         : D19       :        :                   :         : 5         :                \r
-GND*                         : D20       :        :                   :         : 5         :                \r
-GND*                         : D21       :        :                   :         : 5         :                \r
-GND*                         : D22       :        :                   :         : 5         :                \r
-GND*                         : E1        :        :                   :         : 2         :                \r
-GND*                         : E2        :        :                   :         : 2         :                \r
-GND*                         : E3        :        :                   :         : 2         :                \r
-GND*                         : E4        :        :                   :         : 2         :                \r
-VCCD_PLL3                    : E5        : power  :                   : 1.2V    :           :                \r
-VCCA_PLL3                    : E6        : power  :                   : 1.2V    :           :                \r
-GND*                         : E7        :        :                   :         : 3         :                \r
-GND*                         : E8        :        :                   :         : 3         :                \r
-GND*                         : E9        :        :                   :         : 3         :                \r
-VCCIO3                       : E10       : power  :                   : 3.3V    : 3         :                \r
-GND*                         : E11       :        :                   :         : 3         :                \r
-GND+                         : E12       :        :                   :         : 3         :                \r
-VCCIO4                       : E13       : power  :                   : 3.3V    : 4         :                \r
-GND*                         : E14       :        :                   :         : 4         :                \r
-GND*                         : E15       :        :                   :         : 4         :                \r
-GNDA_PLL2                    : E16       : gnd    :                   :         :           :                \r
-GND_PLL2                     : E17       : gnd    :                   :         :           :                \r
-GND*                         : E18       :        :                   :         : 5         :                \r
-GND*                         : E19       :        :                   :         : 5         :                \r
-GND*                         : E20       :        :                   :         : 5         :                \r
-joypad2[2]                   : E21       : input  : 3.3-V LVTTL       :         : 5         : N              \r
-g[3]                         : E22       : output : 3.3-V LVTTL       :         : 5         : N              \r
-GND*                         : F1        :        :                   :         : 2         :                \r
-GND*                         : F2        :        :                   :         : 2         :                \r
-GND*                         : F3        :        :                   :         : 2         :                \r
-GND*                         : F4        :        :                   :         : 2         :                \r
-GND_PLL3                     : F5        : gnd    :                   :         :           :                \r
-GND_PLL3                     : F6        : gnd    :                   :         :           :                \r
-GNDA_PLL3                    : F7        : gnd    :                   :         :           :                \r
-GND*                         : F8        :        :                   :         : 3         :                \r
-g[0]                         : F9        : output : 3.3-V LVTTL       :         : 3         : N              \r
-GND*                         : F10       :        :                   :         : 3         :                \r
-b[2]                         : F11       : output : 3.3-V LVTTL       :         : 3         : N              \r
-dbg_int_d_bus[1]             : F12       : output : 3.3-V LVTTL       :         : 4         : N              \r
-GND*                         : F13       :        :                   :         : 4         :                \r
-g[1]                         : F14       : output : 3.3-V LVTTL       :         : 4         : N              \r
-GND*                         : F15       :        :                   :         : 4         :                \r
-VCCA_PLL2                    : F16       : power  :                   : 1.2V    :           :                \r
-VCCD_PLL2                    : F17       : power  :                   : 1.2V    :           :                \r
-GND_PLL2                     : F18       : gnd    :                   :         :           :                \r
-GND                          : F19       : gnd    :                   :         :           :                \r
-GND*                         : F20       :        :                   :         : 5         :                \r
-GND*                         : F21       :        :                   :         : 5         :                \r
-GND*                         : F22       :        :                   :         : 5         :                \r
-NC                           : G1        :        :                   :         :           :                \r
-NC                           : G2        :        :                   :         :           :                \r
-GND*                         : G3        :        :                   :         : 2         :                \r
-GND                          : G4        : gnd    :                   :         :           :                \r
-GND*                         : G5        :        :                   :         : 2         :                \r
-GND*                         : G6        :        :                   :         : 2         :                \r
-GND*                         : G7        :        :                   :         : 3         :                \r
-joypad1[3]                   : G8        : input  : 3.3-V LVTTL       :         : 3         : N              \r
-VCCIO3                       : G9        : power  :                   : 3.3V    : 3         :                \r
-GND                          : G10       : gnd    :                   :         :           :                \r
-GND*                         : G11       :        :                   :         : 3         :                \r
-dbg_int_d_bus[3]             : G12       : output : 3.3-V LVTTL       :         : 4         : N              \r
-GND                          : G13       : gnd    :                   :         :           :                \r
-VCCIO4                       : G14       : power  :                   : 3.3V    : 4         :                \r
-GND*                         : G15       :        :                   :         : 4         :                \r
-GND*                         : G16       :        :                   :         : 4         :                \r
-GND*                         : G17       :        :                   :         : 5         :                \r
-GND*                         : G18       :        :                   :         : 5         :                \r
-VCCIO5                       : G19       : power  :                   : 3.3V    : 5         :                \r
-GND*                         : G20       :        :                   :         : 5         :                \r
-GND*                         : G21       :        :                   :         : 5         :                \r
-GND*                         : G22       :        :                   :         : 5         :                \r
-GND*                         : H1        :        :                   :         : 2         :                \r
-joypad1[1]                   : H2        : input  : 3.3-V LVTTL       :         : 2         : N              \r
-GND*                         : H3        :        :                   :         : 2         :                \r
-GND*                         : H4        :        :                   :         : 2         :                \r
-GND*                         : H5        :        :                   :         : 2         :                \r
-GND*                         : H6        :        :                   :         : 2         :                \r
-GND*                         : H7        :        :                   :         : 3         :                \r
-dbg_vram_ad[4]               : H8        : output : 3.3-V LVTTL       :         : 3         : N              \r
-GND*                         : H9        :        :                   :         : 3         :                \r
-h_sync_n                     : H10       : output : 3.3-V LVTTL       :         : 3         : N              \r
-GND*                         : H11       :        :                   :         : 3         :                \r
-dbg_addr[15]                 : H12       : output : 3.3-V LVTTL       :         : 4         : N              \r
-dbg_vram_ad[0]               : H13       : output : 3.3-V LVTTL       :         : 4         : N              \r
-GND*                         : H14       :        :                   :         : 4         :                \r
-g[2]                         : H15       : output : 3.3-V LVTTL       :         : 4         : N              \r
-dbg_instruction[2]           : H16       : output : 3.3-V LVTTL       :         : 5         : N              \r
-GND*                         : H17       :        :                   :         : 5         :                \r
-GND*                         : H18       :        :                   :         : 5         :                \r
-dbg_instruction[1]           : H19       : output : 3.3-V LVTTL       :         : 5         : N              \r
-GND                          : H20       : gnd    :                   :         :           :                \r
-NC                           : H21       :        :                   :         :           :                \r
-NC                           : H22       :        :                   :         :           :                \r
-GND*                         : J1        :        :                   :         : 2         :                \r
-joypad1[7]                   : J2        : input  : 3.3-V LVTTL       :         : 2         : N              \r
-NC                           : J3        :        :                   :         :           :                \r
-GND*                         : J4        :        :                   :         : 2         :                \r
-NC                           : J5        :        :                   :         :           :                \r
-NC                           : J6        :        :                   :         :           :                \r
-VCCIO2                       : J7        : power  :                   : 3.3V    : 2         :                \r
-NC                           : J8        :        :                   :         :           :                \r
-NC                           : J9        :        :                   :         :           :                \r
-VCCINT                       : J10       : power  :                   : 1.2V    :           :                \r
-VCCINT                       : J11       : power  :                   : 1.2V    :           :                \r
-VCCINT                       : J12       : power  :                   : 1.2V    :           :                \r
-VCCINT                       : J13       : power  :                   : 1.2V    :           :                \r
-dbg_vram_a[9]                : J14       : output : 3.3-V LVTTL       :         : 4         : N              \r
-GND*                         : J15       :        :                   :         : 5         :                \r
-VCCIO5                       : J16       : power  :                   : 3.3V    : 5         :                \r
-GND*                         : J17       :        :                   :         : 5         :                \r
-GND*                         : J18       :        :                   :         : 5         :                \r
-GND*                         : J19       :        :                   :         : 5         :                \r
-dbg_instruction[4]           : J20       : output : 3.3-V LVTTL       :         : 5         : N              \r
-dbg_instruction[0]           : J21       : output : 3.3-V LVTTL       :         : 5         : N              \r
-dbg_instruction[5]           : J22       : output : 3.3-V LVTTL       :         : 5         : N              \r
-nCE                          : K1        :        :                   :         : 2         :                \r
-TCK                          : K2        : input  :                   :         : 2         :                \r
-GND                          : K3        : gnd    :                   :         :           :                \r
-DATA0                        : K4        : input  :                   :         : 2         :                \r
-TDI                          : K5        : input  :                   :         : 2         :                \r
-TMS                          : K6        : input  :                   :         : 2         :                \r
-GND                          : K7        : gnd    :                   :         :           :                \r
-NC                           : K8        :        :                   :         :           :                \r
-VCCINT                       : K9        : power  :                   : 1.2V    :           :                \r
-GND                          : K10       : gnd    :                   :         :           :                \r
-GND                          : K11       : gnd    :                   :         :           :                \r
-GND                          : K12       : gnd    :                   :         :           :                \r
-GND                          : K13       : gnd    :                   :         :           :                \r
-VCCINT                       : K14       : power  :                   : 1.2V    :           :                \r
-NC                           : K15       :        :                   :         :           :                \r
-GND                          : K16       : gnd    :                   :         :           :                \r
-NC                           : K17       :        :                   :         :           :                \r
-NC                           : K18       :        :                   :         :           :                \r
-GND                          : K19       : gnd    :                   :         :           :                \r
-GND*                         : K20       :        :                   :         : 5         :                \r
-dbg_addr[3]                  : K21       : output : 3.3-V LVTTL       :         : 5         : N              \r
-dbg_addr[4]                  : K22       : output : 3.3-V LVTTL       :         : 5         : N              \r
-GND+                         : L1        :        :                   :         : 2         :                \r
-GND+                         : L2        :        :                   :         : 2         :                \r
-VCCIO2                       : L3        : power  :                   : 3.3V    : 2         :                \r
-nCONFIG                      : L4        :        :                   :         : 2         :                \r
-TDO                          : L5        : output :                   :         : 2         :                \r
-DCLK                         : L6        :        :                   :         : 2         :                \r
-NC                           : L7        :        :                   :         :           :                \r
-GND*                         : L8        :        :                   :         : 2         :                \r
-VCCINT                       : L9        : power  :                   : 1.2V    :           :                \r
-GND                          : L10       : gnd    :                   :         :           :                \r
-GND                          : L11       : gnd    :                   :         :           :                \r
-GND                          : L12       : gnd    :                   :         :           :                \r
-GND                          : L13       : gnd    :                   :         :           :                \r
-VCCINT                       : L14       : power  :                   : 1.2V    :           :                \r
-NC                           : L15       :        :                   :         :           :                \r
-NC                           : L16       :        :                   :         :           :                \r
-NC                           : L17       :        :                   :         :           :                \r
-GND*                         : L18       :        :                   :         : 5         :                \r
-dbg_addr[1]                  : L19       : output : 3.3-V LVTTL       :         : 5         : N              \r
-VCCIO5                       : L20       : power  :                   : 3.3V    : 5         :                \r
-GND+                         : L21       :        :                   :         : 5         :                \r
-GND+                         : L22       :        :                   :         : 5         :                \r
-GND+                         : M1        :        :                   :         : 1         :                \r
-GND+                         : M2        :        :                   :         : 1         :                \r
-VCCIO1                       : M3        : power  :                   : 3.3V    : 1         :                \r
-GND                          : M4        : gnd    :                   :         :           :                \r
-GND*                         : M5        :        :                   :         : 1         :                \r
-GND*                         : M6        :        :                   :         : 1         :                \r
-NC                           : M7        :        :                   :         :           :                \r
-NC                           : M8        :        :                   :         :           :                \r
-VCCINT                       : M9        : power  :                   : 1.2V    :           :                \r
-GND                          : M10       : gnd    :                   :         :           :                \r
-GND                          : M11       : gnd    :                   :         :           :                \r
-GND                          : M12       : gnd    :                   :         :           :                \r
-GND                          : M13       : gnd    :                   :         :           :                \r
-VCCINT                       : M14       : power  :                   : 1.2V    :           :                \r
-NC                           : M15       :        :                   :         :           :                \r
-NC                           : M16       :        :                   :         :           :                \r
-MSEL0                        : M17       :        :                   :         : 6         :                \r
-GND*                         : M18       :        :                   :         : 6         :                \r
-dbg_ppu_clk                  : M19       : output : 3.3-V LVTTL       :         : 6         : N              \r
-VCCIO6                       : M20       : power  :                   : 3.3V    : 6         :                \r
-GND+                         : M21       :        :                   :         : 6         :                \r
-GND+                         : M22       :        :                   :         : 6         :                \r
-GND*                         : N1        :        :                   :         : 1         :                \r
-GND*                         : N2        :        :                   :         : 1         :                \r
-r[3]                         : N3        : output : 3.3-V LVTTL       :         : 1         : N              \r
-GND*                         : N4        :        :                   :         : 1         :                \r
-NC                           : N5        :        :                   :         :           :                \r
-GND*                         : N6        :        :                   :         : 1         :                \r
-GND                          : N7        : gnd    :                   :         :           :                \r
-NC                           : N8        :        :                   :         :           :                \r
-VCCINT                       : N9        : power  :                   : 1.2V    :           :                \r
-GND                          : N10       : gnd    :                   :         :           :                \r
-GND                          : N11       : gnd    :                   :         :           :                \r
-GND                          : N12       : gnd    :                   :         :           :                \r
-GND                          : N13       : gnd    :                   :         :           :                \r
-VCCINT                       : N14       : power  :                   : 1.2V    :           :                \r
-dbg_instruction[7]           : N15       : output : 3.3-V LVTTL       :         : 6         : N              \r
-GND                          : N16       : gnd    :                   :         :           :                \r
-MSEL1                        : N17       :        :                   :         : 6         :                \r
-CONF_DONE                    : N18       :        :                   :         : 6         :                \r
-GND                          : N19       : gnd    :                   :         :           :                \r
-nSTATUS                      : N20       :        :                   :         : 6         :                \r
-dbg_instruction[3]           : N21       : output : 3.3-V LVTTL       :         : 6         : N              \r
-GND*                         : N22       :        :                   :         : 6         :                \r
-GND*                         : P1        :        :                   :         : 1         :                \r
-dbg_vram_ad[6]               : P2        : output : 3.3-V LVTTL       :         : 1         : N              \r
-GND*                         : P3        :        :                   :         : 1         :                \r
-NC                           : P4        :        :                   :         :           :                \r
-GND*                         : P5        :        :                   :         : 1         :                \r
-GND*                         : P6        :        :                   :         : 1         :                \r
-VCCIO1                       : P7        : power  :                   : 3.3V    : 1         :                \r
-joypad2[5]                   : P8        : input  : 3.3-V LVTTL       :         : 8         : N              \r
-GND*                         : P9        :        :                   :         : 8         :                \r
-VCCINT                       : P10       : power  :                   : 1.2V    :           :                \r
-VCCINT                       : P11       : power  :                   : 1.2V    :           :                \r
-VCCINT                       : P12       : power  :                   : 1.2V    :           :                \r
-VCCINT                       : P13       : power  :                   : 1.2V    :           :                \r
-NC                           : P14       :        :                   :         :           :                \r
-dbg_instruction[6]           : P15       : output : 3.3-V LVTTL       :         : 6         : N              \r
-VCCIO6                       : P16       : power  :                   : 3.3V    : 6         :                \r
-GND*                         : P17       :        :                   :         : 6         :                \r
-GND*                         : P18       :        :                   :         : 6         :                \r
-NC                           : P19       :        :                   :         :           :                \r
-NC                           : P20       :        :                   :         :           :                \r
-NC                           : P21       :        :                   :         :           :                \r
-NC                           : P22       :        :                   :         :           :                \r
-GND*                         : R1        :        :                   :         : 1         :                \r
-GND*                         : R2        :        :                   :         : 1         :                \r
-GND                          : R3        : gnd    :                   :         :           :                \r
-NC                           : R4        :        :                   :         :           :                \r
-GND*                         : R5        :        :                   :         : 1         :                \r
-GND*                         : R6        :        :                   :         : 1         :                \r
-GND*                         : R7        :        :                   :         : 1         :                \r
-GND*                         : R8        :        :                   :         : 1         :                \r
-GND*                         : R9        :        :                   :         : 8         :                \r
-joypad1[2]                   : R10       : input  : 3.3-V LVTTL       :         : 8         : N              \r
-dbg_vram_ad[7]               : R11       : output : 3.3-V LVTTL       :         : 8         : N              \r
-dbg_d_io[1]                  : R12       : output : 3.3-V LVTTL       :         : 7         : N              \r
-GND*                         : R13       :        :                   :         : 7         :                \r
-GND*                         : R14       :        :                   :         : 7         :                \r
-GND*                         : R15       :        :                   :         : 7         :                \r
-v_sync_n                     : R16       : output : 3.3-V LVTTL       :         : 7         : N              \r
-dbg_vram_a[12]               : R17       : output : 3.3-V LVTTL       :         : 6         : N              \r
-dbg_vram_ad[5]               : R18       : output : 3.3-V LVTTL       :         : 6         : N              \r
-GND*                         : R19       :        :                   :         : 6         :                \r
-GND*                         : R20       :        :                   :         : 6         :                \r
-GND*                         : R21       :        :                   :         : 6         :                \r
-rst_n                        : R22       : input  : 3.3-V LVTTL       :         : 6         : Y              \r
-dbg_vram_ad[2]               : T1        : output : 3.3-V LVTTL       :         : 1         : N              \r
-joypad2[3]                   : T2        : input  : 3.3-V LVTTL       :         : 1         : N              \r
-dbg_vram_ad[1]               : T3        : output : 3.3-V LVTTL       :         : 1         : N              \r
-VCCIO1                       : T4        : power  :                   : 3.3V    : 1         :                \r
-GND*                         : T5        :        :                   :         : 1         :                \r
-GND*                         : T6        :        :                   :         : 1         :                \r
-GND*                         : T7        :        :                   :         : 8         :                \r
-GND*                         : T8        :        :                   :         : 8         :                \r
-VCCIO8                       : T9        : power  :                   : 3.3V    : 8         :                \r
-GND                          : T10       : gnd    :                   :         :           :                \r
-GND*                         : T11       :        :                   :         : 8         :                \r
-dbg_addr[6]                  : T12       : output : 3.3-V LVTTL       :         : 7         : N              \r
-GND                          : T13       : gnd    :                   :         :           :                \r
-VCCIO7                       : T14       : power  :                   : 3.3V    : 7         :                \r
-GND*                         : T15       :        :                   :         : 7         :                \r
-GND*                         : T16       :        :                   :         : 7         :                \r
-GND_PLL4                     : T17       : gnd    :                   :         :           :                \r
-GND*                         : T18       :        :                   :         : 6         :                \r
-VCCIO6                       : T19       : power  :                   : 3.3V    : 6         :                \r
-GND                          : T20       : gnd    :                   :         :           :                \r
-GND*                         : T21       :        :                   :         : 6         :                \r
-r[0]                         : T22       : output : 3.3-V LVTTL       :         : 6         : N              \r
-GND*                         : U1        :        :                   :         : 1         :                \r
-GND*                         : U2        :        :                   :         : 1         :                \r
-b[1]                         : U3        : output : 3.3-V LVTTL       :         : 1         : N              \r
-GND*                         : U4        :        :                   :         : 1         :                \r
-GND_PLL1                     : U5        : gnd    :                   :         :           :                \r
-VCCD_PLL1                    : U6        : power  :                   : 1.2V    :           :                \r
-VCCA_PLL1                    : U7        : power  :                   : 1.2V    :           :                \r
-GND*                         : U8        :        :                   :         : 8         :                \r
-GND*                         : U9        :        :                   :         : 8         :                \r
-GND*                         : U10       :        :                   :         : 8         :                \r
-GND+                         : U11       :        :                   :         : 8         :                \r
-GND+                         : U12       :        :                   :         : 8         :                \r
-dbg_d_io[2]                  : U13       : output : 3.3-V LVTTL       :         : 7         : N              \r
-GND*                         : U14       :        :                   :         : 7         :                \r
-GND*                         : U15       :        :                   :         : 7         :                \r
-VCCA_PLL4                    : U16       : power  :                   : 1.2V    :           :                \r
-VCCD_PLL4                    : U17       : power  :                   : 1.2V    :           :                \r
-GND*                         : U18       :        :                   :         : 6         :                \r
-GND*                         : U19       :        :                   :         : 6         :                \r
-GND*                         : U20       :        :                   :         : 6         :                \r
-GND*                         : U21       :        :                   :         : 6         :                \r
-GND*                         : U22       :        :                   :         : 6         :                \r
-GND*                         : V1        :        :                   :         : 1         :                \r
-GND*                         : V2        :        :                   :         : 1         :                \r
-GND                          : V3        : gnd    :                   :         :           :                \r
-GND*                         : V4        :        :                   :         : 1         :                \r
-GND_PLL1                     : V5        : gnd    :                   :         :           :                \r
-GND                          : V6        : gnd    :                   :         :           :                \r
-GNDA_PLL1                    : V7        : gnd    :                   :         :           :                \r
-GND*                         : V8        :        :                   :         : 8         :                \r
-GND*                         : V9        :        :                   :         : 8         :                \r
-VCCIO8                       : V10       : power  :                   : 3.3V    : 8         :                \r
-GND*                         : V11       :        :                   :         : 8         :                \r
-GND+                         : V12       :        :                   :         : 7         :                \r
-VCCIO7                       : V13       : power  :                   : 3.3V    : 7         :                \r
-GND*                         : V14       :        :                   :         : 7         :                \r
-GND*                         : V15       :        :                   :         : 7         :                \r
-GNDA_PLL4                    : V16       : gnd    :                   :         :           :                \r
-GND                          : V17       : gnd    :                   :         :           :                \r
-GND_PLL4                     : V18       : gnd    :                   :         :           :                \r
-GND*                         : V19       :        :                   :         : 6         :                \r
-GND*                         : V20       :        :                   :         : 6         :                \r
-GND*                         : V21       :        :                   :         : 6         :                \r
-joypad1[5]                   : V22       : input  : 3.3-V LVTTL       :         : 6         : N              \r
-GND*                         : W1        :        :                   :         : 1         :                \r
-GND*                         : W2        :        :                   :         : 1         :                \r
-GND*                         : W3        :        :                   :         : 1         :                \r
-GND*                         : W4        :        :                   :         : 1         :                \r
-GND*                         : W5        :        :                   :         : 1         :                \r
-VCCIO8                       : W6        : power  :                   : 3.3V    : 8         :                \r
-GND*                         : W7        :        :                   :         : 8         :                \r
-GND*                         : W8        :        :                   :         : 8         :                \r
-GND*                         : W9        :        :                   :         : 8         :                \r
-GND                          : W10       : gnd    :                   :         :           :                \r
-joypad1[0]                   : W11       : input  : 3.3-V LVTTL       :         : 8         : N              \r
-GND+                         : W12       :        :                   :         : 7         :                \r
-GND                          : W13       : gnd    :                   :         :           :                \r
-dbg_addr[13]                 : W14       : output : 3.3-V LVTTL       :         : 7         : N              \r
-dbg_vram_a[8]                : W15       : output : 3.3-V LVTTL       :         : 7         : N              \r
-GND*                         : W16       :        :                   :         : 7         :                \r
-VCCIO7                       : W17       : power  :                   : 3.3V    : 7         :                \r
-NC                           : W18       :        :                   :         :           :                \r
-GND                          : W19       : gnd    :                   :         :           :                \r
-~LVDS91p/nCEO~               : W20       : output : 3.3-V LVTTL       :         : 6         : N              \r
-GND*                         : W21       :        :                   :         : 6         :                \r
-GND*                         : W22       :        :                   :         : 6         :                \r
-GND*                         : Y1        :        :                   :         : 1         :                \r
-joypad2[6]                   : Y2        : input  : 3.3-V LVTTL       :         : 1         : N              \r
-GND*                         : Y3        :        :                   :         : 1         :                \r
-GND*                         : Y4        :        :                   :         : 1         :                \r
-GND*                         : Y5        :        :                   :         : 8         :                \r
-GND*                         : Y6        :        :                   :         : 8         :                \r
-GND*                         : Y7        :        :                   :         : 8         :                \r
-GND                          : Y8        : gnd    :                   :         :           :                \r
-GND*                         : Y9        :        :                   :         : 8         :                \r
-GND*                         : Y10       :        :                   :         : 8         :                \r
-VCCIO8                       : Y11       : power  :                   : 3.3V    : 8         :                \r
-VCCIO7                       : Y12       : power  :                   : 3.3V    : 7         :                \r
-dbg_d_io[3]                  : Y13       : output : 3.3-V LVTTL       :         : 7         : N              \r
-r[2]                         : Y14       : output : 3.3-V LVTTL       :         : 7         : N              \r
-GND                          : Y15       : gnd    :                   :         :           :                \r
-dbg_vram_a[10]               : Y16       : output : 3.3-V LVTTL       :         : 7         : N              \r
-GND*                         : Y17       :        :                   :         : 7         :                \r
-GND*                         : Y18       :        :                   :         : 6         :                \r
-GND*                         : Y19       :        :                   :         : 6         :                \r
-GND*                         : Y20       :        :                   :         : 6         :                \r
-GND*                         : Y21       :        :                   :         : 6         :                \r
-GND*                         : Y22       :        :                   :         : 6         :                \r
index 592bec7..6888394 100644 (file)
@@ -42,11 +42,25 @@ set_location_assignment PIN_R22 -to rst_n
 set_global_assignment -name INCREMENTAL_VECTOR_INPUT_SOURCE de1_nes.vwf\r
 set_global_assignment -name EDA_SIMULATION_TOOL "ModelSim-Altera (VHDL)"\r
 set_global_assignment -name EDA_OUTPUT_DATA_FORMAT VHDL -section_id eda_simulation\r
+set_global_assignment -name EDA_TEST_BENCH_ENABLE_STATUS TEST_BENCH_MODE -section_id eda_simulation\r
+set_global_assignment -name EDA_NATIVELINK_SIMULATION_TEST_BENCH testbench_motones_sim -section_id eda_simulation\r
+set_global_assignment -name EDA_TEST_BENCH_NAME testbench_motones_sim -section_id eda_simulation\r
+set_global_assignment -name EDA_DESIGN_INSTANCE_NAME sim_board -section_id testbench_motones_sim\r
+set_global_assignment -name EDA_TEST_BENCH_MODULE_NAME testbench_motones_sim -section_id testbench_motones_sim\r
+set_global_assignment -name EDA_TEST_BENCH_NAME testbench_clock_divider -section_id eda_simulation\r
+set_global_assignment -name EDA_DESIGN_INSTANCE_NAME dut -section_id testbench_clock_divider\r
+set_global_assignment -name EDA_TEST_BENCH_MODULE_NAME testbench_clock_divider -section_id testbench_clock_divider\r
+set_global_assignment -name EDA_TEST_BENCH_RUN_SIM_FOR "100 us" -section_id testbench_motones_sim\r
+set_global_assignment -name EDA_TEST_BENCH_FILE testbench_motones_sim.vhd -section_id testbench_motones_sim\r
+set_global_assignment -name EDA_TEST_BENCH_FILE testbench_clock_divider.vhd -section_id testbench_clock_divider\r
+set_location_assignment LCCOMB_X22_Y13_N8 -to "mos6502:cpu_inst|alu:alu_inst|alu_core:alu_inst|Equal8~65"\r
+set_global_assignment -name PARTITION_FITTER_PRESERVATION_LEVEL PLACEMENT_AND_ROUTING -section_id Top\r
 set_global_assignment -name VHDL_FILE motonesfpga_common.vhd\r
 set_global_assignment -name VHDL_FILE ppu/vga.vhd\r
 set_global_assignment -name VHDL_FILE mem/prg_rom.vhd\r
 set_global_assignment -name VHDL_FILE mem/chr_rom.vhd\r
 set_global_assignment -name VHDL_FILE mem/ram.vhd\r
+set_global_assignment -name VHDL_FILE address_decoder.vhd\r
 set_global_assignment -name VHDL_FILE ppu/ppu_registers.vhd\r
 set_global_assignment -name VHDL_FILE cpu/cpu_registers.vhd\r
 set_global_assignment -name VHDL_FILE clock/clock_divider.vhd\r
@@ -56,20 +70,6 @@ set_global_assignment -name VHDL_FILE ppu/render.vhd
 set_global_assignment -name VHDL_FILE cpu/decoder.vhd\r
 set_global_assignment -name VHDL_FILE cpu/alu.vhd\r
 set_global_assignment -name VHDL_FILE cpu/mos6502.vhd\r
-set_global_assignment -name VHDL_FILE address_decoder.vhd\r
 set_global_assignment -name VHDL_FILE de1_nes.vhd\r
 set_global_assignment -name VECTOR_WAVEFORM_FILE de1_nes.vwf\r
-set_global_assignment -name EDA_TEST_BENCH_ENABLE_STATUS TEST_BENCH_MODE -section_id eda_simulation\r
-set_global_assignment -name EDA_NATIVELINK_SIMULATION_TEST_BENCH testbench_motones_sim -section_id eda_simulation\r
-set_global_assignment -name EDA_TEST_BENCH_NAME testbench_motones_sim -section_id eda_simulation\r
-set_global_assignment -name EDA_DESIGN_INSTANCE_NAME sim_board -section_id testbench_motones_sim\r
-set_global_assignment -name EDA_TEST_BENCH_MODULE_NAME testbench_motones_sim -section_id testbench_motones_sim\r
-set_global_assignment -name EDA_TEST_BENCH_NAME testbench_clock_divider -section_id eda_simulation\r
-set_global_assignment -name EDA_DESIGN_INSTANCE_NAME dut -section_id testbench_clock_divider\r
-set_global_assignment -name EDA_TEST_BENCH_MODULE_NAME testbench_clock_divider -section_id testbench_clock_divider\r
-set_global_assignment -name EDA_TEST_BENCH_RUN_SIM_FOR "100 us" -section_id testbench_motones_sim\r
-set_global_assignment -name EDA_TEST_BENCH_FILE testbench_motones_sim.vhd -section_id testbench_motones_sim\r
-set_global_assignment -name EDA_TEST_BENCH_FILE testbench_clock_divider.vhd -section_id testbench_clock_divider\r
-set_location_assignment LCCOMB_X22_Y13_N8 -to "mos6502:cpu_inst|alu:alu_inst|alu_core:alu_inst|Equal8~65"\r
-set_instance_assignment -name PARTITION_HIERARCHY root_partition -to | -section_id Top\r
-set_global_assignment -name PARTITION_FITTER_PRESERVATION_LEVEL PLACEMENT_AND_ROUTING -section_id Top
\ No newline at end of file
+set_instance_assignment -name PARTITION_HIERARCHY root_partition -to | -section_id Top
\ No newline at end of file
index 2e6c34c..cfbe5bf 100644 (file)
@@ -9,18 +9,19 @@ use ieee.std_logic_unsigned.conv_integer;
 
 entity de1_nes is 
     port (\r
-\r
+--debug signal\r
     signal dbg_cpu_clk  : out std_logic;\r
     signal dbg_ppu_clk  : out std_logic;\r
+    signal dbg_mem_clk  : out std_logic;\r
     signal dbg_addr : out std_logic_vector( 16 - 1 downto 0);\r
     signal dbg_d_io : out std_logic_vector( 8 - 1 downto 0);\r
     signal dbg_vram_ad  : out std_logic_vector (7 downto 0);\r
     signal dbg_vram_a   : out std_logic_vector (13 downto 8);\r
-\r
 ---monitor inside cpu\r
     signal dbg_instruction  : out std_logic_vector(7 downto 0);\r
     signal dbg_int_d_bus  : out std_logic_vector(7 downto 0);\r
 \r
+--NES instance\r
         base_clk       : in std_logic;
         rst_n          : in std_logic;
         joypad1     : in std_logic_vector(7 downto 0);
@@ -62,13 +63,16 @@ architecture rtl of de1_nes is
                 reset_n     : in std_logic;
                 cpu_clk     : out std_logic;
                 ppu_clk     : out std_logic;
+                mem_clk     : out std_logic;\r
                 vga_clk     : out std_logic
             );
     end component;
 
     component address_decoder
     generic (abus_size : integer := 16; dbus_size : integer := 8);
-        port (  phi2        : in std_logic;
+        port (\r
+                phi2        : in std_logic;
+                mem_clk     : in std_logic;\r
                 R_nW        : in std_logic; 
                 addr       : in std_logic_vector (abus_size - 1 downto 0);
                 d_io       : inout std_logic_vector (dbus_size - 1 downto 0);
@@ -127,6 +131,7 @@ architecture rtl of de1_nes is
 
     signal cpu_clk  : std_logic;
     signal ppu_clk  : std_logic;
+    signal mem_clk  : std_logic;\r
     signal vga_out_clk   : std_logic;
 
     signal rdy, irq_n, nmi_n, dbe, r_nw : std_logic;
@@ -142,8 +147,20 @@ architecture rtl of de1_nes is
     signal vram_ad  : std_logic_vector (7 downto 0);
     signal vram_a   : std_logic_vector (13 downto 8);
 \r
-    --test...
-    signal nmi_n2 : std_logic;
+component single_port_rom\r
+    generic \r
+    (\r
+        DATA_WIDTH : natural := 8;\r
+        ADDR_WIDTH : natural := 8\r
+    );\r
+    port \r
+    (\r
+        clk            : in std_logic;\r
+        ce             : in std_logic;\r
+        addr            : in std_logic_vector (ADDR_WIDTH - 1 downto 0);\r
+        q              : out std_logic_vector((DATA_WIDTH -1) downto 0)\r
+    );\r
+end component;\r
 
 begin
 
@@ -152,7 +169,7 @@ begin
 
     --ppu/cpu clock generator
     clock_inst : clock_divider port map 
-        (base_clk, rst_n, cpu_clk, ppu_clk, vga_out_clk);
+        (base_clk, rst_n, cpu_clk, ppu_clk, mem_clk, vga_out_clk);
 
     --mos 6502 cpu instance
     cpu_inst : mos6502 generic map (data_size, addr_size) 
@@ -162,8 +179,11 @@ begin
                 cpu_clk, rdy, rst_n, irq_n, nmi_n, dbe, r_nw, 
                 phi1, phi2, addr, d_io);
 
-    addr_dec_inst : address_decoder generic map (addr_size, data_size) 
-        port map (phi2, r_nw, addr, d_io, ppu_ce_n, apu_ce_n);
+--    addr_dec_inst : address_decoder generic map (addr_size, data_size) 
+--        port map (phi2, mem_clk, r_nw, addr, d_io, ppu_ce_n, apu_ce_n);
+\r
+    rom_inst : single_port_rom generic map (8, 15) port map\r
+        (base_clk, '0', addr(14 downto 0), d_io);\r
 
 --    --nes ppu instance
 --    ppu_inst : ppu 
@@ -171,16 +191,17 @@ begin
 --                nmi_n, rd_n, wr_n, ale, vram_ad, vram_a,
 --                vga_out_clk, h_sync_n, v_sync_n, r, g, b);
 
-    ppu_addr_decoder : v_address_decoder generic map (size14, data_size) 
-        port map (ppu_clk, rd_n, wr_n, ale, vram_ad, vram_a);
+--    ppu_addr_decoder : v_address_decoder generic map (size14, data_size) 
+--        port map (ppu_clk, rd_n, wr_n, ale, vram_ad, vram_a);
 
     apu_inst : apu
         port map (cpu_clk, apu_ce_n, rst_n, r_nw, addr, d_io, rdy);\r
 \r
     dbg_cpu_clk <= cpu_clk;\r
     dbg_ppu_clk <= ppu_clk;\r
+    dbg_mem_clk <= mem_clk;\r
     dbg_addr <= addr;\r
-    dbg_d_io <= d_io;\r
+--    dbg_d_io <= d_io;\r
 --    dbg_vram_ad  <= vram_ad ;\r
 --    dbg_vram_a   <= vram_a  ;\r
 
index ad998f5..93a976e 100644 (file)
@@ -8,7 +8,9 @@ use work.motonesfpga_common.all;
 --asyncronous rom
 entity prg_rom is 
     generic (abus_size : integer := 15; dbus_size : integer := 8);
-    port (  ce_n            : in std_logic;     --active low.
+    port (
+            clk             : in std_logic;
+            ce_n            : in std_logic;     --active low.
             addr            : in std_logic_vector (abus_size - 1 downto 0);
             data            : out std_logic_vector (dbus_size - 1 downto 0)
         );
@@ -73,11 +75,72 @@ begin
 
     p : process (ce_n, addr)
     begin
+    if(rising_edge(clk)) then
     if (ce_n = '0') then
         data <= p_rom(conv_integer(addr));
     else
         data <= (others => 'Z');
     end if;
+    end if;
     end process;
 end rtl;
 
+
+
+
+
+
+
+-- Quartus II VHDL Template
+-- Single-Port ROM
+
+library ieee;
+use ieee.std_logic_1164.all;
+use ieee.numeric_std.all;
+
+entity single_port_rom is
+
+    generic 
+    (
+        DATA_WIDTH : natural := 8;
+        ADDR_WIDTH : natural := 8
+    );
+
+    port 
+    (
+        clk            : in std_logic;
+        ce             : in std_logic;
+        addr            : in std_logic_vector (ADDR_WIDTH - 1 downto 0);
+        q              : out std_logic_vector((DATA_WIDTH -1) downto 0)
+    );
+
+end entity;
+
+architecture rtl of single_port_rom is
+
+    -- Build a 2-D array type for the RoM
+    subtype word_t is std_logic_vector((DATA_WIDTH-1) downto 0);
+    type memory_t is array(2**ADDR_WIDTH-1 downto 0) of word_t;
+
+    signal rom : memory_t;
+
+attribute ram_init_file : string;
+attribute ram_init_file of rom:
+signal is "sample1-prg.hex";
+    
+    begin
+
+    process(clk)
+use ieee.std_logic_unsigned.conv_integer;
+    begin
+    if(rising_edge(clk)) then
+        if (ce = '0') then
+        q <= rom(conv_integer(addr));
+        else
+            q <= (others => 'Z');
+        end if;
+    end if;
+    end process;
+
+end rtl;
+
index 95517d8..c09ae36 100644 (file)
@@ -8,6 +8,19 @@ end testbench_motones_sim;
 architecture stimulus of testbench_motones_sim is 
     component de1_nes
         port (
+--debug signal
+    signal dbg_cpu_clk  : out std_logic;
+    signal dbg_ppu_clk  : out std_logic;
+    signal dbg_mem_clk  : out std_logic;
+    signal dbg_addr : out std_logic_vector( 16 - 1 downto 0);
+    signal dbg_d_io : inout std_logic_vector( 8 - 1 downto 0);
+    signal dbg_vram_ad  : out std_logic_vector (7 downto 0);
+    signal dbg_vram_a   : out std_logic_vector (13 downto 8);
+
+---monitor inside cpu
+    signal dbg_instruction  : out std_logic_vector(7 downto 0);
+    signal dbg_int_d_bus  : out std_logic_vector(7 downto 0);
+--NES instance
             base_clk   : in std_logic;
             rst_n      : in std_logic;
             joypad1     : in std_logic_vector(7 downto 0);
@@ -52,9 +65,31 @@ architecture stimulus of testbench_motones_sim is
     --base clock frequency shares vga clock.
     constant base_clock_time : time := 40 ns;
 
+
+    signal dbg_cpu_clk  : out std_logic;
+    signal dbg_ppu_clk  : out std_logic;
+    signal dbg_mem_clk  : out std_logic;
+    signal dbg_addr : out std_logic_vector( 16 - 1 downto 0);
+    signal dbg_d_io : out std_logic_vector( 8 - 1 downto 0);
+    signal dbg_vram_ad  : out std_logic_vector (7 downto 0);
+    signal dbg_vram_a   : out std_logic_vector (13 downto 8);
+    signal dbg_instruction  : out std_logic_vector(7 downto 0);
+    signal dbg_int_d_bus  : out std_logic_vector(7 downto 0);
+
 begin
 
-    sim_board : de1_nes port map (base_clk, reset_input, joypad1, joypad2, 
+    sim_board : de1_nes port map (
+dbg_cpu_clk,
+dbg_ppu_clk,
+dbg_mem_clk,
+dbg_addr,
+dbg_d_io,
+dbg_vram_ad,
+dbg_vram_a,
+dbg_instruction,
+dbg_int_d_bus,
+    
+    base_clk, reset_input, joypad1, joypad2, 
             vga_clk, h_sync_n, v_sync_n, r, g, b);
 
 --    dummy_vga_disp : vga_device