-
Notifications
You must be signed in to change notification settings - Fork 37
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[RTL] Convert APB interfaces to AXI and add DMA (#590)
* Initial pass at AXI sub -- read channel only * Compile for AXI sub * AXI sub -- write channel + exclusive access fixups * Exclusive access support OFF by default * Only latch err from component when the access is allowed (i.e. not an incomplete EX access) * Add AXI sub wrapper and simplex arbiter * Syntax fix * Add ID signal to component interface * Add component inf 'write' signal * New handshake assertions; i/f X checks conditional upon valid signals * Swap APB for AXI, replace all 'user' references with 'AXI ID' * axi_sub_wr: Fix rp valid/ready access Ready & valid are 1-bit wide, do not access using bit select / range. Signed-off-by: Wiktoria Kuna <[email protected]> * axi_sub_arb: Fix arbiter read grant condition When 'r_pri' is not set, read operation should be granted only if a read 'r_dv' is pending and there's no required write action 'w_dv'. Signed-off-by: Wiktoria Kuna <[email protected]> * Remove LENB override; fix resp-pipe part-select in axi_sub_wr * AXI sub tb integration -- compiles and passes smoke_test_hw_config * Fixups to get sims working VCS + Verilator * Initial AXI DMA reg file * Format * First pass - AXI DMA * Caliptra AXI SRAM * Defaults: AW=32, DW=64 * Mv skidbuffer to libs; add r/w error sigs in axi_sub to work with C_LAT>0; compile fixes for sram * Syntax fix * Add all module inst/connections; syntax fixes for compilation * Include DMA reg set in docs * Inst. DMA; connect SRAM through MBOX dir mode mux; add DMA regs in arb; upd COV IF * Updates for AXI DMA connections * AW should be derived from SRAM depth * Add new reg fields; syntax cleanup to simulate; now passes smoke test * Fix reset if-else syntax on ctx FF blocks * Default assignment fix * TB updates to support all prev. functionality; smoke_test_dma passes; add AXI assertions * Update all caliptra_isr with new DMA interrupts; fw updates so all smoke tests pass * Update HDL file lists * Different init syntax for Verilator to compile vs VCS * Update smoke_test_kv_hmac_multiblock_flow w/ DMA intr to pass compilation * Add mailbox payload operations * Default return of 0 for dma operations * Reorder fail var assignment * Fixes for DMA write and hold signaling to mailbox sram * Fixes for credits and bytes requested calculations * Move SoC BFM functionality to a sub-module in TB for reuse * Add 1MiB xfer cap to cmd decode logic * Rename s_axi_if to m_axi_bfm_if for clarity (in TB) * Move caliptra_top_tb support files to separate compile pkg to avoid duplicate pre_exec calls (for importers) * Enable BFM bringup to be skipped for SS testing * Default AXI ID width is 8 * Support for path overrides by higher-level (SS) entity * Add an enum for bootfsm states * License header fixups * Derive soc_ifc AXI ID widths from the global Caliptra macro * Gen2 status disclaimer * README timestamp * No bold * Use bash instead of sh in Makefile * Regenerate file lists * Add DMA interrupts * Add DMA interrupts * Synth pragmas to ignore sim-only tasks * caliptra_prim is an axi_dma dependency * Include assertion header where asserts are used * Reorder a print message that is used as a trigger in OpenOCD tests * File list updates after modifying dependencies * Recommendations for release consumption * Heading format * Rewording for clarity * Use 'assets' to match GH naming * Convert skidbuffer reset to async, active-low * Default AXI ID width of 8 matches Caliptra default - for clean lint * Lint cleanup * Lint fixes * Lint fixes + fix for logic issue with large xfer calculations * Width mismatch lint fixes * Override DMA AXI manager Addr width for lint check * Width mismatch lint fixes * Use 'synopsys' pragma to disable sim code for synth/lint * Syntax fix on loop indices; resolve a race condition at init time * MICROSOFT AUTOMATED PIPELINE: Stamp 'cwhitehead-msft-gen2-axi-modules' with updated timestamp and hash after successful run * Workaround for verilator compatibility * MICROSOFT AUTOMATED PIPELINE: Stamp 'cwhitehead-msft-gen2-axi-modules' with updated timestamp and hash after successful run * Re-enable check for sha/dma access on req_hold condition * Fix the req_hold calculation for DMA transfers * Apply active-low reset changes to the Formal properties in skidbuffer * Remove OPT_INITIAL param and initialize regs with async reset * MICROSOFT AUTOMATED PIPELINE: Stamp 'cwhitehead-msft-gen2-axi-modules' with updated timestamp and hash after successful run --------- Signed-off-by: Wiktoria Kuna <[email protected]> Co-authored-by: Wiktoria Kuna <[email protected]>
- Loading branch information
1 parent
e45badf
commit 805d320
Showing
142 changed files
with
5,141 additions
and
2,718 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
e3bfed2d8c8064b0c6f21410b619238538c01ad39f9763b67af8a958799d38c578cf4a9ac278bad8e2c0f4d471998b1a | ||
d5e1ab0f36f14576ade1380aa9c6985bbe6762062f358409e3be50ae7529bde17f5a9610cd26f37bef77679b69befb0c |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
1726604628 | ||
1727315247 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -45,6 +45,7 @@ provides: [axi_dma] | |
schema_version: 2.4.0 | ||
requires: | ||
- libs | ||
- caliptra_prim | ||
- axi_pkg | ||
targets: | ||
rtl: | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.