OSDN Git Service

vga working
[motonesfpga/motonesfpga.git] / tools / qt_proj_test5 / qt_proj_test5.vhd
1 library ieee;\r
2 use ieee.std_logic_1164.all;\r
3 use ieee.std_logic_unsigned.conv_integer;\r
4 \r
5 --  \r
6 --   MOTO NES FPGA On GHDL Simulation Environment Virtual Cuicuit Board\r
7 --   All of the components are assembled and instanciated on this board.\r
8 --  \r
9 \r
10 entity qt_proj_test5 is \r
11     port (\r
12 \r
13     signal dbg_cpu_clk  : out std_logic;\r
14     signal dbg_ppu_clk  : out std_logic;\r
15     signal dbg_addr : out std_logic_vector( 16 - 1 downto 0);\r
16     signal dbg_d_io : out std_logic_vector( 8 - 1 downto 0);\r
17 \r
18     signal dbg_status       : out std_logic_vector(7 downto 0);\r
19     signal dbg_dec_oe_n    : out std_logic;\r
20     signal dbg_dec_val     : out std_logic_vector (7 downto 0);\r
21     signal dbg_int_dbus    : out std_logic_vector (7 downto 0);\r
22     signal dbg_status_val    : out std_logic_vector (7 downto 0);\r
23     signal dbg_stat_we_n    : out std_logic;\r
24     \r
25 ---monitor inside cpu\r
26     signal dbg_d1, dbg_d2, dbg_d_out: out std_logic_vector (7 downto 0);\r
27     signal dbg_ea_carry, dbg_carry_clr_n    : out std_logic;\r
28     signal dbg_gate_n    : out std_logic;\r
29 \r
30 \r
31         base_clk        : in std_logic;\r
32         base_clk_27mhz  : in std_logic;\r
33         rst_n           : in std_logic;\r
34         h_sync_n    : out std_logic;\r
35         v_sync_n    : out std_logic;\r
36         r           : out std_logic_vector(3 downto 0);\r
37         g           : out std_logic_vector(3 downto 0);\r
38         b           : out std_logic_vector(3 downto 0);\r
39 \r
40                 --SDRAM Signals\r
41                 dram_addr       :       out std_logic_vector (11 downto 0);             --Address (12 bit)\r
42                 dram_bank       :       out std_logic_vector (1 downto 0);              --Bank\r
43                 dram_cas_n      :       out std_logic;                                                  --Column Address is being transmitted\r
44                 dram_cke        :       out std_logic;                                                  --Clock Enable\r
45                 dram_clk        :       out std_logic;                                                  --Clock\r
46                 dram_cs_n       :       out std_logic;                                                  --Chip Select (Here - Mask commands)\r
47                 dram_dq         :       inout std_logic_vector (15 downto 0);   --Data in / Data out\r
48                 dram_ldqm       :       out std_logic;                                                  --Byte masking\r
49                 dram_udqm       :       out std_logic;                                                  --Byte masking\r
50                 dram_ras_n      :       out std_logic;                                                  --Row Address is being transmitted\r
51                 dram_we_n       :       out std_logic                                                   --Write Enable\r
52 \r
53         );\r
54 end qt_proj_test5;\r
55 \r
56 architecture rtl of qt_proj_test5 is\r
57 \r
58     component clock_divider\r
59         port (  base_clk    : in std_logic;\r
60                 reset_n     : in std_logic;\r
61                 cpu_clk     : out std_logic;\r
62                 ppu_clk     : out std_logic;\r
63                 mem_clk     : out std_logic;\r
64                 vga_clk     : out std_logic\r
65             );\r
66     end component;\r
67 \r
68     component dummy_ppu\r
69         port (  ppu_clk     : in std_logic;\r
70                 rst_n       : in std_logic;\r
71                 pos_x       : out std_logic_vector (8 downto 0);\r
72                 pos_y       : out std_logic_vector (8 downto 0);\r
73                 nes_r       : out std_logic_vector (3 downto 0);\r
74                 nes_g       : out std_logic_vector (3 downto 0);\r
75                 nes_b       : out std_logic_vector (3 downto 0)\r
76         );\r
77     end component;\r
78 \r
79     component vga_clk_gen\r
80         PORT\r
81         (\r
82                 inclk0          : IN STD_LOGIC  := '0';\r
83                 c0              : OUT STD_LOGIC ;\r
84                 c1              : OUT STD_LOGIC \r
85         );\r
86     END component;\r
87 \r
88 signal pos_x       : std_logic_vector (8 downto 0);\r
89 signal pos_y       : std_logic_vector (8 downto 0);\r
90 signal nes_r       : std_logic_vector (3 downto 0);\r
91 signal nes_g       : std_logic_vector (3 downto 0);\r
92 signal nes_b       : std_logic_vector (3 downto 0);\r
93 \r
94 component vga_ctl\r
95     port (  ppu_clk     : in std_logic;\r
96             mem_clk     : in std_logic;\r
97             vga_clk     : in std_logic;\r
98             rst_n       : in std_logic;\r
99             pos_x       : in std_logic_vector (8 downto 0);\r
100             pos_y       : in std_logic_vector (8 downto 0);\r
101             nes_r       : in std_logic_vector (3 downto 0);\r
102             nes_g       : in std_logic_vector (3 downto 0);\r
103             nes_b       : in std_logic_vector (3 downto 0);\r
104             h_sync_n    : out std_logic;\r
105             v_sync_n    : out std_logic;\r
106             r           : out std_logic_vector(3 downto 0);\r
107             g           : out std_logic_vector(3 downto 0);\r
108             b           : out std_logic_vector(3 downto 0);\r
109             \r
110             --SDRAM Signals\r
111             wbs_adr_i   :       out std_logic_vector (21 downto 0);             --Address (Bank, Row, Col)\r
112             wbs_dat_i   :       out std_logic_vector (15 downto 0);             --Data In (16 bits)\r
113             wbs_we_i    :       out std_logic;                                                  --Write Enable\r
114             wbs_tga_i   :       out std_logic_vector (7 downto 0);              --Address Tag : Read/write burst length-1 (0 represents 1 word, FF represents 256 words)\r
115             wbs_cyc_i   :       out std_logic;                                                  --Cycle Command from interface\r
116             wbs_stb_i   :       out std_logic;                                                  --Strobe Command from interface\r
117             wbs_dat_o   :       in std_logic_vector (15 downto 0);              --Data Out (16 bits)\r
118             wbs_stall_o :       in std_logic;                                                   --Slave is not ready to receive new data\r
119             wbs_err_o   :       in std_logic;                                                   --Error flag: OOR Burst. Burst length is greater that 256-column address\r
120             wbs_ack_o   :       in std_logic                                                    --When Read Burst: DATA bus must be valid in this cycle\r
121     );\r
122 end component;\r
123 \r
124 component sdram_controller\r
125   generic\r
126            (\r
127                 reset_polarity_g        :       std_logic       := '0' --When rst = reset_polarity_g, system is in RESET mode\r
128                 );\r
129   port (\r
130                 --Clocks and Reset \r
131                 clk_i           :       in std_logic;   --Wishbone input clock\r
132                 rst                     :       in std_logic;   --Reset\r
133                 pll_locked      :       in std_logic;   --PLL Locked indication, for CKE (Clock Enable) signal to SDRAM\r
134                 \r
135                 --SDRAM Signals\r
136                 dram_addr       :       out std_logic_vector (11 downto 0);             --Address (12 bit)\r
137                 dram_bank       :       out std_logic_vector (1 downto 0);              --Bank\r
138                 dram_cas_n      :       out std_logic;                                                  --Column Address is being transmitted\r
139                 dram_cke        :       out std_logic;                                                  --Clock Enable\r
140                 dram_cs_n       :       out std_logic;                                                  --Chip Select (Here - Mask commands)\r
141                 dram_dq         :       inout std_logic_vector (15 downto 0);   --Data in / Data out\r
142                 dram_ldqm       :       out std_logic;                                                  --Byte masking\r
143                 dram_udqm       :       out std_logic;                                                  --Byte masking\r
144                 dram_ras_n      :       out std_logic;                                                  --Row Address is being transmitted\r
145                 dram_we_n       :       out std_logic;                                                  --Write Enable\r
146    \r
147                 -- Wishbone Slave signals to Read/Write interface\r
148                 wbs_adr_i       :       in std_logic_vector (21 downto 0);              --Address (Bank, Row, Col)\r
149                 wbs_dat_i       :       in std_logic_vector (15 downto 0);              --Data In (16 bits)\r
150                 wbs_we_i        :       in std_logic;                                                   --Write Enable\r
151                 wbs_tga_i       :       in std_logic_vector (7 downto 0);               --Address Tag : Read/write burst length-1 (0 represents 1 word, FF represents 256 words)\r
152                 wbs_cyc_i       :       in std_logic;                                                   --Cycle Command from interface\r
153                 wbs_stb_i       :       in std_logic;                                                   --Strobe Command from interface\r
154                 wbs_dat_o       :       out std_logic_vector (15 downto 0);             --Data Out (16 bits)\r
155                 wbs_stall_o     :       out std_logic;                                                  --Slave is not ready to receive new data\r
156                 wbs_err_o       :       out std_logic;                                                  --Error flag: OOR Burst. Burst length is greater that 256-column address\r
157                 wbs_ack_o       :       out std_logic;                                                  --When Read Burst: DATA bus must be valid in this cycle\r
158                                                                                                                                 --When Write Burst: Data has been read from SDRAM and is valid\r
159 \r
160                 --Debug signals\r
161                 cmd_ack         :       out std_logic;                                                  --Command has been acknowledged\r
162                 cmd_done        :       out std_logic;                                                  --Command has finished (read/write)\r
163                 init_st_o       :       out std_logic_vector (3 downto 0);              --Current init state\r
164                 main_st_o       :       out std_logic_vector (3 downto 0)               --Current main state\r
165    ); \r
166 end component;\r
167 \r
168     constant data_size : integer := 8;\r
169     constant addr_size : integer := 16;\r
170     constant size14    : integer := 14;\r
171 \r
172     signal cpu_clk  : std_logic;\r
173     signal ppu_clk  : std_logic;\r
174     signal mem_clk   : std_logic;\r
175     signal vga_clk   : std_logic;\r
176     signal vga_clk_pll, mem_clk_pll : std_logic;\r
177 \r
178     -- Wishbone Slave signals to Read/Write interface\r
179     signal wbs_adr_i    :       std_logic_vector (21 downto 0);         --Address (Bank, Row, Col)\r
180     signal wbs_dat_i    :       std_logic_vector (15 downto 0);         --Data In (16 bits)\r
181     signal wbs_we_i         :   std_logic;                                                      --Write Enable\r
182     signal wbs_tga_i    :       std_logic_vector (7 downto 0);          --Address Tag : Read/write burst length-1 (0 represents 1 word, FF represents 256 words)\r
183     signal wbs_cyc_i    :       std_logic;                                                      --Cycle Command from interface\r
184     signal wbs_stb_i    :       std_logic;                                                      --Strobe Command from interface\r
185     signal wbs_dat_o    :       std_logic_vector (15 downto 0);         --Data Out (16 bits)\r
186     signal wbs_stall_o  :       std_logic;                                                      --Slave is not ready to receive new data\r
187     signal wbs_err_o    :       std_logic;                                                      --Error flag: OOR Burst. Burst length is greater that 256-column address\r
188     signal wbs_ack_o    :       std_logic;                                                      --When Read Burst: DATA bus must be valid in this cycle\r
189                                                                 --When Write Burst: Data has been read from SDRAM and is valid\r
190 \r
191     --Debug signals\r
192     signal cmd_ack              :       std_logic;                                                      --Command has been acknowledged\r
193     signal cmd_done         :   std_logic;                                                      --Command has finished (read/write)\r
194     signal init_st_o    :       std_logic_vector (3 downto 0);          --Current init state\r
195     signal main_st_o    :       std_logic_vector (3 downto 0);          --Current main state\r
196 \r
197 begin\r
198     --ppu/cpu clock generator\r
199     clock_inst : clock_divider port map \r
200         (base_clk, rst_n, cpu_clk, ppu_clk, mem_clk, vga_clk);\r
201 \r
202     ppu_inst: dummy_ppu \r
203         port map (  ppu_clk     ,\r
204                 rst_n       ,\r
205                 pos_x       ,\r
206                 pos_y       ,\r
207                 nes_r       ,\r
208                 nes_g       ,\r
209                 nes_b       \r
210         );\r
211 \r
212         vga_clk_gen_inst : vga_clk_gen\r
213         PORT map\r
214         (\r
215             --mem_clk_pll = 135 MHz.\r
216             base_clk_27mhz, vga_clk_pll, mem_clk_pll\r
217         );\r
218 --    --- testbench pll clock..\r
219 --    dummy_clock_p: process\r
220 --    begin\r
221 --        mem_clk_pll <= '1';\r
222 --        wait for 7407 ps / 2;\r
223 --        mem_clk_pll <= '0';\r
224 --        wait for 7407 ps / 2;\r
225 --    end process;\r
226 \r
227     \r
228     vga_ctl_inst : vga_ctl\r
229     port map (  ppu_clk     ,\r
230             mem_clk_pll,\r
231             --vga_clk_pll, \r
232             --ppu_clk ,\r
233             vga_clk     ,\r
234             rst_n       ,\r
235             pos_x       ,\r
236             pos_y       ,\r
237             nes_r       ,\r
238             nes_g       ,\r
239             nes_b       ,\r
240             h_sync_n    ,\r
241             v_sync_n    ,\r
242             r           ,\r
243             g           ,\r
244             b           ,\r
245             \r
246             --SDRAM Signals\r
247             wbs_adr_i   ,\r
248             wbs_dat_i   ,\r
249             wbs_we_i    ,\r
250             wbs_tga_i   ,\r
251             wbs_cyc_i   ,\r
252             wbs_stb_i   ,\r
253             wbs_dat_o   ,\r
254             wbs_stall_o ,\r
255             wbs_err_o   ,\r
256             wbs_ack_o   \r
257     );\r
258 \r
259     dram_clk <= base_clk;\r
260 sdram_ctl_inst : sdram_controller\r
261   port map (\r
262                 --Clocks and Reset \r
263                 base_clk, \r
264                 rst_n, \r
265                 '1', --pll_locked       :       in std_logic;   --PLL Locked indication, for CKE (Clock Enable) signal to SDRAM\r
266                 \r
267                 --SDRAM Signals\r
268                 dram_addr       ,\r
269                 dram_bank       ,\r
270                 dram_cas_n      ,\r
271                 dram_cke        ,\r
272                 dram_cs_n       ,\r
273                 dram_dq         ,\r
274                 dram_ldqm       ,\r
275                 dram_udqm       ,\r
276                 dram_ras_n      ,\r
277                 dram_we_n       ,\r
278    \r
279                 -- Wishbone Slave signals to Read/Write interface\r
280                 wbs_adr_i       ,\r
281                 wbs_dat_i       ,\r
282                 wbs_we_i        ,\r
283                 wbs_tga_i       ,\r
284                 wbs_cyc_i       ,\r
285                 wbs_stb_i       ,\r
286                 wbs_dat_o       ,\r
287                 wbs_stall_o     ,\r
288                 wbs_err_o       ,\r
289                 wbs_ack_o       ,\r
290 \r
291                 --Debug signals\r
292                 cmd_ack         ,\r
293                 cmd_done        ,\r
294                 init_st_o       ,\r
295                 main_st_o       \r
296    ); \r
297 \r
298     \r
299     --    signal addr : std_logic_vector( addr_size - 1 downto 0);\r
300 --    signal d_io : std_logic_vector( data_size - 1 downto 0);\r
301 --\r
302 --component counter_register\r
303 --    generic (\r
304 --        dsize       : integer := 8;\r
305 --        inc         : integer := 1\r
306 --    );\r
307 --    port (  clk         : in std_logic;\r
308 --            rst_n       : in std_logic;\r
309 --            ce_n        : in std_logic;\r
310 --            we_n        : in std_logic;\r
311 --            d           : in std_logic_vector(dsize - 1 downto 0);\r
312 --            q           : out std_logic_vector(dsize - 1 downto 0)\r
313 --    );\r
314 --end component;\r
315 --\r
316 --component prg_rom\r
317 --    generic (abus_size : integer := 15; dbus_size : integer := 8);\r
318 --    port (  clk             : in std_logic;\r
319 --            ce_n           : in std_logic;   --select pin active low.\r
320 --            addr            : in std_logic_vector (abus_size - 1 downto 0);\r
321 --            data            : inout std_logic_vector (dbus_size - 1 downto 0)\r
322 --        );\r
323 --end component;\r
324 --\r
325 --component processor_status \r
326 --    generic (\r
327 --            dsize : integer := 8\r
328 --            );\r
329 --    port (  \r
330 --    signal dbg_dec_oe_n    : out std_logic;\r
331 --    signal dbg_dec_val     : out std_logic_vector (dsize - 1 downto 0);\r
332 --    signal dbg_int_dbus    : out std_logic_vector (dsize - 1 downto 0);\r
333 --    signal dbg_status_val    : out std_logic_vector (7 downto 0);\r
334 --    signal dbg_stat_we_n    : out std_logic;\r
335 --    \r
336 --            clk         : in std_logic;\r
337 --            res_n       : in std_logic;\r
338 --            dec_oe_n    : in std_logic;\r
339 --            bus_oe_n    : in std_logic;\r
340 --            set_flg_n   : in std_logic;\r
341 --            flg_val     : in std_logic;\r
342 --            load_bus_all_n      : in std_logic;\r
343 --            load_bus_nz_n       : in std_logic;\r
344 --            set_from_alu_n      : in std_logic;\r
345 --            alu_n       : in std_logic;\r
346 --            alu_v       : in std_logic;\r
347 --            alu_z       : in std_logic;\r
348 --            alu_c       : in std_logic;\r
349 --            stat_c      : out std_logic;\r
350 --            dec_val     : inout std_logic_vector (dsize - 1 downto 0);\r
351 --            int_dbus    : inout std_logic_vector (dsize - 1 downto 0)\r
352 --        );\r
353 --end component;\r
354 --\r
355 --    ---status register\r
356 --    signal status_reg, int_d_bus : std_logic_vector (7 downto 0);\r
357 --    signal stat_dec_oe_n : std_logic;\r
358 --    signal stat_bus_oe_n : std_logic;\r
359 --    signal stat_set_flg_n : std_logic;\r
360 --    signal stat_flg : std_logic;\r
361 --    signal stat_bus_all_n : std_logic;\r
362 --    signal stat_bus_nz_n : std_logic;\r
363 --    signal stat_alu_we_n : std_logic;\r
364 --    signal alu_n : std_logic;\r
365 --    signal alu_z : std_logic;\r
366 --    signal alu_c : std_logic;\r
367 --    signal alu_v : std_logic;\r
368 --    signal stat_c : std_logic;\r
369 --    signal trig_clk : std_logic;\r
370 --    \r
371 --    \r
372 --    \r
373 --    component alu_test\r
374 --    port (  \r
375 --        d1    : in std_logic_vector(7 downto 0);\r
376 --        d2    : in std_logic_vector(7 downto 0);\r
377 --        d_out    : out std_logic_vector(7 downto 0);\r
378 --        carry_clr_n : in std_logic;\r
379 --        ea_carry : out std_logic\r
380 --        );\r
381 --end component;\r
382 --\r
383 --    signal d1, d2, d_out : std_logic_vector (7 downto 0);\r
384 --    signal ea_carry, gate_n    : std_logic;\r
385 --        signal carry_clr_n : std_logic;\r
386 \r
387 \r
388     \r
389     \r
390 --    trig_clk <= not cpu_clk;\r
391 --\r
392 --    pcl_inst : counter_register generic map (16) port map\r
393 --        (cpu_clk, rst_n, '0', '1', (others => '0'), addr(15 downto 0));\r
394 --\r
395 --    rom_inst : prg_rom generic map (12, 8) port map\r
396 --        (base_clk, '0', addr(11 downto 0), d_io);\r
397 --\r
398 --    dbg_addr <= addr;\r
399 --    dbg_d_io <= d_io;\r
400 --\r
401 --    dbg_cpu_clk <= cpu_clk;\r
402 --    dbg_ppu_clk <= ppu_clk;\r
403 --\r
404 --    dbg_d1 <= d1;\r
405 --    dbg_d2 <= d2;\r
406 --    dbg_d_out <= d_out;\r
407 --    dbg_ea_carry <= ea_carry;\r
408 --    dbg_carry_clr_n <= carry_clr_n;\r
409 --    dbg_gate_n <= gate_n;\r
410 --    \r
411 --    dummy_alu : alu_test\r
412 --    port map (  \r
413 --        d1, d2, d_out, carry_clr_n , ea_carry\r
414 --        );\r
415 --\r
416 --        gate_n <= not ea_carry;\r
417 --    dec_test_p : process (rst_n, ea_carry, trig_clk)\r
418 --    begin\r
419 --        if (rst_n = '0') then\r
420 --            d1 <= "00000000";\r
421 --            d2 <= "00000000";\r
422 --            carry_clr_n <= '0';\r
423 --            --gate_n <= '1';\r
424 ----        elsif (ea_carry = '1') then\r
425 ----            gate_n <= '0';\r
426 ----            carry_clr_n <= '0';\r
427 --        elsif (rising_edge(trig_clk)) then\r
428 --            if (addr(5 downto 0) = "000001") then\r
429 --            --addr=01\r
430 --                carry_clr_n <= '1';\r
431 --                d1 <= "00010011";\r
432 --                d2 <= "01000111";\r
433 --                --gate_n <= '1';\r
434 --            elsif (addr(5 downto 0) = "000010") then\r
435 --            --addr=02\r
436 --                carry_clr_n <= '1';\r
437 --                d1 <= "00110011";\r
438 --                d2 <= "11001111";\r
439 --                --gate_n <= '1';\r
440 --            elsif (addr(5 downto 0) = "000011") then\r
441 --            --addr=03\r
442 --                carry_clr_n <= '1';\r
443 --                d1 <= "00001010";\r
444 --                d2 <= "01011001";\r
445 --                --gate_n <= '1';\r
446 --            elsif (addr(5 downto 0) = "000100") then\r
447 --            --addr=04\r
448 --                carry_clr_n <= '1';\r
449 --                d1 <= "10001010";\r
450 --                d2 <= "10011001";\r
451 --                --gate_n <= '1';\r
452 --            else\r
453 --                carry_clr_n <= '1';\r
454 --                d1 <= "00000000";\r
455 --                d2 <= "00000000";\r
456 --                --gate_n <= '1';\r
457 --            end if;\r
458 --        end if;\r
459 --    end process;\r
460 --\r
461 --\r
462 --    --status register\r
463 --    status_register : processor_status generic map (8) \r
464 --            port map (\r
465 --    dbg_dec_oe_n,\r
466 --    dbg_dec_val,\r
467 --    dbg_int_dbus,\r
468 --    dbg_status_val,\r
469 --    dbg_stat_we_n    ,\r
470 --                    trig_clk , rst_n, \r
471 --                    stat_dec_oe_n, stat_bus_oe_n, \r
472 --                    stat_set_flg_n, stat_flg, stat_bus_all_n, stat_bus_nz_n, \r
473 --                    stat_alu_we_n, alu_n, alu_v, alu_z, alu_c, stat_c,\r
474 --                    status_reg, int_d_bus);\r
475 --\r
476 --    dbg_status <= status_reg;\r
477 --    status_test_p : process (addr)\r
478 --    begin\r
479 --        if (addr(5 downto 0) = "000010") then\r
480 --        --addr=02\r
481 --        --set status(7) = '1'\r
482 --            stat_dec_oe_n <= '1';\r
483 --            stat_bus_oe_n <= '1';\r
484 --            stat_set_flg_n <= '0';\r
485 --            stat_flg <= '1';\r
486 --            stat_bus_all_n <= '1';\r
487 --            stat_bus_nz_n <= '1'; \r
488 --            stat_alu_we_n <= '1';\r
489 --            status_reg <= "01000000";\r
490 --            int_d_bus <= "00000000";\r
491 --\r
492 --        elsif (addr(5 downto 0) = "000100") then\r
493 --        --addr=04\r
494 --        --set status(2) = '0'\r
495 --            stat_dec_oe_n <= '1';\r
496 --            stat_bus_oe_n <= '1';\r
497 --            stat_set_flg_n <= '0';\r
498 --            stat_flg <= '0';\r
499 --            stat_bus_all_n <= '1';\r
500 --            stat_bus_nz_n <= '1'; \r
501 --            stat_alu_we_n <= '1';\r
502 --            status_reg <= "00000100";\r
503 --            int_d_bus <= "00000000";\r
504 --\r
505 --        elsif (addr(5 downto 0) = "000110") then\r
506 --        --addr=06\r
507 --        --set nz from bus, n=1\r
508 --            stat_dec_oe_n <= '1';\r
509 --            stat_bus_oe_n <= '1';\r
510 --            stat_set_flg_n <= '1';\r
511 --            stat_flg <= '0';\r
512 --            stat_bus_all_n <= '1';\r
513 --            stat_bus_nz_n <= '0'; \r
514 --            stat_alu_we_n <= '1';\r
515 --            status_reg <= (others => 'Z');\r
516 --            int_d_bus <= "10000000";\r
517 --\r
518 --        elsif (addr(5 downto 0) = "001000") then\r
519 --        --addr=08\r
520 --        --set nz from bus, z=1\r
521 --            stat_dec_oe_n <= '1';\r
522 --            stat_bus_oe_n <= '1';\r
523 --            stat_set_flg_n <= '1';\r
524 --            stat_flg <= '0';\r
525 --            stat_bus_all_n <= '1';\r
526 --            stat_bus_nz_n <= '0'; \r
527 --            stat_alu_we_n <= '1';\r
528 --            status_reg <= (others => 'Z');\r
529 --            int_d_bus <= "00000000";\r
530 --\r
531 --        else\r
532 --            stat_dec_oe_n <= '0';\r
533 --            stat_bus_oe_n <= '1';\r
534 --            stat_set_flg_n <= '1';\r
535 --            stat_flg <= '1';\r
536 --            stat_bus_all_n <= '1';\r
537 --            stat_bus_nz_n <= '1'; \r
538 --            stat_alu_we_n <= '1';\r
539 --            status_reg <= (others => 'Z');\r
540 --            int_d_bus <= (others => 'Z');\r
541 --        end if;\r
542 --    end process;\r
543 \r
544 end rtl;\r
545 \r