From 30a72b83d233f8bbbc3e410f3065dafed765716b Mon Sep 17 00:00:00 2001 From: Ivan Morales Date: Thu, 8 Dec 2022 12:34:07 +0100 Subject: [PATCH 1/4] Added support for Artix-7, Kintex-7 and Spartan-7. Tested only on Artix-7 board. --- src/comblock/component.xml | 29 +++++++++++++++++++---------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/src/comblock/component.xml b/src/comblock/component.xml index 184987a..1d35e91 100644 --- a/src/comblock/component.xml +++ b/src/comblock/component.xml @@ -1264,7 +1264,7 @@ viewChecksum - 386f56c2 + 688b73e4 @@ -1280,7 +1280,7 @@ viewChecksum - 386f56c2 + 688b73e4 @@ -1294,7 +1294,7 @@ viewChecksum - fca514b2 + 546f973c @@ -1308,7 +1308,7 @@ viewChecksum - f4000786 + 21189fd0 @@ -1322,7 +1322,7 @@ viewChecksum - 84ef4735 + 04647285 @@ -1336,7 +1336,7 @@ viewChecksum - f25248d4 + b5f85374 @@ -3944,7 +3944,7 @@ xgui/comblock_v2_0.tcl tclSource - CHECKSUM_fca514b2 + CHECKSUM_546f973c XGUI_VERSION_2 @@ -4289,6 +4289,14 @@ zynq zynquplus + artix7 + artix7l + kintex7 + kintex7l + spartan7 + aartix7 + aspartan7 + azynq /Basic_Elements/Memory_Elements @@ -4300,17 +4308,18 @@ package_project Multidiciplinary LABoratory of the ICTP https://gitlab.com/rodrigomelo9/core-comblock - 1 + 3 user.org:user:comblock:1.0 - 2019-10-18T13:38:41Z + 2022-12-01T13:02:42Z + 2019.1 - + -- GitLab From 8e09a537d32e3d66faef4e38a3b3b6e9be4212a0 Mon Sep 17 00:00:00 2001 From: Luis Garcia Date: Fri, 20 Oct 2023 10:12:26 +0000 Subject: [PATCH 2/4] Change count to synchronous register --- src/comblock/hdl/fifo.vhdl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/comblock/hdl/fifo.vhdl b/src/comblock/hdl/fifo.vhdl index 7b24505..8a483f6 100644 --- a/src/comblock/hdl/fifo.vhdl +++ b/src/comblock/hdl/fifo.vhdl @@ -205,7 +205,7 @@ begin end process p_write; wr_ptr <= next_ptr(wen, wr_ptr_r); - wcount <= diff_ptr(wr_ptr, rd_in_wr_ptr); + wcount <= diff_ptr(wr_ptr_r, rd_in_wr_ptr); full <= '1' when wcount = EVEN_DEPTH else '0'; full_o <= full; afull_o <= '1' when wcount >= EVEN_DEPTH-AFULLOFFSET else '0'; @@ -235,7 +235,7 @@ begin end process p_read; rd_ptr <= next_ptr(ren, rd_ptr_r); - rcount <= diff_ptr(wr_in_rd_ptr, rd_ptr); + rcount <= diff_ptr(wr_in_rd_ptr, rd_ptr_r); empty <= '1' when rcount = 0 else '0'; empty_o <= empty; aempty_o <= '1' when rcount <= AEMPTYOFFSET else '0'; -- GitLab From 613af79724b8046c2be7dca13c51dc7133075549 Mon Sep 17 00:00:00 2001 From: Luis Garcia Date: Wed, 25 Oct 2023 18:06:30 +0200 Subject: [PATCH 3/4] Updated synchronus full and empty --- src/comblock/hdl/fifo.vhdl | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/comblock/hdl/fifo.vhdl b/src/comblock/hdl/fifo.vhdl index 8a483f6..bfd1da5 100644 --- a/src/comblock/hdl/fifo.vhdl +++ b/src/comblock/hdl/fifo.vhdl @@ -205,9 +205,9 @@ begin end process p_write; wr_ptr <= next_ptr(wen, wr_ptr_r); - wcount <= diff_ptr(wr_ptr_r, rd_in_wr_ptr); + wcount <= diff_ptr(wr_ptr, rd_in_wr_ptr); full <= '1' when wcount = EVEN_DEPTH else '0'; - full_o <= full; + full_o <= full_r; afull_o <= '1' when wcount >= EVEN_DEPTH-AFULLOFFSET else '0'; overflow_o <= '1' when wen_i='1' and full_r='1' else '0'; @@ -235,9 +235,9 @@ begin end process p_read; rd_ptr <= next_ptr(ren, rd_ptr_r); - rcount <= diff_ptr(wr_in_rd_ptr, rd_ptr_r); + rcount <= diff_ptr(wr_in_rd_ptr, rd_ptr); empty <= '1' when rcount = 0 else '0'; - empty_o <= empty; + empty_o <= empty_r; aempty_o <= '1' when rcount <= AEMPTYOFFSET else '0'; underflow_o <= '1' when ren_i='1' and empty_r='1' else '0'; valid_o <= valid_r; -- GitLab From 0e1c6322d68fbf501d207eb64a75fa7d047a22b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Iv=C3=A1n=20Morales?= Date: Fri, 27 Oct 2023 09:22:18 +0000 Subject: [PATCH 4/4] Revert "Updated synchronus full and empty" This reverts commit 613af79724b8046c2be7dca13c51dc7133075549 --- src/comblock/hdl/fifo.vhdl | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/comblock/hdl/fifo.vhdl b/src/comblock/hdl/fifo.vhdl index bfd1da5..8a483f6 100644 --- a/src/comblock/hdl/fifo.vhdl +++ b/src/comblock/hdl/fifo.vhdl @@ -205,9 +205,9 @@ begin end process p_write; wr_ptr <= next_ptr(wen, wr_ptr_r); - wcount <= diff_ptr(wr_ptr, rd_in_wr_ptr); + wcount <= diff_ptr(wr_ptr_r, rd_in_wr_ptr); full <= '1' when wcount = EVEN_DEPTH else '0'; - full_o <= full_r; + full_o <= full; afull_o <= '1' when wcount >= EVEN_DEPTH-AFULLOFFSET else '0'; overflow_o <= '1' when wen_i='1' and full_r='1' else '0'; @@ -235,9 +235,9 @@ begin end process p_read; rd_ptr <= next_ptr(ren, rd_ptr_r); - rcount <= diff_ptr(wr_in_rd_ptr, rd_ptr); + rcount <= diff_ptr(wr_in_rd_ptr, rd_ptr_r); empty <= '1' when rcount = 0 else '0'; - empty_o <= empty_r; + empty_o <= empty; aempty_o <= '1' when rcount <= AEMPTYOFFSET else '0'; underflow_o <= '1' when ren_i='1' and empty_r='1' else '0'; valid_o <= valid_r; -- GitLab