Commits on Source (87)
-
Dimitris Lampridis authored6a6e3589
-
Dimitris Lampridis authored72adf76d
-
Dimitris Lampridis authored1317a0a7
-
Dimitris Lampridis authored2d01bc96
-
Tristan Gingold authored16bd8586
-
Tristan Gingold authored07f494ff
-
Tristan Gingold authoredd46281e6
-
Dimitris Lampridis authored4d45fbd7
-
Dimitris Lampridis authored352c0db5
-
Dimitris Lampridis authored5e368b58
-
Dimitris Lampridis authored
[hdl] fix bug in new dma_controller where the DMA status was not properly exposed through the WB registers
b8d012b5 -
Dimitris Lampridis authored29465302
-
Dimitris Lampridis authoreddcf190ed
-
Dimitris Lampridis authored3159ffcd
-
Dimitris Lampridis authored90539571
-
Tristan Gingold authored578018b4
-
Tristan Gingold authoredc863e721
-
Tristan Gingold authored3fcafedb
-
Tristan Gingold authorede13fe484
-
d601caf2
-
Tristan Gingold authoredc211ed08
-
Tristan Gingold authored542aa7ea
-
Tristan Gingold authored9e43b261
-
Tristan Gingold authored39521fe2
-
Dimitris Lampridis authored9436c05c
-
Dimitris Lampridis authoredd4e66a5c
-
Dimitris Lampridis authored91d5efac
-
Dimitris Lampridis authored
Note: P2L DMA already supported this for DMA writes.
b0c817cc -
Dimitris Lampridis authorede809f2ee
-
Dimitris Lampridis authored54b5ebf2
-
Dimitris Lampridis authored98a2e699
-
Dimitris Lampridis authoredf2863fc1
-
Dimitris Lampridis authored5f010f90
-
Dimitris Lampridis authored386c2ae9
-
d0c2399b
-
Dimitris Lampridis authored
Signed-off-by:
Dimitris Lampridis <dimitris.lampridis@cern.ch>
4f56571d -
Dimitris Lampridis authored
Signed-off-by:
Dimitris Lampridis <dimitris.lampridis@cern.ch>
f1e9a982 -
Dimitris Lampridis authored0284a69b
-
Dimitris Lampridis authoredb11363a3
-
Dimitris Lampridis authored
Remove the option to use the 200MHz PCI clock for the complete DMA engine to avoid compicating the design and introducing too many alternatives that will need to be tested, now and in the future. On the SPEC, it has been shown that with the latest modifications it is trivial to meet timing when using a 125MHz (asynchronous to the PCI) clock for DMA. Signed-off-by:
Dimitris Lampridis <dimitris.lampridis@cern.ch>
8cf1d41b -
Dimitris Lampridis authored9a9e2b5b
-
Dimitris Lampridis authored
Signed-off-by:
Dimitris Lampridis <dimitris.lampridis@cern.ch>
99356c44 -
Dimitris Lampridis authored
Signed-off-by:
Dimitris Lampridis <dimitris.lampridis@cern.ch>
0220f91f -
Dimitris Lampridis authored
Signed-off-by:
Dimitris Lampridis <dimitris.lampridis@cern.ch>
b5c3c11a -
Dimitris Lampridis authorede7637624
-
Dimitris Lampridis authored
3.0.0 - 2020-07-27 ================== https://www.ohwr.org/project/gn4124-core/tree/v3.0.0 Added ----- - hdl: SystemVerilog BFM and testbench. - hdl: Add wrapper with wishbone records and slave adapters. - hdl: Add generics to tune the depths of the various async FIFOs. Changed ------- - hdl: Major rewrite of DMA engine, in particular the L2P DMA Master. - hdl: Major cleanup of resets and cross-clock domain synchronisation. - hdl: Stop using coregen FIFOs, switch to FIFOs from general-cores. - hdl: Make DMA optional (g_WITH_DMA generic). - hdl: Use cheby to describe registers, only one interrupt (level). - hdl: Test, verify and enable byte swap feature. - hdl: Extend SV BFM with tasks to read/write from simulated host memory. Fixed ----- - hdl: Fixed incorrect 64-bit DMA transaction generation bug. - hdl: Allow larger DMA reads (up to the full 32 bits of the "length" register) for L2P DMA master. - hdl: Add flow control to the write buffer of the BFM to prevent overflows during 'wr' commands. - hdl: Fix swapped bits in attributes. - hdl: Handle host 32-bit address overflow in L2P DMA master. - hdl: Fix bug in BFM not respecting P2L_RDY during DMA writes. - hdl: Fix bug in BFM not accepting 4096B writes.
c3776541 -
Dimitris Lampridis authored
This commit fixes an issue that would cause the L2P DMA to drop some data when the WB slave would stall at the same cycle as the dual-clock FIFO would raise the 'full' flag. The WB state machine has been redesigned in order to solve this issue and make sure that data is properly retained when this condition appears. Signed-off-by:
Dimitris Lampridis <dimitris.lampridis@cern.ch>
52428736 -
Dimitris Lampridis authored
Signed-off-by:
Dimitris Lampridis <dimitris.lampridis@cern.ch>
fabf9a18 -
Dimitris Lampridis authored
This bug was not affecting the design, as it would read once from an empty FIFO only after the transfer was done. Signed-off-by:
Dimitris Lampridis <dimitris.lampridis@cern.ch>
593be77a -
Dimitris Lampridis authored
The FIFO size and full threshold need to be enough to hold if necessary all the pending read data requests from the WB slave. In the case of the Spartan-6 DDR controller being the WB slave, the FIFO needs to be able to store up to 192 words (128 from the controller itself, plus 64 from our wrapper). Since the GN4124 is used primarily on the SPEC, this is now the default value for the L2P DMA master. Signed-off-by:
Dimitris Lampridis <dimitris.lampridis@cern.ch>
72e138ad -
Dimitris Lampridis authoredbe8d8346
-
Dimitris Lampridis authored
Signed-off-by:
Dimitris Lampridis <dimitris.lampridis@cern.ch>
18bdaaa9 -
Dimitris Lampridis authored06414d93
-
Dimitris Lampridis authored
3.0.1 - 2020-09-29 ================== https://www.ohwr.org/project/gn4124-core/tree/v3.0.1 Fixed ----- - hdl: L2P DMA issues reported with slower hosts
af3128bd -
Tristan Gingold authored
And refactoring.
833551b7 -
Tristan Gingold authored
Remove unused signals, renaming.
300080f9 -
Tristan Gingold authoredbebc523b
-
Tristan Gingold authoredc13d3599
-
Tristan Gingold authored2aea69b9
-
Tristan Gingold authorede6162cf4
-
Tristan Gingold authoredf6835b54
-
Tristan Gingold authored28a645b1
-
Tristan Gingold authoredc5520d7a
-
Tristan Gingold authored
Also fix some typos.
d34e800c -
Tristan Gingold authored9dc43b59
-
Tristan Gingold authored78aa3267
-
Tristan Gingold authored241e4a45
-
Tristan Gingold authoredf6d26f73
-
Tristan Gingold authored4221b112
-
Tristan Gingold authored5e59ab44
-
Tristan Gingold authoreda5aef799
-
Tristan Gingold authoredc6293643
-
Tristan Gingold authored461b30fe
-
Tristan Gingold authoredd265dc5d
-
Tristan Gingold authored
Fix component, create release See merge request be-cem-edl/common/gn4124-core!1
f69c9499 -
Dimitris Lampridis authored
See also #3
b7b22855 -
Dimitris Lampridis authored
Resolve "Timing issues related to l2p_arbiter outputs" Closes #3 See merge request be-cem-edl/common/gn4124-core!2
b60a5cf2 -
Dimitris Lampridis authoredfd964ff1
-
Dimitris Lampridis authored
Resolve "simplify l2p_dma_master fifo reset logic" Closes #4 See merge request be-cem-edl/common/gn4124-core!3
30dea85a -
Dimitris Lampridis authoredea7e8213
-
Dimitris Lampridis authored
Resolve "release v3.1.2" Closes #5 See merge request be-cem-edl/common/gn4124-core!4
98cf8d7f -
Vasco Guita authoredbdc2a597
-
Vasco Guita authored0ff5caec
-
Vasco Guita authoredabf42cf9
-
Unai Sainz-Estebanez authored
This is because since the VHDL 2008 standard the word “default” is a reserved word. See wr-cores#101 for more info
71c4d362 -
Unai Sainz-Estebanez authored
There are three functions with the same name. This commit writes a different name for each function. If the address input of the function is std_logic_vector the function name is not renamed. If the address input of the function is std_ulogic_vector the function name is renamed to: address_trans_u If the address input of the function is bit_vector the function name is renamed to: address_trans_b See wr-cores#101 for more info
b1fe3889 -
Unai Sainz-Estebanez authored
One function operates with the default_word input as a std_logic_vector, while the other operates with default_word as an std_ulogic_vector. This change prevents compilation issues when targeting STD 08. See wr-cores#101 for more info
eef550ec
Showing
- .ohwr.yaml 17 additions, 0 deletions.ohwr.yaml
- CHANGELOG.rst 91 additions, 0 deletionsCHANGELOG.rst
- LICENCES/LICENSE.CC0-1_0 121 additions, 0 deletionsLICENCES/LICENSE.CC0-1_0
- LICENCES/LICENSE.SHL-2_0 46 additions, 0 deletionsLICENCES/LICENSE.SHL-2_0
- Manifest.py 2 additions, 2 deletionsManifest.py
- hdl/gn4124core/rtl/dma_controller.vhd 0 additions, 417 deletionshdl/gn4124core/rtl/dma_controller.vhd
- hdl/gn4124core/rtl/dma_controller_wb_slave.vhd 0 additions, 713 deletionshdl/gn4124core/rtl/dma_controller_wb_slave.vhd
- hdl/gn4124core/rtl/l2p_dma_master.vhd 0 additions, 542 deletionshdl/gn4124core/rtl/l2p_dma_master.vhd
- hdl/gn4124core/sim/example_tb/main.sv 0 additions, 190 deletionshdl/gn4124core/sim/example_tb/main.sv
- hdl/gn4124core/sim/example_tb/mem_init.bram 0 additions, 32 deletionshdl/gn4124core/sim/example_tb/mem_init.bram
- hdl/gn4124core/wb_gen/dma_controller_wb_slave.wb 0 additions, 161 deletionshdl/gn4124core/wb_gen/dma_controller_wb_slave.wb
- hdl/ip_cores/general-cores 1 addition, 1 deletionhdl/ip_cores/general-cores
- hdl/rtl/Manifest.py 1 addition, 1 deletionhdl/rtl/Manifest.py
- hdl/rtl/dma_controller.vhd 395 additions, 0 deletionshdl/rtl/dma_controller.vhd
- hdl/rtl/dma_controller_regs.cheby 170 additions, 0 deletionshdl/rtl/dma_controller_regs.cheby
- hdl/rtl/dma_controller_regs.vhd 383 additions, 0 deletionshdl/rtl/dma_controller_regs.vhd
- hdl/rtl/l2p_arbiter.vhd 9 additions, 3 deletionshdl/rtl/l2p_arbiter.vhd
- hdl/rtl/l2p_dma_master.vhd 537 additions, 0 deletionshdl/rtl/l2p_dma_master.vhd
- hdl/rtl/p2l_decode32.vhd 0 additions, 2 deletionshdl/rtl/p2l_decode32.vhd
- hdl/rtl/p2l_dma_master.vhd 212 additions, 279 deletionshdl/rtl/p2l_dma_master.vhd
.ohwr.yaml
0 → 100644
CHANGELOG.rst
0 → 100644
LICENCES/LICENSE.CC0-1_0
0 → 100644
LICENCES/LICENSE.SHL-2_0
0 → 100644
This diff is collapsed.
This diff is collapsed.
hdl/rtl/dma_controller.vhd
0 → 100644
hdl/rtl/dma_controller_regs.cheby
0 → 100644
hdl/rtl/dma_controller_regs.vhd
0 → 100644
hdl/rtl/l2p_dma_master.vhd
0 → 100644
This diff is collapsed.
This diff is collapsed.