From d79e36912f193b86f142ce33e56d1ef4f9a792f2 Mon Sep 17 00:00:00 2001 From: Blaise Tine Date: Mon, 20 Apr 2020 12:51:42 -0700 Subject: [PATCH] fix opae build --- driver/tests/demo/demo | Bin 45272 -> 38712 bytes hw/Makefile | 2 +- hw/modelsim/Makefile | 6 +++--- hw/modelsim/vortex_tb.v | 2 +- hw/opae/sources.txt | 6 +++--- hw/rtl/.gitignore | 2 +- hw/rtl/VX_alu.v | 2 +- hw/rtl/VX_back_end.v | 2 +- hw/rtl/{VX_config.v => VX_config.vh} | 2 +- hw/rtl/VX_csr_data.v | 2 +- hw/rtl/VX_csr_pipe.v | 2 +- hw/rtl/VX_csr_wrapper.v | 2 +- hw/rtl/VX_decode.v | 2 +- hw/rtl/{VX_define.v => VX_define.vh} | 2 +- hw/rtl/VX_dmem_controller.v | 2 +- hw/rtl/VX_execute_unit.v | 2 +- hw/rtl/VX_fetch.v | 2 +- hw/rtl/VX_front_end.v | 2 +- hw/rtl/VX_gpgpu_inst.v | 2 +- hw/rtl/VX_gpr.v | 2 +- hw/rtl/VX_gpr_stage.v | 2 +- hw/rtl/VX_gpr_wrapper.v | 2 +- hw/rtl/VX_icache_stage.v | 2 +- hw/rtl/VX_inst_multiplex.v | 2 +- hw/rtl/VX_lsu.v | 2 +- hw/rtl/VX_lsu_addr_gen.v | 2 +- hw/rtl/VX_scheduler.v | 2 +- hw/rtl/VX_warp.v | 2 +- hw/rtl/VX_warp_scheduler.v | 2 +- hw/rtl/VX_writeback.v | 2 +- hw/rtl/Vortex.v | 2 +- hw/rtl/Vortex_Cluster.v | 2 +- hw/rtl/Vortex_Socket.v | 2 +- hw/rtl/byte_enabled_simple_dual_port_ram.v | 2 +- hw/rtl/cache/VX_bank.v | 2 +- hw/rtl/cache/VX_cache_config.vh | 2 +- hw/rtl/interfaces/VX_branch_response_if.v | 2 +- hw/rtl/interfaces/VX_csr_req_if.v | 2 +- hw/rtl/interfaces/VX_csr_wb_if.v | 2 +- hw/rtl/interfaces/VX_dcache_request_if.v | 2 +- hw/rtl/interfaces/VX_dcache_response_if.v | 2 +- hw/rtl/interfaces/VX_dram_req_rsp_if.v | 2 +- hw/rtl/interfaces/VX_exec_unit_req_if.v | 2 +- hw/rtl/interfaces/VX_frE_to_bckE_req_if.v | 2 +- hw/rtl/interfaces/VX_gpr_data_if.v | 2 +- hw/rtl/interfaces/VX_gpr_jal_if.v | 2 +- hw/rtl/interfaces/VX_gpr_read_if.v | 2 +- hw/rtl/interfaces/VX_gpu_inst_req_if.v | 2 +- hw/rtl/interfaces/VX_icache_request_if.v | 2 +- hw/rtl/interfaces/VX_icache_response_if.v | 2 +- hw/rtl/interfaces/VX_inst_exec_wb_if.v | 2 +- hw/rtl/interfaces/VX_inst_mem_wb_if.v | 2 +- hw/rtl/interfaces/VX_inst_meta_if.v | 2 +- hw/rtl/interfaces/VX_jal_response_if.v | 2 +- hw/rtl/interfaces/VX_join_if.v | 2 +- hw/rtl/interfaces/VX_lsu_req_if.v | 2 +- hw/rtl/interfaces/VX_mem_req_if.v | 2 +- hw/rtl/interfaces/VX_mw_wb_if.v | 2 +- hw/rtl/interfaces/VX_warp_ctl_if.v | 2 +- hw/rtl/interfaces/VX_wb_if.v | 2 +- hw/rtl/interfaces/VX_wstall_if.v | 2 +- hw/rtl/libs/VX_divide.v | 2 +- hw/rtl/libs/VX_generic_priority_encoder.v | 2 +- hw/rtl/libs/VX_generic_queue.v | 2 +- hw/rtl/libs/VX_generic_register.v | 2 +- hw/rtl/libs/VX_mult.v | 2 +- hw/rtl/libs/VX_priority_encoder.v | 2 +- hw/rtl/libs/VX_priority_encoder_w_mask.v | 2 +- hw/rtl/pipe_regs/VX_d_e_reg.v | 2 +- hw/rtl/pipe_regs/VX_f_d_reg.v | 2 +- hw/rtl/pipe_regs/VX_i_d_reg.v | 2 +- hw/scripts/gen_config.py | 6 +++--- hw/syn/synopsys/esyn.tcl | 4 ++-- hw/syn/synopsys/fsyn.tcl | 4 ++-- hw/syn/synopsys/syn.tcl | 4 ++-- simX/cache_simX.v | 2 +- 76 files changed, 84 insertions(+), 84 deletions(-) rename hw/rtl/{VX_config.v => VX_config.vh} (99%) rename hw/rtl/{VX_define.v => VX_define.vh} (95%) diff --git a/driver/tests/demo/demo b/driver/tests/demo/demo index 4c0fedebc68c9bf3df2e56a86274e29b22e41dda..af213246725e21f09338d00da94fd2d307c920d2 100755 GIT binary patch literal 38712 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