From 9366676ed5074cf1efee95382cf99728bc3707e7 Mon Sep 17 00:00:00 2001 From: lonkaars Date: Tue, 20 Dec 2022 12:44:12 +0100 Subject: ball pixeldata in memory IP core --- .gitignore | 1 + .../bouncing-ball.srcs/sources_1/bitmap-ball.coe | 1 + .../bouncing-ball.srcs/sources_1/bitmap-ball.vhd | 1 - .../sources_1/ip/ball_rom/ball_rom.xci | 104 +++++++++++++++++++++ .../bouncing-ball.srcs/sources_1/new/test.mem | 0 bouncing-ball/bouncing-ball.xpr | 25 +++-- src/.gitignore | 3 +- src/bitmap-ball.py | 12 +-- src/makefile | 7 +- src/pixeldata-ball-bottom.vhd | 27 ------ src/pixeldata-ball-top.vhd | 13 --- src/pixeldata-ball.vhd | 51 ++++++++++ 12 files changed, 187 insertions(+), 58 deletions(-) create mode 120000 bouncing-ball/bouncing-ball.srcs/sources_1/bitmap-ball.coe delete mode 120000 bouncing-ball/bouncing-ball.srcs/sources_1/bitmap-ball.vhd create mode 100644 bouncing-ball/bouncing-ball.srcs/sources_1/ip/ball_rom/ball_rom.xci delete mode 100644 bouncing-ball/bouncing-ball.srcs/sources_1/new/test.mem delete mode 100644 src/pixeldata-ball-bottom.vhd delete mode 100644 src/pixeldata-ball-top.vhd create mode 100644 src/pixeldata-ball.vhd diff --git a/.gitignore b/.gitignore index e73fd1f..550bc61 100644 --- a/.gitignore +++ b/.gitignore @@ -5,6 +5,7 @@ */*.ip_user_files */*.runs */*.sim +*/*.gen # blob **/*.dcp diff --git a/bouncing-ball/bouncing-ball.srcs/sources_1/bitmap-ball.coe b/bouncing-ball/bouncing-ball.srcs/sources_1/bitmap-ball.coe new file mode 120000 index 0000000..fb3b618 --- /dev/null +++ b/bouncing-ball/bouncing-ball.srcs/sources_1/bitmap-ball.coe @@ -0,0 +1 @@ +../../../src/bitmap-ball.coe \ No newline at end of file diff --git a/bouncing-ball/bouncing-ball.srcs/sources_1/bitmap-ball.vhd b/bouncing-ball/bouncing-ball.srcs/sources_1/bitmap-ball.vhd deleted file mode 120000 index 3631200..0000000 --- a/bouncing-ball/bouncing-ball.srcs/sources_1/bitmap-ball.vhd +++ /dev/null @@ -1 +0,0 @@ -../../../src/bitmap-ball.vhd \ No newline at end of file diff --git a/bouncing-ball/bouncing-ball.srcs/sources_1/ip/ball_rom/ball_rom.xci b/bouncing-ball/bouncing-ball.srcs/sources_1/ip/ball_rom/ball_rom.xci new file mode 100644 index 0000000..a767ec9 --- /dev/null +++ b/bouncing-ball/bouncing-ball.srcs/sources_1/ip/ball_rom/ball_rom.xci @@ -0,0 +1,104 @@ +{ + "schema": "xilinx.com:schema:json_instance:1.0", + "ip_inst": { + "xci_name": "ball_rom", + "component_reference": "xilinx.com:ip:dist_mem_gen:8.0", + "ip_revision": "13", + "gen_directory": "../../../../bouncing-ball.gen/sources_1/ip/ball_rom", + "parameters": { + "component_parameters": { + "depth": [ { "value": "128", "value_src": "user", "resolve_type": "user", "format": "long", "usage": "all" } ], + "data_width": [ { "value": "12", "value_src": "user", "resolve_type": "user", "format": "long", "usage": "all" } ], + "Component_Name": [ { "value": "ball_rom", "resolve_type": "user", "usage": "all" } ], + "memory_type": [ { "value": "rom", "value_src": "user", "resolve_type": "user", "usage": "all" } ], + "input_options": [ { "value": "non_registered", "resolve_type": "user", "usage": "all" } ], + "input_clock_enable": [ { "value": "false", "resolve_type": "user", "format": "bool", "usage": "all" } ], + "qualify_we_with_i_ce": [ { "value": "false", "resolve_type": "user", "format": "bool", "usage": "all" } ], + "dual_port_address": [ { "value": "non_registered", "resolve_type": "user", "usage": "all" } ], + "simple_dual_port_address": [ { "value": "non_registered", "resolve_type": "user", "usage": "all" } ], + "output_options": [ { "value": "non_registered", "resolve_type": "user", "usage": "all" } ], + "Pipeline_Stages": [ { "value": "0", "resolve_type": "user", "usage": "all" } ], + "common_output_clk": [ { "value": "false", "resolve_type": "user", "format": "bool", "usage": "all" } ], + "single_port_output_clock_enable": [ { "value": "false", "resolve_type": "user", "format": "bool", "usage": "all" } ], + "common_output_ce": [ { "value": "false", "resolve_type": "user", "format": "bool", "usage": "all" } ], + "dual_port_output_clock_enable": [ { "value": "false", "resolve_type": "user", "format": "bool", "usage": "all" } ], + "simple_dual_port_output_clock_enable": [ { "value": "false", "resolve_type": "user", "format": "bool", "usage": "all" } ], + "coefficient_file": [ { "value": "../../bitmap-ball.coe", "value_src": "user", "resolve_type": "user", "usage": "all" } ], + "default_data_radix": [ { "value": "16", "resolve_type": "user", "usage": "all" } ], + "default_data": [ { "value": "0", "resolve_type": "user", "usage": "all" } ], + "reset_qspo": [ { "value": "false", "resolve_type": "user", "format": "bool", "usage": "all" } ], + "reset_qdpo": [ { "value": "false", "resolve_type": "user", "format": "bool", "usage": "all" } ], + "reset_qsdpo": [ { "value": "false", "resolve_type": "user", "format": "bool", "usage": "all" } ], + "sync_reset_qspo": [ { "value": "false", "resolve_type": "user", "format": "bool", "usage": "all" } ], + "sync_reset_qdpo": [ { "value": "false", "resolve_type": "user", "format": "bool", "usage": "all" } ], + "sync_reset_qsdpo": [ { "value": "false", "resolve_type": "user", "format": "bool", "usage": "all" } ], + "ce_overrides": [ { "value": "ce_overrides_sync_controls", "resolve_type": "user", "usage": "all" } ] + }, + "model_parameters": { + "C_FAMILY": [ { "value": "artix7", "resolve_type": "generated", "usage": "all" } ], + "C_ADDR_WIDTH": [ { "value": "7", "resolve_type": "generated", "format": "long", "usage": "all" } ], + "C_DEFAULT_DATA": [ { "value": "0", "resolve_type": "generated", "usage": "all" } ], + "C_DEPTH": [ { "value": "128", "resolve_type": "generated", "format": "long", "usage": "all" } ], + "C_HAS_CLK": [ { "value": "0", "resolve_type": "generated", "format": "long", "usage": "all" } ], + "C_HAS_D": [ { "value": "0", "resolve_type": "generated", "format": "long", "usage": "all" } ], + "C_HAS_DPO": [ { "value": "0", "resolve_type": "generated", "format": "long", "usage": "all" } ], + "C_HAS_DPRA": [ { "value": "0", "resolve_type": "generated", "format": "long", "usage": "all" } ], + "C_HAS_I_CE": [ { "value": "0", "resolve_type": "generated", "format": "long", "usage": "all" } ], + "C_HAS_QDPO": [ { "value": "0", "resolve_type": "generated", "format": "long", "usage": "all" } ], + "C_HAS_QDPO_CE": [ { "value": "0", "resolve_type": "generated", "format": "long", "usage": "all" } ], + "C_HAS_QDPO_CLK": [ { "value": "0", "resolve_type": "generated", "format": "long", "usage": "all" } ], + "C_HAS_QDPO_RST": [ { "value": "0", "resolve_type": "generated", "format": "long", "usage": "all" } ], + "C_HAS_QDPO_SRST": [ { "value": "0", "resolve_type": "generated", "format": "long", "usage": "all" } ], + "C_HAS_QSPO": [ { "value": "0", "resolve_type": "generated", "format": "long", "usage": "all" } ], + "C_HAS_QSPO_CE": [ { "value": "0", "resolve_type": "generated", "format": "long", "usage": "all" } ], + "C_HAS_QSPO_RST": [ { "value": "0", "resolve_type": "generated", "format": "long", "usage": "all" } ], + "C_HAS_QSPO_SRST": [ { "value": "0", "resolve_type": "generated", "format": "long", "usage": "all" } ], + "C_HAS_SPO": [ { "value": "1", "resolve_type": "generated", "format": "long", "usage": "all" } ], + "C_HAS_WE": [ { "value": "0", "resolve_type": "generated", "format": "long", "usage": "all" } ], + "C_MEM_INIT_FILE": [ { "value": "ball_rom.mif", "resolve_type": "generated", "usage": "all" } ], + "C_ELABORATION_DIR": [ { "value": "./", "resolve_type": "generated", "usage": "all" } ], + "C_MEM_TYPE": [ { "value": "0", "resolve_type": "generated", "format": "long", "usage": "all" } ], + "C_PIPELINE_STAGES": [ { "value": "0", "resolve_type": "generated", "format": "long", "usage": "all" } ], + "C_QCE_JOINED": [ { "value": "0", "resolve_type": "generated", "format": "long", "usage": "all" } ], + "C_QUALIFY_WE": [ { "value": "0", "resolve_type": "generated", "format": "long", "usage": "all" } ], + "C_READ_MIF": [ { "value": "1", "resolve_type": "generated", "format": "long", "usage": "all" } ], + "C_REG_A_D_INPUTS": [ { "value": "0", "resolve_type": "generated", "format": "long", "usage": "all" } ], + "C_REG_DPRA_INPUT": [ { "value": "0", "resolve_type": "generated", "format": "long", "usage": "all" } ], + "C_SYNC_ENABLE": [ { "value": "1", "resolve_type": "generated", "format": "long", "usage": "all" } ], + "C_WIDTH": [ { "value": "12", "resolve_type": "generated", "format": "long", "usage": "all" } ], + "C_PARSER_TYPE": [ { "value": "1", "resolve_type": "generated", "format": "long", "usage": "all" } ] + }, + "project_parameters": { + "ARCHITECTURE": [ { "value": "artix7" } ], + "BASE_BOARD_PART": [ { "value": "digilentinc.com:basys3:part0:1.2" } ], + "BOARD_CONNECTIONS": [ { "value": "" } ], + "DEVICE": [ { "value": "xc7a35t" } ], + "PACKAGE": [ { "value": "cpg236" } ], + "PREFHDL": [ { "value": "VERILOG" } ], + "SILICON_REVISION": [ { "value": "" } ], + "SIMULATOR_LANGUAGE": [ { "value": "MIXED" } ], + "SPEEDGRADE": [ { "value": "-1" } ], + "STATIC_POWER": [ { "value": "" } ], + "TEMPERATURE_GRADE": [ { "value": "" } ], + "USE_RDI_CUSTOMIZATION": [ { "value": "TRUE" } ], + "USE_RDI_GENERATION": [ { "value": "TRUE" } ] + }, + "runtime_parameters": { + "IPCONTEXT": [ { "value": "IP_Flow" } ], + "IPREVISION": [ { "value": "13" } ], + "MANAGED": [ { "value": "TRUE" } ], + "OUTPUTDIR": [ { "value": "../../../../bouncing-ball.gen/sources_1/ip/ball_rom" } ], + "SELECTEDSIMMODEL": [ { "value": "" } ], + "SHAREDDIR": [ { "value": "." } ], + "SWVERSION": [ { "value": "2022.2" } ], + "SYNTHESISFLOW": [ { "value": "GLOBAL" } ] + } + }, + "boundary": { + "ports": { + "a": [ { "direction": "in", "size_left": "6", "size_right": "0", "driver_value": "0" } ], + "spo": [ { "direction": "out", "size_left": "11", "size_right": "0" } ] + } + } + } +} \ No newline at end of file diff --git a/bouncing-ball/bouncing-ball.srcs/sources_1/new/test.mem b/bouncing-ball/bouncing-ball.srcs/sources_1/new/test.mem deleted file mode 100644 index e69de29..0000000 diff --git a/bouncing-ball/bouncing-ball.xpr b/bouncing-ball/bouncing-ball.xpr index 87cca02..7499a79 100644 --- a/bouncing-ball/bouncing-ball.xpr +++ b/bouncing-ball/bouncing-ball.xpr @@ -66,13 +66,13 @@