URL
https://opencores.org/ocsvn/2d_game_console/2d_game_console/trunk
Subversion Repositories 2d_game_console
[/] [2d_game_console/] [trunk/] [Processor_Quartus/] [Processor_Controller.bsf] - Rev 2
Compare with Previous | Blame | View Log
/*
WARNING: Do NOT edit the input and output ports in this file in a text
editor if you plan to continue editing the block that represents it in
the Block Editor! File corruption is VERY likely to occur.
*/
/*
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.
*/
(header "symbol" (version "1.1"))
(symbol
(rect 16 16 304 576)
(text "Processor_Controller" (rect 5 0 89 12)(font "Arial" ))
(text "inst" (rect 8 544 20 556)(font "Arial" ))
(port
(pt 0 32)
(input)
(text "ram_grant" (rect 0 0 42 12)(font "Arial" ))
(text "ram_grant" (rect 21 27 63 39)(font "Arial" ))
(line (pt 0 32)(pt 16 32)(line_width 1))
)
(port
(pt 0 48)
(input)
(text "instruction[31..0]" (rect 0 0 62 12)(font "Arial" ))
(text "instruction[31..0]" (rect 21 43 83 55)(font "Arial" ))
(line (pt 0 48)(pt 16 48)(line_width 3))
)
(port
(pt 0 64)
(input)
(text "clock" (rect 0 0 20 12)(font "Arial" ))
(text "clock" (rect 21 59 41 71)(font "Arial" ))
(line (pt 0 64)(pt 16 64)(line_width 1))
)
(port
(pt 0 80)
(input)
(text "reset" (rect 0 0 20 12)(font "Arial" ))
(text "reset" (rect 21 75 41 87)(font "Arial" ))
(line (pt 0 80)(pt 16 80)(line_width 1))
)
(port
(pt 0 96)
(input)
(text "isr_addr[15..0]" (rect 0 0 56 12)(font "Arial" ))
(text "isr_addr[15..0]" (rect 21 91 77 103)(font "Arial" ))
(line (pt 0 96)(pt 16 96)(line_width 3))
)
(port
(pt 0 112)
(input)
(text "int_req" (rect 0 0 27 12)(font "Arial" ))
(text "int_req" (rect 21 107 48 119)(font "Arial" ))
(line (pt 0 112)(pt 16 112)(line_width 1))
)
(port
(pt 0 128)
(input)
(text "v_sync" (rect 0 0 31 12)(font "Arial" ))
(text "v_sync" (rect 21 123 52 135)(font "Arial" ))
(line (pt 0 128)(pt 16 128)(line_width 1))
)
(port
(pt 0 144)
(input)
(text "sleep" (rect 0 0 20 12)(font "Arial" ))
(text "sleep" (rect 21 139 41 151)(font "Arial" ))
(line (pt 0 144)(pt 16 144)(line_width 1))
)
(port
(pt 0 160)
(input)
(text "ram_q[15..0]" (rect 0 0 50 12)(font "Arial" ))
(text "ram_q[15..0]" (rect 21 155 71 167)(font "Arial" ))
(line (pt 0 160)(pt 16 160)(line_width 3))
)
(port
(pt 0 176)
(input)
(text "add_overflow" (rect 0 0 54 12)(font "Arial" ))
(text "add_overflow" (rect 21 171 75 183)(font "Arial" ))
(line (pt 0 176)(pt 16 176)(line_width 1))
)
(port
(pt 0 192)
(input)
(text "add_result[15..0]" (rect 0 0 64 12)(font "Arial" ))
(text "add_result[15..0]" (rect 21 187 85 199)(font "Arial" ))
(line (pt 0 192)(pt 16 192)(line_width 3))
)
(port
(pt 0 208)
(input)
(text "sub_overflow" (rect 0 0 54 12)(font "Arial" ))
(text "sub_overflow" (rect 21 203 75 215)(font "Arial" ))
(line (pt 0 208)(pt 16 208)(line_width 1))
)
(port
(pt 0 224)
(input)
(text "sub_result[15..0]" (rect 0 0 64 12)(font "Arial" ))
(text "sub_result[15..0]" (rect 21 219 85 231)(font "Arial" ))
(line (pt 0 224)(pt 16 224)(line_width 3))
)
(port
(pt 0 240)
(input)
(text "mult_result[31..0]" (rect 0 0 67 12)(font "Arial" ))
(text "mult_result[31..0]" (rect 21 235 88 247)(font "Arial" ))
(line (pt 0 240)(pt 16 240)(line_width 3))
)
(port
(pt 0 256)
(input)
(text "divide_quotient[15..0]" (rect 0 0 81 12)(font "Arial" ))
(text "divide_quotient[15..0]" (rect 21 251 102 263)(font "Arial" ))
(line (pt 0 256)(pt 16 256)(line_width 3))
)
(port
(pt 0 272)
(input)
(text "divide_remain[15..0]" (rect 0 0 79 12)(font "Arial" ))
(text "divide_remain[15..0]" (rect 21 267 100 279)(font "Arial" ))
(line (pt 0 272)(pt 16 272)(line_width 3))
)
(port
(pt 0 288)
(input)
(text "compare_aeb" (rect 0 0 55 12)(font "Arial" ))
(text "compare_aeb" (rect 21 283 76 295)(font "Arial" ))
(line (pt 0 288)(pt 16 288)(line_width 1))
)
(port
(pt 0 304)
(input)
(text "compare_agb" (rect 0 0 55 12)(font "Arial" ))
(text "compare_agb" (rect 21 299 76 311)(font "Arial" ))
(line (pt 0 304)(pt 16 304)(line_width 1))
)
(port
(pt 0 320)
(input)
(text "compare_alb" (rect 0 0 51 12)(font "Arial" ))
(text "compare_alb" (rect 21 315 72 327)(font "Arial" ))
(line (pt 0 320)(pt 16 320)(line_width 1))
)
(port
(pt 288 32)
(output)
(text "int_ack" (rect 0 0 28 12)(font "Arial" ))
(text "int_ack" (rect 239 27 267 39)(font "Arial" ))
(line (pt 288 32)(pt 272 32)(line_width 1))
)
(port
(pt 288 48)
(output)
(text "rom_addr[15..0]" (rect 0 0 63 12)(font "Arial" ))
(text "rom_addr[15..0]" (rect 204 43 267 55)(font "Arial" ))
(line (pt 288 48)(pt 272 48)(line_width 3))
)
(port
(pt 288 64)
(output)
(text "opcode[5..0]" (rect 0 0 48 12)(font "Arial" ))
(text "opcode[5..0]" (rect 219 59 267 71)(font "Arial" ))
(line (pt 288 64)(pt 272 64)(line_width 3))
)
(port
(pt 288 80)
(output)
(text "reg_a_num[4..0]" (rect 0 0 68 12)(font "Arial" ))
(text "reg_a_num[4..0]" (rect 199 75 267 87)(font "Arial" ))
(line (pt 288 80)(pt 272 80)(line_width 3))
)
(port
(pt 288 96)
(output)
(text "reg_b_num[4..0]" (rect 0 0 68 12)(font "Arial" ))
(text "reg_b_num[4..0]" (rect 199 91 267 103)(font "Arial" ))
(line (pt 288 96)(pt 272 96)(line_width 3))
)
(port
(pt 288 112)
(output)
(text "reg_c_num[4..0]" (rect 0 0 68 12)(font "Arial" ))
(text "reg_c_num[4..0]" (rect 199 107 267 119)(font "Arial" ))
(line (pt 288 112)(pt 272 112)(line_width 3))
)
(port
(pt 288 128)
(output)
(text "imm[15..0]" (rect 0 0 41 12)(font "Arial" ))
(text "imm[15..0]" (rect 226 123 267 135)(font "Arial" ))
(line (pt 288 128)(pt 272 128)(line_width 3))
)
(port
(pt 288 144)
(output)
(text "rflags_index[2..0]" (rect 0 0 68 12)(font "Arial" ))
(text "rflags_index[2..0]" (rect 199 139 267 151)(font "Arial" ))
(line (pt 288 144)(pt 272 144)(line_width 3))
)
(port
(pt 288 160)
(output)
(text "const_bool" (rect 0 0 42 12)(font "Arial" ))
(text "const_bool" (rect 225 155 267 167)(font "Arial" ))
(line (pt 288 160)(pt 272 160)(line_width 1))
)
(port
(pt 288 176)
(output)
(text "sprite_level[5..0]" (rect 0 0 64 12)(font "Arial" ))
(text "sprite_level[5..0]" (rect 203 171 267 183)(font "Arial" ))
(line (pt 288 176)(pt 272 176)(line_width 3))
)
(port
(pt 288 192)
(output)
(text "sprite_id[383..0]" (rect 0 0 62 12)(font "Arial" ))
(text "sprite_id[383..0]" (rect 205 187 267 199)(font "Arial" ))
(line (pt 288 192)(pt 272 192)(line_width 3))
)
(port
(pt 288 208)
(output)
(text "sprite_x[639..0]" (rect 0 0 61 12)(font "Arial" ))
(text "sprite_x[639..0]" (rect 206 203 267 215)(font "Arial" ))
(line (pt 288 208)(pt 272 208)(line_width 3))
)
(port
(pt 288 224)
(output)
(text "sprite_y[639..0]" (rect 0 0 62 12)(font "Arial" ))
(text "sprite_y[639..0]" (rect 205 219 267 231)(font "Arial" ))
(line (pt 288 224)(pt 272 224)(line_width 3))
)
(port
(pt 288 240)
(output)
(text "sprite_color[1023..0]" (rect 0 0 79 12)(font "Arial" ))
(text "sprite_color[1023..0]" (rect 188 235 267 247)(font "Arial" ))
(line (pt 288 240)(pt 272 240)(line_width 3))
)
(port
(pt 288 256)
(output)
(text "ram_addr[15..0]" (rect 0 0 63 12)(font "Arial" ))
(text "ram_addr[15..0]" (rect 204 251 267 263)(font "Arial" ))
(line (pt 288 256)(pt 272 256)(line_width 3))
)
(port
(pt 288 272)
(output)
(text "ram_data[15..0]" (rect 0 0 62 12)(font "Arial" ))
(text "ram_data[15..0]" (rect 205 267 267 279)(font "Arial" ))
(line (pt 288 272)(pt 272 272)(line_width 3))
)
(port
(pt 288 288)
(output)
(text "ram_wren" (rect 0 0 41 12)(font "Arial" ))
(text "ram_wren" (rect 226 283 267 295)(font "Arial" ))
(line (pt 288 288)(pt 272 288)(line_width 1))
)
(port
(pt 288 304)
(output)
(text "ram_req" (rect 0 0 35 12)(font "Arial" ))
(text "ram_req" (rect 232 299 267 311)(font "Arial" ))
(line (pt 288 304)(pt 272 304)(line_width 1))
)
(port
(pt 288 320)
(output)
(text "reg_c_val[15..0]" (rect 0 0 64 12)(font "Arial" ))
(text "reg_c_val[15..0]" (rect 203 315 267 327)(font "Arial" ))
(line (pt 288 320)(pt 272 320)(line_width 3))
)
(port
(pt 288 336)
(output)
(text "reg_b_val[15..0]" (rect 0 0 64 12)(font "Arial" ))
(text "reg_b_val[15..0]" (rect 203 331 267 343)(font "Arial" ))
(line (pt 288 336)(pt 272 336)(line_width 3))
)
(port
(pt 288 352)
(output)
(text "reg_a_val[15..0]" (rect 0 0 64 12)(font "Arial" ))
(text "reg_a_val[15..0]" (rect 203 347 267 359)(font "Arial" ))
(line (pt 288 352)(pt 272 352)(line_width 3))
)
(port
(pt 288 368)
(output)
(text "current_state[5..0]" (rect 0 0 73 12)(font "Arial" ))
(text "current_state[5..0]" (rect 194 363 267 375)(font "Arial" ))
(line (pt 288 368)(pt 272 368)(line_width 3))
)
(port
(pt 288 384)
(output)
(text "next_state[5..0]" (rect 0 0 61 12)(font "Arial" ))
(text "next_state[5..0]" (rect 206 379 267 391)(font "Arial" ))
(line (pt 288 384)(pt 272 384)(line_width 3))
)
(port
(pt 288 400)
(output)
(text "program_counter[15..0]" (rect 0 0 93 12)(font "Arial" ))
(text "program_counter[15..0]" (rect 174 395 267 407)(font "Arial" ))
(line (pt 288 400)(pt 272 400)(line_width 3))
)
(port
(pt 288 416)
(output)
(text "registers[511..0]" (rect 0 0 61 12)(font "Arial" ))
(text "registers[511..0]" (rect 206 411 267 423)(font "Arial" ))
(line (pt 288 416)(pt 272 416)(line_width 3))
)
(port
(pt 288 432)
(output)
(text "rflags[7..0]" (rect 0 0 42 12)(font "Arial" ))
(text "rflags[7..0]" (rect 225 427 267 439)(font "Arial" ))
(line (pt 288 432)(pt 272 432)(line_width 3))
)
(port
(pt 288 448)
(output)
(text "v_sync_flag" (rect 0 0 51 12)(font "Arial" ))
(text "v_sync_flag" (rect 216 443 267 455)(font "Arial" ))
(line (pt 288 448)(pt 272 448)(line_width 1))
)
(port
(pt 288 464)
(output)
(text "stack_pointer[2..0]" (rect 0 0 73 12)(font "Arial" ))
(text "stack_pointer[2..0]" (rect 194 459 267 471)(font "Arial" ))
(line (pt 288 464)(pt 272 464)(line_width 3))
)
(port
(pt 288 480)
(output)
(text "pc_stack[127..0]" (rect 0 0 64 12)(font "Arial" ))
(text "pc_stack[127..0]" (rect 203 475 267 487)(font "Arial" ))
(line (pt 288 480)(pt 272 480)(line_width 3))
)
(port
(pt 288 496)
(output)
(text "pc_stack_val[15..0]" (rect 0 0 77 12)(font "Arial" ))
(text "pc_stack_val[15..0]" (rect 190 491 267 503)(font "Arial" ))
(line (pt 288 496)(pt 272 496)(line_width 3))
)
(port
(pt 288 512)
(output)
(text "int_program_counter[15..0]" (rect 0 0 107 12)(font "Arial" ))
(text "int_program_counter[15..0]" (rect 160 507 267 519)(font "Arial" ))
(line (pt 288 512)(pt 272 512)(line_width 3))
)
(port
(pt 288 528)
(output)
(text "int_rflags[7..0]" (rect 0 0 56 12)(font "Arial" ))
(text "int_rflags[7..0]" (rect 211 523 267 535)(font "Arial" ))
(line (pt 288 528)(pt 272 528)(line_width 3))
)
(parameter
"code_start_addr"
"0000000000000100"
""
(type "PARAMETER_UNSIGNED_BIN") )
(parameter
"opcode_lw"
"001001"
""
(type "PARAMETER_UNSIGNED_BIN") )
(parameter
"opcode_sw"
"001010"
""
(type "PARAMETER_UNSIGNED_BIN") )
(parameter
"opcode_limm"
"001100"
""
(type "PARAMETER_UNSIGNED_BIN") )
(parameter
"opcode_add"
"010001"
""
(type "PARAMETER_UNSIGNED_BIN") )
(parameter
"opcode_sub"
"010010"
""
(type "PARAMETER_UNSIGNED_BIN") )
(parameter
"opcode_mul"
"010100"
""
(type "PARAMETER_UNSIGNED_BIN") )
(parameter
"opcode_div"
"010101"
""
(type "PARAMETER_UNSIGNED_BIN") )
(parameter
"opcode_and"
"100001"
""
(type "PARAMETER_UNSIGNED_BIN") )
(parameter
"opcode_or"
"100010"
""
(type "PARAMETER_UNSIGNED_BIN") )
(parameter
"opcode_cmp"
"100100"
""
(type "PARAMETER_UNSIGNED_BIN") )
(parameter
"opcode_not"
"100101"
""
(type "PARAMETER_UNSIGNED_BIN") )
(parameter
"opcode_jmp"
"101001"
""
(type "PARAMETER_UNSIGNED_BIN") )
(parameter
"opcode_brfl"
"101010"
""
(type "PARAMETER_UNSIGNED_BIN") )
(parameter
"opcode_call"
"101011"
""
(type "PARAMETER_UNSIGNED_BIN") )
(parameter
"opcode_ret"
"101100"
""
(type "PARAMETER_UNSIGNED_BIN") )
(parameter
"opcode_iret"
"101101"
""
(type "PARAMETER_UNSIGNED_BIN") )
(parameter
"opcode_nop"
"101110"
""
(type "PARAMETER_UNSIGNED_BIN") )
(parameter
"opcode_jr"
"011001"
""
(type "PARAMETER_UNSIGNED_BIN") )
(parameter
"opcode_brflr"
"011010"
""
(type "PARAMETER_UNSIGNED_BIN") )
(parameter
"opcode_callr"
"011011"
""
(type "PARAMETER_UNSIGNED_BIN") )
(parameter
"opcode_sprite_id"
"110001"
""
(type "PARAMETER_UNSIGNED_BIN") )
(parameter
"opcode_sprite_color"
"110010"
""
(type "PARAMETER_UNSIGNED_BIN") )
(parameter
"opcode_sprite_pos"
"110100"
""
(type "PARAMETER_UNSIGNED_BIN") )
(parameter
"opcode_wait_vsync"
"110111"
""
(type "PARAMETER_UNSIGNED_BIN") )
(parameter
"Reset"
"000000"
""
(type "PARAMETER_UNSIGNED_BIN") )
(parameter
"Wait_Program_Mem_1"
"000001"
""
(type "PARAMETER_UNSIGNED_BIN") )
(parameter
"Decode_Instruction"
"000010"
""
(type "PARAMETER_UNSIGNED_BIN") )
(parameter
"Wait_Operation"
"000011"
""
(type "PARAMETER_UNSIGNED_BIN") )
(parameter
"Wait_DIV_1"
"000100"
""
(type "PARAMETER_UNSIGNED_BIN") )
(parameter
"Wait_DIV_2"
"000101"
""
(type "PARAMETER_UNSIGNED_BIN") )
(parameter
"Wait_DIV_3"
"000110"
""
(type "PARAMETER_UNSIGNED_BIN") )
(parameter
"Wait_DIV_4"
"000111"
""
(type "PARAMETER_UNSIGNED_BIN") )
(parameter
"ADD"
"001000"
""
(type "PARAMETER_UNSIGNED_BIN") )
(parameter
"SUB"
"001001"
""
(type "PARAMETER_UNSIGNED_BIN") )
(parameter
"MUL"
"001010"
""
(type "PARAMETER_UNSIGNED_BIN") )
(parameter
"DIV"
"001011"
""
(type "PARAMETER_UNSIGNED_BIN") )
(parameter
"AND"
"001100"
""
(type "PARAMETER_UNSIGNED_BIN") )
(parameter
"OR"
"001101"
""
(type "PARAMETER_UNSIGNED_BIN") )
(parameter
"CMP"
"001110"
""
(type "PARAMETER_UNSIGNED_BIN") )
(parameter
"NOT"
"001111"
""
(type "PARAMETER_UNSIGNED_BIN") )
(parameter
"SPRITE_ID"
"010000"
""
(type "PARAMETER_UNSIGNED_BIN") )
(parameter
"SPRITE_COLOR"
"010001"
""
(type "PARAMETER_UNSIGNED_BIN") )
(parameter
"SPRITE_POS"
"010010"
""
(type "PARAMETER_UNSIGNED_BIN") )
(parameter
"LIMM"
"010011"
""
(type "PARAMETER_UNSIGNED_BIN") )
(parameter
"LW_Begin"
"010100"
""
(type "PARAMETER_UNSIGNED_BIN") )
(parameter
"LW_Wait_1"
"010101"
""
(type "PARAMETER_UNSIGNED_BIN") )
(parameter
"LW_Wait_2"
"010110"
""
(type "PARAMETER_UNSIGNED_BIN") )
(parameter
"LW_End"
"010111"
""
(type "PARAMETER_UNSIGNED_BIN") )
(parameter
"SW_Begin"
"011000"
""
(type "PARAMETER_UNSIGNED_BIN") )
(parameter
"SW_End"
"011001"
""
(type "PARAMETER_UNSIGNED_BIN") )
(parameter
"JMP"
"011010"
""
(type "PARAMETER_UNSIGNED_BIN") )
(parameter
"JR"
"011011"
""
(type "PARAMETER_UNSIGNED_BIN") )
(parameter
"BRFL"
"011100"
""
(type "PARAMETER_UNSIGNED_BIN") )
(parameter
"BRFLR"
"011101"
""
(type "PARAMETER_UNSIGNED_BIN") )
(parameter
"NOP"
"011110"
""
(type "PARAMETER_UNSIGNED_BIN") )
(parameter
"CALL"
"011111"
""
(type "PARAMETER_UNSIGNED_BIN") )
(parameter
"CALLR"
"100000"
""
(type "PARAMETER_UNSIGNED_BIN") )
(parameter
"RET"
"100001"
""
(type "PARAMETER_UNSIGNED_BIN") )
(parameter
"WAIT_VSYNC"
"100010"
""
(type "PARAMETER_UNSIGNED_BIN") )
(parameter
"Inc_Program_Counter"
"100011"
""
(type "PARAMETER_UNSIGNED_BIN") )
(parameter
"Int_Req_Wait"
"100100"
""
(type "PARAMETER_UNSIGNED_BIN") )
(parameter
"Interrupt"
"100101"
""
(type "PARAMETER_UNSIGNED_BIN") )
(parameter
"IRET"
"100110"
""
(type "PARAMETER_UNSIGNED_BIN") )
(drawing
(rectangle (rect 16 16 272 544)(line_width 1))
)
(annotation_block (parameter)(rect 304 -64 404 16))
)