Commit Graph

23 Commits

Author SHA1 Message Date
96833c0f77 test: Updates waveform configuration for testbench
- Corrects signal names in the waveform configuration file.
- Adds individual bit signals for output data.
2025-07-11 10:03:32 +00:00
caff24255d Refactor: Reduces maximum fanout for nets
- Reduces the maximum allowed fanout value to improve timing
  closure.
- This change aims to optimize resource utilization.
2025-07-11 10:03:18 +00:00
c51815cb51 Updates devcontainer.json to add volume mapping for GPG agent and formats the configuration for clarity 2025-04-27 19:01:34 +00:00
d847fe3dc8 Updates .gitignore to include build directories for improved project management 2025-04-27 19:01:24 +00:00
cb5259c284 Refactors project.yml to clarify dependencies and improve tool options formatting 2025-04-27 19:01:08 +00:00
c74b34f610 Adds devcontainer configuration and updates project structure to hdlbuild 2025-04-27 17:46:05 +00:00
454172e91c Standardizes formatting and adds output signal
Adjusts entity and architecture formatting for consistency, aligning spacing and indentation across declarations and constants.

Adds `O_MUX_Select` output signal to indicate routing decision, improving functionality and clarity of the module.
2025-04-24 18:29:53 +00:00
3a588948a6 Adds PipelineSwitch entity and testbench
Introduces the PipelineSwitch component with configurable routing behavior based on input comparison modes. Implements modes such as "none", "or", "and", "xor", "equal", and others. Adds a comprehensive testbench to validate functionality across all supported modes.
2025-04-19 20:39:29 +00:00
286ae5a12c Adds pipeline buffer and controller with testbench
Implements a pipeline buffer component supporting passthrough and register modes, controlled via a dedicated controller.
Adds AXI-like handshake signals for data flow management.
Includes a testbench to validate functionality with randomized delays.

Addresses robust data buffering and flow control.
2025-04-19 20:39:13 +00:00
31ce816816 Updates project configuration for PipelineFilter module 2025-04-16 17:27:48 +00:00
6c6c285e79 Optimizes pipeline and clock configuration
Refactors pipeline architecture by separating input and output stages.
Introduces additional controllers and registers for better modularity.
Aligns signal and attribute formatting for improved readability.
2025-04-16 17:27:18 +00:00
d320c31aea Adds testbench for PipelineFilter entity
Introduces a comprehensive VHDL testbench for the PipelineFilter entity, covering various mask modes ("none", "or", "and", "xor", "equal", "not_equal").
Includes signal setup, instance mapping, and test cases to validate filtering behavior for each mode.

Ensures correct functionality and highlights potential errors during simulation.
2025-04-16 17:26:29 +00:00
75ac016c9a Refines testbench logic and parameter configurations
Updates random seed values and adjusts pipeline configuration constants for improved testing flexibility. Refactors write and read processes for clarity, adding additional checks and error handling. Introduces `stop` function to terminate simulation on critical errors.

Enhances test coverage and simulation reliability.
2025-04-16 17:26:14 +00:00
9a7bffadec Adds configurable PipelineFilter with AXI-like handshake
Implements a generic VHDL entity for data filtering based on a bitmask and comparison modes.
Supports configurable filtering modes such as 'none', 'or', 'and', 'xor', 'equal', and 'not_equal'.
Integrates AXI-like valid/ready handshake for synchronous data transfer.

Ensures proper handling of unrecognized modes and validates mask size at runtime.
2025-04-16 17:25:35 +00:00
87b9bf20bf Adds configurable pipeline stage module
Introduces a VHDL entity for a configurable pipeline stage with generic parameters for data widths, reset behavior, and register balancing. Implements AXI-like handshake interfaces for input and output data management. Includes support for up to four data channels with optional pipeline registers.

Facilitates modular and reusable design for pipeline processing.
2025-04-16 17:25:17 +00:00
aae0a66fec Refactors pipeline controllers and registers for flexibility
Introduces conditional logic to handle cases with zero pipeline stages, improving adaptability.
Adds default values for generics and ports to enhance usability and reduce configuration errors.
Cleans up formatting for better readability and maintainability.

Relates to improved design modularity.
2025-04-16 17:24:51 +00:00
59e8302a48 Fix single-stage pipeline validity update issue
Enhanced the PipelineController's validity logic to handle single-stage configurations properly. This update ensures that the validity bit is correctly updated for systems that operate with only one pipeline stage, addressing a potential logic flaw in previous versions. Additionally, clarified documentation for random number generation in pipeline testbench.
2024-04-13 15:18:52 +02:00
f0c7144550 Fix the links in the readme file 2024-03-24 20:12:43 +01:00
5c9fad9cdc Add the documentation to the readme file. 2024-03-24 20:11:29 +01:00
732d21618a Change isim options. 2024-03-24 19:47:27 +01:00
abb4a9f10a Enhance Pipeline Controller and Register with AXI-Like Handshaking and Register Rebalancing
- Introduce comprehensive documentation for Pipeline Controller and Register, detailing core functions, generics, ports, and processes. Focus on data flow control, validity control, adjustability, and register rebalancing mechanisms.
- Implement AXI-Like handshaking in Pipeline Controller for improved input and output data handling, supporting active-high ready and valid signals for efficient data transfer.
- Refine Pipeline Register with register rebalancing options (no, yes, forward, backward) to optimize combinatorial logic pipelining in synthesis, configurable via `G_RegisterBalancing` generic.
- Update generics and ports descriptions to reflect the inclusion of I/O FFs in pipeline depth calculation and clarify the reset active level and handshaking protocol.
- Extend VHDL source for both modules to embody described functionalities and adjustments, ensuring alignment with documentation enhancements.
- Augment testbench `Pipeline_tb.vhd` with random intervals for write and read operations, emphasizing dynamic testing scenarios.
2024-03-24 19:47:01 +01:00
e03dc4e0c8 Add first version. 2024-03-24 01:31:49 +01:00
9ef431c636 Initial commit 2024-03-24 01:24:47 +01:00