[Verilog] Design methods and design processes

Homepage: Meta Storage Blog

1. Design method

Verilog design mostly adopts top-down design method (top-down). The design process refers to the relationship between the various processes starting from a project, including project requirements analysis, architecture design, functional verification, synthesis, timing verification, and hardware verification.

The following design methods can be used:

Top-down design: First determine the high-level structure of the entire design, and then gradually refine it until the lowest-level modules are implemented.

Modular design: Decompose the entire design into multiple modules, each module is responsible for completing a specific function. This improves the maintainability and scalability of the design.

Parametric design: Parameterize some constants in the design to facilitate flexible modification and adapt to different needs.

Separation of sequential and combinational logic: Separate the sequential logic and combinational logic in the design to simplify the complexity of design and verification.

2. Design process

Insert image description here

The design process generally includes requirements analysis, engineering estimation, project description, functional division, text description, functional simulation, logic synthesis, placement and routing, timing simulation (post-simulation), board-level verification, production delivery and post-maintenance.

  • Requirements analysis: Analyze the user's functional requirements and determine technical indicators and preliminary plans. Evaluate the engineering difficulty, time and resource investment of the project, etc. Carry out overall design of the functions, interfaces and structure of the entire circuit.

  • Functional division: Decompose the circuit into functional modules and assign sub-module design tasks.

  • HDL description: Use a text editor or a dedicated HDL editing environment to model circuits and write related documentation.

  • Functional simulation (pre-simulation): Compile the modeling file and conduct functional simulation verification of the model circuit.

  • Logic synthesis: Convert high-level descriptions into gate-level netlists and perform logic and timing optimization.

  • Placement and routing: Carry out circuit layout and routing according to the gate-level netlist and constraint files.

  • Timing simulation (post-simulation): Use the circuit model after layout and routing to perform timing verification.

  • Board-level verification: Download the designed digital circuit target file into the FPGA/CPLD chip, and debug and verify it on the circuit board.

  • Production delivery: If it needs to be implemented on ASIC, chip manufacturing will be carried out.

  • Later maintenance: rewrite and polish the circuit, solve bugs and modify functions, etc.

3 Vivado software design process

Insert image description here
Typical development process for Vivado:

  • Project creation: Create a new project in Vivado, select a project name and storage location. You can choose to create a new design from scratch or import an existing design.

  • Add design files: Add the required design files to the project. These files can include source code files (such as Verilog or VHDL files), constraint files (such as XDC files), and other necessary files.

  • Constraint file definition: Define constraint files to specify information such as timing, pins, and clocks in the design. Constraint files can be written using Xilinx Constraints Language (XDC).

  • Simulation verification: Use Vivado's own simulation tools to perform functional verification and verification of the design. Optionally use the Analog Waveform Viewer for waveform analysis to ensure your design is as expected.

  • Synthesis and Implementation: Use Vivado's synthesis and implementation tools to synthesize the design into a logical netlist and implement it on the target device. Synthesis converts the design into gate-level circuits, while implementation generates bitstream files using resources and layout rules specific to the target device.

  • Timing analysis and optimization: Use Vivado's timing analysis tools to analyze and optimize the timing of the design. You can use the Timing Viewer to view the timing paths in your design and improve the performance of your design with the Optimizer tool.

  • Board-level design and integration: If your design involves a hardware platform (such as an FPGA or SoC), you can use Vivado's board-level design and integration tools to integrate your design with the hardware platform.

  • Deployment and debugging: Load the bitstream file into the target device for deployment. Vivado's debugging tools and hardware debuggers can be used to debug the design and optimize performance.

  • Generate documents and reports: Use Vivado's document generation tool to generate design documents and reports to record the design process and results.

  • Version control and team collaboration: Vivado provides integration with common version control systems such as Git so that multi-person teams can collaboratively develop and manage designs.

Summarize

Verilog design method and design process is an iterative process that requires continuous analysis, design, verification and optimization to finally obtain a design solution that meets the needs. During the design process, factors such as circuit structure, logic implementation, and timing requirements need to be fully considered, and Verilog language and EDA tools should be reasonably used to assist in the design.
References


Statement
This article is for learning and communication purposes only.
Some of the text and pictures in the article are from the Internet and are listed in the referenced literature, but there may be omissions. If there is any infringement, please inform me to delete it.

Guess you like

Origin blog.csdn.net/vagrant0407/article/details/135039186