OpenCores
URL https://opencores.org/ocsvn/2d_game_console/2d_game_console/trunk

Subversion Repositories 2d_game_console

[/] [2d_game_console/] [trunk/] [Processor_ModelSim/] [Processor.v.bak] - Rev 2

Compare with Previous | Blame | View Log

// Copyright (C) 2017  Intel Corporation. All rights reserved.
// Your use of Intel Corporation's design tools, logic functions 
// and other software and tools, and its AMPP partner logic 
// functions, and any output files from any of the foregoing 
// (including device programming or simulation files), and any 
// associated documentation or information are expressly subject 
// to the terms and conditions of the Intel Program License 
// Subscription Agreement, the Intel Quartus Prime License Agreement,
// the Intel MegaCore Function License Agreement, or other 
// applicable license agreement, including, without limitation, 
// that your use is for the sole purpose of programming logic 
// devices manufactured by Intel and sold by Intel or its 
// authorized distributors.  Please refer to the applicable 
// agreement for further details.

// PROGRAM              "Quartus Prime"
// VERSION              "Version 17.0.0 Build 595 04/25/2017 SJ Lite Edition"
// CREATED              "Sun Jul 15 21:43:10 2018"

module Processor(
        clock,
        reset,
        testbench_vsync,
        testbench_PLL_clock,
        six_button_UP_Z,
        six_button_DOWN_Y,
        six_button_LEFT_X,
        six_button_RIGHT_MODE,
        six_button_B_A,
        six_button_C_START,
        SRAM_DQ,
        add_overflow,
        sub_overflow,
        compare_aeb,
        compare_agb,
        compare_alb,
        arbiter_grant_1,
        arbiter_grant_2,
        arbiter_grant_3,
        arbiter_wren,
        cpu_ram_wren,
        cpu_ram_req,
        cpu_const_bool,
        pic_mem_wren,
        pic_mem_req,
        pic_cpu_req,
        cpu_int_ack,
        pic_int_ack_0,
        cpu_v_sync_flag,
        VGA_CLK,
        VGA_HS,
        VGA_VS,
        VGA_BLANK,
        six_button_mem_wren,
        six_button_mem_req,
        six_button_v_sync_flag,
        six_button_int_req,
        SRAM_UB_N,
        SRAM_LB_N,
        SRAM_CE_N,
        SRAM_OE_N,
        SRAM_WE_N,
        arbiter_grant_0,
        sprite_reader_mem_wren,
        sprite_reader_mem_req,
        sprite_reader_line_flag,
        sprite_reader_cpu_sleep,
        six_button_SELECT,
        button_up,
        button_down,
        button_left,
        button_right,
        button_b,
        button_c,
        button_a,
        button_start,
        button_z,
        button_y,
        button_x,
        VGA_SYNC,
        add_result,
        arbiter_addr,
        arbiter_current_state,
        arbiter_data,
        arbiter_next_state,
        cpu_current_state,
        cpu_imm,
        cpu_int_program_counter,
        cpu_int_rflags,
        cpu_next_state,
        cpu_opcode,
        cpu_pc_stack,
        cpu_pc_stack_val,
        cpu_program_counter,
        cpu_ram_addr,
        cpu_ram_data,
        cpu_reg_a_num,
        cpu_reg_a_val,
        cpu_reg_b_num,
        cpu_reg_b_val,
        cpu_reg_c_num,
        cpu_reg_c_val,
        cpu_registers,
        cpu_rflags,
        cpu_rflags_index,
        cpu_rom_addr,
        cpu_sprite_color,
        cpu_sprite_id,
        cpu_sprite_level,
        cpu_sprite_x,
        cpu_sprite_y,
        cpu_stack_pointer,
        divide_quotient,
        divide_remain,
        mult_result,
        pic_current_state,
        pic_int_mask,
        pic_isr_addr,
        pic_mem_addr,
        pic_next_state,
        ram_q,
        rom_q,
        six_button_buttons,
        six_button_counter,
        six_button_current_state,
        six_button_mem_addr,
        six_button_mem_data,
        six_button_next_state,
        sprite_reader_EstadoAtual,
        sprite_reader_EstadoFuturo,
        sprite_reader_level_counter,
        sprite_reader_level_sprite_id,
        sprite_reader_level_sprite_y,
        sprite_reader_mem_addr,
        SRAM_ADDR,
        sub_result,
        VGA_B,
        VGA_G,
        VGA_h_pos,
        VGA_oAddress,
        VGA_R,
        VGA_v_pos
);


input wire      clock;
input wire      reset;
input wire      testbench_vsync;
input wire      testbench_PLL_clock;
input wire      six_button_UP_Z;
input wire      six_button_DOWN_Y;
input wire      six_button_LEFT_X;
input wire      six_button_RIGHT_MODE;
input wire      six_button_B_A;
input wire      six_button_C_START;
input wire      [15:0] SRAM_DQ;
output wire     add_overflow;
output wire     sub_overflow;
output wire     compare_aeb;
output wire     compare_agb;
output wire     compare_alb;
output wire     arbiter_grant_1;
output wire     arbiter_grant_2;
output wire     arbiter_grant_3;
output wire     arbiter_wren;
output wire     cpu_ram_wren;
output wire     cpu_ram_req;
output wire     cpu_const_bool;
output wire     pic_mem_wren;
output wire     pic_mem_req;
output wire     pic_cpu_req;
output wire     cpu_int_ack;
output wire     pic_int_ack_0;
output wire     cpu_v_sync_flag;
output wire     VGA_CLK;
output wire     VGA_HS;
output wire     VGA_VS;
output wire     VGA_BLANK;
output wire     six_button_mem_wren;
output wire     six_button_mem_req;
output wire     six_button_v_sync_flag;
output wire     six_button_int_req;
output wire     SRAM_UB_N;
output wire     SRAM_LB_N;
output wire     SRAM_CE_N;
output wire     SRAM_OE_N;
output wire     SRAM_WE_N;
output wire     arbiter_grant_0;
output wire     sprite_reader_mem_wren;
output wire     sprite_reader_mem_req;
output wire     sprite_reader_line_flag;
output wire     sprite_reader_cpu_sleep;
output wire     six_button_SELECT;
output wire     button_up;
output wire     button_down;
output wire     button_left;
output wire     button_right;
output wire     button_b;
output wire     button_c;
output wire     button_a;
output wire     button_start;
output wire     button_z;
output wire     button_y;
output wire     button_x;
output wire     VGA_SYNC;
output wire     [15:0] add_result;
output wire     [15:0] arbiter_addr;
output wire     [3:0] arbiter_current_state;
output wire     [15:0] arbiter_data;
output wire     [3:0] arbiter_next_state;
output wire     [5:0] cpu_current_state;
output wire     [15:0] cpu_imm;
output wire     [15:0] cpu_int_program_counter;
output wire     [7:0] cpu_int_rflags;
output wire     [5:0] cpu_next_state;
output wire     [5:0] cpu_opcode;
output wire     [127:0] cpu_pc_stack;
output wire     [15:0] cpu_pc_stack_val;
output wire     [15:0] cpu_program_counter;
output wire     [15:0] cpu_ram_addr;
output wire     [15:0] cpu_ram_data;
output wire     [4:0] cpu_reg_a_num;
output wire     [15:0] cpu_reg_a_val;
output wire     [4:0] cpu_reg_b_num;
output wire     [15:0] cpu_reg_b_val;
output wire     [4:0] cpu_reg_c_num;
output wire     [15:0] cpu_reg_c_val;
output wire     [511:0] cpu_registers;
output wire     [7:0] cpu_rflags;
output wire     [2:0] cpu_rflags_index;
output wire     [15:0] cpu_rom_addr;
output wire     [1023:0] cpu_sprite_color;
output wire     [383:0] cpu_sprite_id;
output wire     [5:0] cpu_sprite_level;
output wire     [639:0] cpu_sprite_x;
output wire     [639:0] cpu_sprite_y;
output wire     [2:0] cpu_stack_pointer;
output wire     [15:0] divide_quotient;
output wire     [15:0] divide_remain;
output wire     [31:0] mult_result;
output wire     [3:0] pic_current_state;
output wire     [15:0] pic_int_mask;
output wire     [15:0] pic_isr_addr;
output wire     [15:0] pic_mem_addr;
output wire     [3:0] pic_next_state;
output wire     [15:0] ram_q;
output wire     [31:0] rom_q;
output wire     [15:0] six_button_buttons;
output wire     [9:0] six_button_counter;
output wire     [3:0] six_button_current_state;
output wire     [15:0] six_button_mem_addr;
output wire     [15:0] six_button_mem_data;
output wire     [3:0] six_button_next_state;
output wire     [4:0] sprite_reader_EstadoAtual;
output wire     [4:0] sprite_reader_EstadoFuturo;
output wire     [6:0] sprite_reader_level_counter;
output wire     [5:0] sprite_reader_level_sprite_id;
output wire     [9:0] sprite_reader_level_sprite_y;
output wire     [15:0] sprite_reader_mem_addr;
output wire     [19:0] SRAM_ADDR;
output wire     [15:0] sub_result;
output wire     [7:0] VGA_B;
output wire     [7:0] VGA_G;
output wire     [9:0] VGA_h_pos;
output wire     [19:0] VGA_oAddress;
output wire     [7:0] VGA_R;
output wire     [9:0] VGA_v_pos;

wire    [15:0] buttons_bus;
wire    [15:0] SYNTHESIZED_WIRE_0;
wire    SYNTHESIZED_WIRE_80;
wire    [7:0] SYNTHESIZED_WIRE_2;
wire    [7:0] SYNTHESIZED_WIRE_3;
wire    [9:0] SYNTHESIZED_WIRE_81;
wire    [7:0] SYNTHESIZED_WIRE_5;
wire    [1023:0] SYNTHESIZED_WIRE_6;
wire    [383:0] SYNTHESIZED_WIRE_82;
wire    [1023:0] SYNTHESIZED_WIRE_8;
wire    [639:0] SYNTHESIZED_WIRE_9;
wire    [639:0] SYNTHESIZED_WIRE_83;
wire    [9:0] SYNTHESIZED_WIRE_84;
wire    SYNTHESIZED_WIRE_13;
wire    SYNTHESIZED_WIRE_14;
wire    SYNTHESIZED_WIRE_15;
wire    SYNTHESIZED_WIRE_16;
wire    SYNTHESIZED_WIRE_17;
wire    SYNTHESIZED_WIRE_18;
wire    SYNTHESIZED_WIRE_19;
wire    SYNTHESIZED_WIRE_20;
wire    [15:0] SYNTHESIZED_WIRE_21;
wire    [15:0] SYNTHESIZED_WIRE_22;
wire    [15:0] SYNTHESIZED_WIRE_23;
wire    [15:0] SYNTHESIZED_WIRE_24;
wire    [15:0] SYNTHESIZED_WIRE_25;
wire    [15:0] SYNTHESIZED_WIRE_26;
wire    [19:0] SYNTHESIZED_WIRE_27;
wire    SYNTHESIZED_WIRE_28;
wire    SYNTHESIZED_WIRE_29;
wire    SYNTHESIZED_WIRE_31;
wire    [15:0] SYNTHESIZED_WIRE_85;
wire    [15:0] SYNTHESIZED_WIRE_86;
wire    [15:0] SYNTHESIZED_WIRE_87;
wire    SYNTHESIZED_WIRE_35;
wire    SYNTHESIZED_WIRE_37;
wire    SYNTHESIZED_WIRE_88;
wire    SYNTHESIZED_WIRE_39;
wire    SYNTHESIZED_WIRE_40;
wire    SYNTHESIZED_WIRE_41;
wire    SYNTHESIZED_WIRE_42;
wire    SYNTHESIZED_WIRE_43;
wire    SYNTHESIZED_WIRE_44;
wire    [15:0] SYNTHESIZED_WIRE_45;
wire    [15:0] SYNTHESIZED_WIRE_46;
wire    [15:0] SYNTHESIZED_WIRE_47;
wire    [31:0] SYNTHESIZED_WIRE_48;
wire    [15:0] SYNTHESIZED_WIRE_49;
wire    [31:0] SYNTHESIZED_WIRE_50;
wire    [15:0] SYNTHESIZED_WIRE_52;
wire    SYNTHESIZED_WIRE_54;
wire    SYNTHESIZED_WIRE_60;
wire    [15:0] SYNTHESIZED_WIRE_61;
wire    [15:0] SYNTHESIZED_WIRE_62;
wire    SYNTHESIZED_WIRE_64;
wire    SYNTHESIZED_WIRE_66;
//wire  SYNTHESIZED_WIRE_73;
wire    [7:0] SYNTHESIZED_WIRE_75;
wire    [7:0] SYNTHESIZED_WIRE_76;
wire    [7:0] SYNTHESIZED_WIRE_77;

assign  add_overflow = SYNTHESIZED_WIRE_40;
assign  sub_overflow = SYNTHESIZED_WIRE_41;
assign  compare_aeb = SYNTHESIZED_WIRE_42;
assign  compare_agb = SYNTHESIZED_WIRE_43;
assign  compare_alb = SYNTHESIZED_WIRE_44;
assign  arbiter_grant_1 = SYNTHESIZED_WIRE_35;
assign  arbiter_grant_2 = SYNTHESIZED_WIRE_29;
assign  arbiter_grant_3 = SYNTHESIZED_WIRE_64;
assign  arbiter_wren = SYNTHESIZED_WIRE_60;
assign  cpu_ram_wren = SYNTHESIZED_WIRE_17;
assign  cpu_ram_req = SYNTHESIZED_WIRE_18;
assign  pic_mem_wren = SYNTHESIZED_WIRE_15;
assign  pic_mem_req = SYNTHESIZED_WIRE_16;
assign  pic_cpu_req = SYNTHESIZED_WIRE_37;
assign  cpu_int_ack = SYNTHESIZED_WIRE_28;
assign  pic_int_ack_0 = SYNTHESIZED_WIRE_66;
assign  VGA_VS = SYNTHESIZED_WIRE_88;
assign  six_button_mem_wren = SYNTHESIZED_WIRE_13;
assign  six_button_mem_req = SYNTHESIZED_WIRE_14;
assign  six_button_int_req = SYNTHESIZED_WIRE_31;
assign  arbiter_grant_0 = SYNTHESIZED_WIRE_54;
assign  sprite_reader_mem_wren = SYNTHESIZED_WIRE_19;
assign  sprite_reader_mem_req = SYNTHESIZED_WIRE_20;
assign  sprite_reader_cpu_sleep = SYNTHESIZED_WIRE_39;
assign  add_result = SYNTHESIZED_WIRE_45;
assign  arbiter_addr = SYNTHESIZED_WIRE_61;
assign  arbiter_data = SYNTHESIZED_WIRE_62;
assign  cpu_ram_addr = SYNTHESIZED_WIRE_22;
assign  cpu_ram_data = SYNTHESIZED_WIRE_25;
assign  cpu_reg_a_val = SYNTHESIZED_WIRE_86;
assign  cpu_reg_b_val = SYNTHESIZED_WIRE_87;
assign  cpu_rom_addr = SYNTHESIZED_WIRE_0;
assign  cpu_sprite_color = SYNTHESIZED_WIRE_6;
assign  cpu_sprite_id = SYNTHESIZED_WIRE_82;
assign  cpu_sprite_x = SYNTHESIZED_WIRE_9;
assign  cpu_sprite_y = SYNTHESIZED_WIRE_83;
assign  divide_quotient = SYNTHESIZED_WIRE_46;
assign  divide_remain = SYNTHESIZED_WIRE_47;
assign  mult_result = SYNTHESIZED_WIRE_50;
assign  pic_isr_addr = SYNTHESIZED_WIRE_49;
assign  pic_mem_addr = SYNTHESIZED_WIRE_23;
assign  ram_q = SYNTHESIZED_WIRE_85;
assign  rom_q = SYNTHESIZED_WIRE_48;
assign  six_button_mem_addr = SYNTHESIZED_WIRE_24;
assign  six_button_mem_data = SYNTHESIZED_WIRE_26;
assign  sprite_reader_mem_addr = SYNTHESIZED_WIRE_21;
assign  sub_result = SYNTHESIZED_WIRE_52;
assign  VGA_h_pos = SYNTHESIZED_WIRE_81;
assign  VGA_oAddress = SYNTHESIZED_WIRE_27;
assign  VGA_v_pos = SYNTHESIZED_WIRE_84;




IP_ROM_Program  b2v_inst(
        .clock(clock),
        .address(SYNTHESIZED_WIRE_0),
        .q(SYNTHESIZED_WIRE_48));


Sprite_Processor        b2v_inst1(
        .clk(clock),
        .rst(SYNTHESIZED_WIRE_80),
        .B_in(SYNTHESIZED_WIRE_2),
        .G_in(SYNTHESIZED_WIRE_3),
        .H_pos_in(SYNTHESIZED_WIRE_81),
        .R_in(SYNTHESIZED_WIRE_5),
        .sprite_color(SYNTHESIZED_WIRE_6),
        .sprite_id(SYNTHESIZED_WIRE_82),
        .sprite_shape(SYNTHESIZED_WIRE_8),
        .sprite_x(SYNTHESIZED_WIRE_9),
        .sprite_y(SYNTHESIZED_WIRE_83),
        .V_pos_in(SYNTHESIZED_WIRE_84),
        .B_out(SYNTHESIZED_WIRE_75),
        .G_out(SYNTHESIZED_WIRE_76),
        .R_out(SYNTHESIZED_WIRE_77));


Memory_Arbiter  b2v_inst10(
        .clock(clock),
        .reset(SYNTHESIZED_WIRE_80),
        
        
        
        
        
        
        
        
        .wren_3(SYNTHESIZED_WIRE_13),
        .req_3(SYNTHESIZED_WIRE_14),
        .wren_2(SYNTHESIZED_WIRE_15),
        .req_2(SYNTHESIZED_WIRE_16),
        .wren_1(SYNTHESIZED_WIRE_17),
        .req_1(SYNTHESIZED_WIRE_18),
        .wren_0(SYNTHESIZED_WIRE_19),
        .req_0(SYNTHESIZED_WIRE_20),
        .addr_0(SYNTHESIZED_WIRE_21),
        .addr_1(SYNTHESIZED_WIRE_22),
        .addr_2(SYNTHESIZED_WIRE_23),
        .addr_3(SYNTHESIZED_WIRE_24),
        
        
        
        
        
        .data_1(SYNTHESIZED_WIRE_25),
        
        .data_3(SYNTHESIZED_WIRE_26),
        
        
        
        
        
        
        
        
        .grant_3(SYNTHESIZED_WIRE_64),
        .grant_2(SYNTHESIZED_WIRE_29),
        .grant_1(SYNTHESIZED_WIRE_35),
        .grant_0(SYNTHESIZED_WIRE_54),
        .wren(SYNTHESIZED_WIRE_60),
        .addr(SYNTHESIZED_WIRE_61),
        .current_state(arbiter_current_state),
        .data(SYNTHESIZED_WIRE_62),
        .next_state(arbiter_next_state));
        defparam        b2v_inst10.Grant_0 = 4'b0001;
        defparam        b2v_inst10.Grant_1 = 4'b0010;
        defparam        b2v_inst10.Grant_2 = 4'b0011;
        defparam        b2v_inst10.Grant_3 = 4'b0100;
        defparam        b2v_inst10.Grant_4 = 4'b0101;
        defparam        b2v_inst10.Grant_5 = 4'b0110;
        defparam        b2v_inst10.Grant_6 = 4'b0111;
        defparam        b2v_inst10.Grant_7 = 4'b1000;
        defparam        b2v_inst10.Idle = 4'b0000;


SRAM_Interface  b2v_inst11(
        .iADDR(SYNTHESIZED_WIRE_27),
        .iDATA(SRAM_DQ),
        .oWE_N(SRAM_WE_N),
        .oOE_N(SRAM_OE_N),
        .oCE_N(SRAM_CE_N),
        .oLB_N(SRAM_LB_N),
        .oUB_N(SRAM_UB_N),
        .oADDR(SRAM_ADDR),
        .oBLUE(SYNTHESIZED_WIRE_2),
        .oGREEN(SYNTHESIZED_WIRE_3),
        .oRED(SYNTHESIZED_WIRE_5));


Interrupt_Controller    b2v_inst12(
        .cpu_ack(SYNTHESIZED_WIRE_28),
        .mem_grant(SYNTHESIZED_WIRE_29),
        .clock(clock),
        .reset(SYNTHESIZED_WIRE_80),
        .int_req_0(SYNTHESIZED_WIRE_31),
        
        
        
        .mem_q(SYNTHESIZED_WIRE_85),
        .mem_wren(SYNTHESIZED_WIRE_15),
        .mem_req(SYNTHESIZED_WIRE_16),
        .cpu_req(SYNTHESIZED_WIRE_37),
        .int_ack_0(SYNTHESIZED_WIRE_66),
        
        
        
        .current_state(pic_current_state),
        .int_mask(pic_int_mask),
        .isr_addr(SYNTHESIZED_WIRE_49),
        .mem_addr(SYNTHESIZED_WIRE_23),
        .next_state(pic_next_state));
        defparam        b2v_inst12.Get_Mask = 4'b0100;
        defparam        b2v_inst12.Idle = 4'b0000;
        defparam        b2v_inst12.Int_Req_0 = 4'b0101;
        defparam        b2v_inst12.Int_Req_1 = 4'b0110;
        defparam        b2v_inst12.Int_Req_2 = 4'b0111;
        defparam        b2v_inst12.Int_Req_3 = 4'b1000;
        defparam        b2v_inst12.Read_Mask = 4'b0001;
        defparam        b2v_inst12.Wait_Mem_1 = 4'b0010;
        defparam        b2v_inst12.Wait_Mem_2 = 4'b0011;
        defparam        b2v_inst12.Wait_Req_0 = 4'b1001;
        defparam        b2v_inst12.Wait_Req_1 = 4'b1010;
        defparam        b2v_inst12.Wait_Req_2 = 4'b1011;
        defparam        b2v_inst12.Wait_Req_3 = 4'b1100;


IP_PLL  b2v_inst17(
        .inclk0(clock);
        //.c0(SYNTHESIZED_WIRE_73));


IP_MULT b2v_inst2(
        .clock(clock),
        .dataa(SYNTHESIZED_WIRE_86),
        .datab(SYNTHESIZED_WIRE_87),
        .result(SYNTHESIZED_WIRE_50));


Processor_Controller    b2v_inst20(
        .ram_grant(SYNTHESIZED_WIRE_35),
        .clock(clock),
        .reset(SYNTHESIZED_WIRE_80),
        .int_req(SYNTHESIZED_WIRE_37),
        .v_sync(SYNTHESIZED_WIRE_88),
        .sleep(SYNTHESIZED_WIRE_39),
        .add_overflow(SYNTHESIZED_WIRE_40),
        .sub_overflow(SYNTHESIZED_WIRE_41),
        .compare_aeb(SYNTHESIZED_WIRE_42),
        .compare_agb(SYNTHESIZED_WIRE_43),
        .compare_alb(SYNTHESIZED_WIRE_44),
        .add_result(SYNTHESIZED_WIRE_45),
        .divide_quotient(SYNTHESIZED_WIRE_46),
        .divide_remain(SYNTHESIZED_WIRE_47),
        .instruction(SYNTHESIZED_WIRE_48),
        .isr_addr(SYNTHESIZED_WIRE_49),
        .mult_result(SYNTHESIZED_WIRE_50),
        .ram_q(SYNTHESIZED_WIRE_85),
        .sub_result(SYNTHESIZED_WIRE_52),
        .int_ack(SYNTHESIZED_WIRE_28),
        .const_bool(cpu_const_bool),
        .ram_wren(SYNTHESIZED_WIRE_17),
        .ram_req(SYNTHESIZED_WIRE_18),
        .v_sync_flag(cpu_v_sync_flag),
        .current_state(cpu_current_state),
        .imm(cpu_imm),
        .int_program_counter(cpu_int_program_counter),
        .int_rflags(cpu_int_rflags),
        .next_state(cpu_next_state),
        .opcode(cpu_opcode),
        .pc_stack(cpu_pc_stack),
        .pc_stack_val(cpu_pc_stack_val),
        .program_counter(cpu_program_counter),
        .ram_addr(SYNTHESIZED_WIRE_22),
        .ram_data(SYNTHESIZED_WIRE_25),
        .reg_a_num(cpu_reg_a_num),
        .reg_a_val(SYNTHESIZED_WIRE_86),
        .reg_b_num(cpu_reg_b_num),
        .reg_b_val(SYNTHESIZED_WIRE_87),
        .reg_c_num(cpu_reg_c_num),
        .reg_c_val(cpu_reg_c_val),
        .registers(cpu_registers),
        .rflags(cpu_rflags),
        .rflags_index(cpu_rflags_index),
        .rom_addr(SYNTHESIZED_WIRE_0),
        .sprite_color(SYNTHESIZED_WIRE_6),
        .sprite_id(SYNTHESIZED_WIRE_82),
        .sprite_level(cpu_sprite_level),
        .sprite_x(SYNTHESIZED_WIRE_9),
        .sprite_y(SYNTHESIZED_WIRE_83),
        .stack_pointer(cpu_stack_pointer));
        defparam        b2v_inst20.ADD = 6'b001000;
        defparam        b2v_inst20.AND = 6'b001100;
        defparam        b2v_inst20.BRFL = 6'b011100;
        defparam        b2v_inst20.BRFLR = 6'b011101;
        defparam        b2v_inst20.CALL = 6'b011111;
        defparam        b2v_inst20.CALLR = 6'b100000;
        defparam        b2v_inst20.CMP = 6'b001110;
        defparam        b2v_inst20.code_start_addr = 16'b0000000000000100;
        defparam        b2v_inst20.Decode_Instruction = 6'b000010;
        defparam        b2v_inst20.DIV = 6'b001011;
        defparam        b2v_inst20.Inc_Program_Counter = 6'b100011;
        defparam        b2v_inst20.Int_Req_Wait = 6'b100100;
        defparam        b2v_inst20.Interrupt = 6'b100101;
        defparam        b2v_inst20.IRET = 6'b100110;
        defparam        b2v_inst20.JMP = 6'b011010;
        defparam        b2v_inst20.JR = 6'b011011;
        defparam        b2v_inst20.LIMM = 6'b010011;
        defparam        b2v_inst20.LW_Begin = 6'b010100;
        defparam        b2v_inst20.LW_End = 6'b010111;
        defparam        b2v_inst20.LW_Wait_1 = 6'b010101;
        defparam        b2v_inst20.LW_Wait_2 = 6'b010110;
        defparam        b2v_inst20.MUL = 6'b001010;
        defparam        b2v_inst20.NOP = 6'b011110;
        defparam        b2v_inst20.NOT = 6'b001111;
        defparam        b2v_inst20.opcode_add = 6'b010001;
        defparam        b2v_inst20.opcode_and = 6'b100001;
        defparam        b2v_inst20.opcode_brfl = 6'b101010;
        defparam        b2v_inst20.opcode_brflr = 6'b011010;
        defparam        b2v_inst20.opcode_call = 6'b101011;
        defparam        b2v_inst20.opcode_callr = 6'b011011;
        defparam        b2v_inst20.opcode_cmp = 6'b100100;
        defparam        b2v_inst20.opcode_div = 6'b010101;
        defparam        b2v_inst20.opcode_iret = 6'b101101;
        defparam        b2v_inst20.opcode_jmp = 6'b101001;
        defparam        b2v_inst20.opcode_jr = 6'b011001;
        defparam        b2v_inst20.opcode_limm = 6'b001100;
        defparam        b2v_inst20.opcode_lw = 6'b001001;
        defparam        b2v_inst20.opcode_mul = 6'b010100;
        defparam        b2v_inst20.opcode_nop = 6'b101110;
        defparam        b2v_inst20.opcode_not = 6'b100101;
        defparam        b2v_inst20.opcode_or = 6'b100010;
        defparam        b2v_inst20.opcode_ret = 6'b101100;
        defparam        b2v_inst20.opcode_sprite_color = 6'b110010;
        defparam        b2v_inst20.opcode_sprite_id = 6'b110001;
        defparam        b2v_inst20.opcode_sprite_pos = 6'b110100;
        defparam        b2v_inst20.opcode_sub = 6'b010010;
        defparam        b2v_inst20.opcode_sw = 6'b001010;
        defparam        b2v_inst20.opcode_wait_vsync = 6'b110111;
        defparam        b2v_inst20.OR = 6'b001101;
        defparam        b2v_inst20.Reset = 6'b000000;
        defparam        b2v_inst20.RET = 6'b100001;
        defparam        b2v_inst20.SPRITE_COLOR = 6'b010001;
        defparam        b2v_inst20.SPRITE_ID = 6'b010000;
        defparam        b2v_inst20.SPRITE_POS = 6'b010010;
        defparam        b2v_inst20.SUB = 6'b001001;
        defparam        b2v_inst20.SW_Begin = 6'b011000;
        defparam        b2v_inst20.SW_End = 6'b011001;
        defparam        b2v_inst20.Wait_DIV_1 = 6'b000100;
        defparam        b2v_inst20.Wait_DIV_2 = 6'b000101;
        defparam        b2v_inst20.Wait_DIV_3 = 6'b000110;
        defparam        b2v_inst20.Wait_DIV_4 = 6'b000111;
        defparam        b2v_inst20.Wait_Operation = 6'b000011;
        defparam        b2v_inst20.Wait_Program_Mem_1 = 6'b000001;
        defparam        b2v_inst20.WAIT_VSYNC = 6'b100010;


Sprite_Shape_Reader     b2v_inst21(
        .clock(clock),
        .reset(SYNTHESIZED_WIRE_80),
        .mem_grant(SYNTHESIZED_WIRE_54),
        .H_pos(SYNTHESIZED_WIRE_81),
        .mem_q(SYNTHESIZED_WIRE_85),
        .sprite_id(SYNTHESIZED_WIRE_82),
        .sprite_y(SYNTHESIZED_WIRE_83),
        .V_pos(SYNTHESIZED_WIRE_84),
        .mem_wren(SYNTHESIZED_WIRE_19),
        .mem_req(SYNTHESIZED_WIRE_20),
        .line_flag(sprite_reader_line_flag),
        .cpu_sleep(SYNTHESIZED_WIRE_39),
        .EstadoAtual(sprite_reader_EstadoAtual),
        .EstadoFuturo(sprite_reader_EstadoFuturo),
        .level_counter(sprite_reader_level_counter),
        .level_sprite_id(sprite_reader_level_sprite_id),
        .level_sprite_y(sprite_reader_level_sprite_y),
        
        
        .mem_addr(SYNTHESIZED_WIRE_21),
        .sprite_shape(SYNTHESIZED_WIRE_8));
        defparam        b2v_inst21.Change_Level = 5'b01000;
        defparam        b2v_inst21.Change_Line = 5'b00010;
        defparam        b2v_inst21.Get_Level_Info = 5'b00011;
        defparam        b2v_inst21.line_A = 1'b0;
        defparam        b2v_inst21.line_B = 1'b1;
        defparam        b2v_inst21.Read_Shape = 5'b00111;
        defparam        b2v_inst21.Reset = 5'b00000;
        defparam        b2v_inst21.Set_Shape_Address = 5'b00100;
        defparam        b2v_inst21.Wait_Line = 5'b00001;
        defparam        b2v_inst21.Wait_Mem_1 = 5'b00101;
        defparam        b2v_inst21.Wait_Mem_2 = 5'b00110;


IP_RAM_Data     b2v_inst22(
        .clock(clock),
        .wren(SYNTHESIZED_WIRE_60),
        .address(SYNTHESIZED_WIRE_61),
        .data(SYNTHESIZED_WIRE_62),
        .q(SYNTHESIZED_WIRE_85));


Genesis_6button_Interface       b2v_inst3(
        .clock(clock),
        .reset(SYNTHESIZED_WIRE_80),
        .mem_grant(SYNTHESIZED_WIRE_64),
        .up_z(six_button_UP_Z),
        .down_y(six_button_DOWN_Y),
        .left_x(six_button_LEFT_X),
        .right_mode(six_button_RIGHT_MODE),
        .b_a(six_button_B_A),
        .c_start(six_button_C_START),
        .v_sync(SYNTHESIZED_WIRE_88),
        .int_ack(SYNTHESIZED_WIRE_66),
        .mem_wren(SYNTHESIZED_WIRE_13),
        .mem_req(SYNTHESIZED_WIRE_14),
        .select(six_button_SELECT),
        .v_sync_flag(six_button_v_sync_flag),
        .int_req(SYNTHESIZED_WIRE_31),
        .buttons(buttons_bus),
        .counter(six_button_counter),
        .current_state(six_button_current_state),
        .mem_addr(SYNTHESIZED_WIRE_24),
        .mem_data(SYNTHESIZED_WIRE_26),
        .next_state(six_button_next_state));
        defparam        b2v_inst3.Int_Req = 4'b1100;
        defparam        b2v_inst3.Reset = 4'b0000;
        defparam        b2v_inst3.Step_0 = 4'b0010;
        defparam        b2v_inst3.Step_1 = 4'b0011;
        defparam        b2v_inst3.Step_2 = 4'b0100;
        defparam        b2v_inst3.Step_3 = 4'b0101;
        defparam        b2v_inst3.Step_4 = 4'b0110;
        defparam        b2v_inst3.Step_5 = 4'b0111;
        defparam        b2v_inst3.Step_6 = 4'b1000;
        defparam        b2v_inst3.Step_7 = 4'b1001;
        defparam        b2v_inst3.Wait_Frame = 4'b0001;
        defparam        b2v_inst3.Wait_Mem = 4'b1011;
        defparam        b2v_inst3.Write_Data = 4'b1010;


Reset_Synchronizer      b2v_inst4(
        .clock(clock),
        .reset_in(reset),
        .reset_out(SYNTHESIZED_WIRE_80));


IP_ADD  b2v_inst5(
        .clock(clock),
        .dataa(SYNTHESIZED_WIRE_86),
        .datab(SYNTHESIZED_WIRE_87),
        .overflow(SYNTHESIZED_WIRE_40),
        .result(SYNTHESIZED_WIRE_45));


IP_SUB  b2v_inst6(
        .clock(clock),
        .dataa(SYNTHESIZED_WIRE_86),
        .datab(SYNTHESIZED_WIRE_87),
        .overflow(SYNTHESIZED_WIRE_41),
        .result(SYNTHESIZED_WIRE_52));


IP_DIVIDE       b2v_inst7(
        .clock(clock),
        .denom(SYNTHESIZED_WIRE_87),
        .numer(SYNTHESIZED_WIRE_86),
        .quotient(SYNTHESIZED_WIRE_46),
        .remain(SYNTHESIZED_WIRE_47));


VGA_Interface   b2v_inst8(
        .clk(testbench_PLL_clock),
        .rst(SYNTHESIZED_WIRE_80),
        .B_in(SYNTHESIZED_WIRE_75),
        .G_in(SYNTHESIZED_WIRE_76),
        .R_in(SYNTHESIZED_WIRE_77),
        .BLANK(VGA_BLANK),
        .VGA_SYNC(VGA_SYNC),
        .VGA_CLK(VGA_CLK),
        .HS(VGA_HS),
        .VS(SYNTHESIZED_WIRE_88),
        .B(VGA_B),
        .G(VGA_G),
        .h_pos(SYNTHESIZED_WIRE_81),
        .oAddress(SYNTHESIZED_WIRE_27),
        .R(VGA_R),
        .v_pos(SYNTHESIZED_WIRE_84));
        defparam        b2v_inst8.H_BACK = 48;
        defparam        b2v_inst8.H_DISPLAY = 640;
        defparam        b2v_inst8.H_FRONT = 16;
        defparam        b2v_inst8.H_SYNC = 96;
        defparam        b2v_inst8.V_BACK = 33;
        defparam        b2v_inst8.V_DISPLAY = 480;
        defparam        b2v_inst8.V_FRONT = 10;
        defparam        b2v_inst8.V_SYNC = 2;


IP_COMPARE      b2v_inst9(
        .clock(clock),
        .dataa(SYNTHESIZED_WIRE_86),
        .datab(SYNTHESIZED_WIRE_87),
        .aeb(SYNTHESIZED_WIRE_42),
        .agb(SYNTHESIZED_WIRE_43),
        .alb(SYNTHESIZED_WIRE_44));

assign  button_up = buttons_bus[0];
assign  button_down = buttons_bus[1];
assign  button_left = buttons_bus[2];
assign  button_right = buttons_bus[3];
assign  button_b = buttons_bus[4];
assign  button_c = buttons_bus[5];
assign  button_a = buttons_bus[6];
assign  button_start = buttons_bus[7];
assign  button_z = buttons_bus[8];
assign  button_y = buttons_bus[9];
assign  button_x = buttons_bus[10];
assign  six_button_buttons = buttons_bus;

endmodule

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.