说明: “掌握数字电路设计的Verilog编程:RTL和测试台代码与HDL-BITS的实践” ("Mastering Verilog Programming for Digital Circuit Design: RTL and TestBench Codes Practice with HDL-BITS")
文件列表:
1.ALU (0, 2023-03-31) 1.ALU\Alu.v (989, 2023-03-31) 1.ALU\Alu_tb.v (721, 2023-03-31) 1.ALU\Screenshot from 2022-12-15 16-45-37.png (119816, 2023-03-31) 1.ALU\Screenshot from 2022-12-15 16-45-51.png (203331, 2023-03-31) 10.FullAdder (0, 2023-03-31) 10.FullAdder\Console Full_Adder.png (34321, 2023-03-31) 10.FullAdder\Full Adder Waveform.png (113552, 2023-03-31) 10.FullAdder\Full_Adder_tb.v (822, 2023-03-31) 10.FullAdder\full_adder.v (622, 2023-03-31) 11.Full Adder Using Half Adder (0, 2023-03-31) 11.Full Adder Using Half Adder\Console Full_Adder.png (34321, 2023-03-31) 11.Full Adder Using Half Adder\Full Adder Waveform.png (113552, 2023-03-31) 11.Full Adder Using Half Adder\Full_Adder.v (743, 2023-03-31) 11.Full Adder Using Half Adder\Full_Adder_Tb.v (234, 2023-03-31) 12,Full Subtractor (0, 2023-03-31) 12,Full Subtractor\Full_Substractor.v (666, 2023-03-31) 12,Full Subtractor\Full_Subtractor_tb.v (784, 2023-03-31) 12,Full Subtractor\Screenshot from 2022-12-12 22-05-35.png (110912, 2023-03-31) 12,Full Subtractor\Screenshot from 2022-12-12 22-05-52.png (194661, 2023-03-31) 13.Full Subtractor using Half Substractor (0, 2023-03-31) 13.Full Subtractor using Half Substractor\Full_Subtractor.v (760, 2023-03-31) 13.Full Subtractor using Half Substractor\Full_Subtractor_Tb.v (244, 2023-03-31) 13.Full Subtractor using Half Substractor\Screenshot from 2022-12-12 22-05-35.png (110912, 2023-03-31) 13.Full Subtractor using Half Substractor\Screenshot from 2022-12-12 22-05-52.png (194661, 2023-03-31) 14.Gray To Binary (0, 2023-03-31) 14.Gray To Binary\Graytobinary.v (650, 2023-03-31) 14.Gray To Binary\Graytobinary_tb.v (725, 2023-03-31) 14.Gray To Binary\Screenshot from 2022-12-18 19-52-26.png (178634, 2023-03-31) 14.Gray To Binary\Screenshot from 2022-12-18 19-54-02.png (127123, 2023-03-31) 15.HalfAdder (0, 2023-03-31) 15.HalfAdder\Console Half_Adder.png (34588, 2023-03-31) 15.HalfAdder\Half_Adder Waveform.png (108755, 2023-03-31) ... ...
# The standard procedure for writing Verilog code :
1. Understanding the specifications: Read and understand the system requirements, specifications, and constraints.
2. High-Level Design: Develop a high-level design of the system, including block diagram and system architecture.
3. RTL modeling: Develop RTL models for each module in the system using Verilog.
4. Testbench creation: Create a testbench to verify the RTL design and test the design for various input conditions.
5. Simulation: Run simulations to verify the RTL design and debug the RTL model.
6. Synthesis: Convert the RTL design into a gate-level representation using a synthesis tool.
7. Place and Route: Allocate the gates to physical locations on the target device and route the interconnects using a place and route tool.
8. Timing analysis: Perform a timing analysis to verify that the design meets the required timing constraints.
9. Physical verification: Check the design for any physical design rule violations.
10. Tape-out: Generate the final layout of the design and submit it for fabrication.
11. Silicon validation: Test the fabricated chip to verify it meets the specified requirements.
Note: The above steps may vary slightly depending on the design flow and the tools used, but the general idea remains the same.
# Here's a Overview of Verilog with some common concepts :
1.Data types: wire, reg, integer, real, etc.
2.Module declaration: module ();
3.Port declaration: input , ; or output , ;
4.Continuous assignments: assign = ;
5.Behavioral modeling: initial and always blocks for concurrent and sequential logic respectively.
6.Conditional statements: if (condition) begin end
7.Loops: for, while, repeat loops.
8.Case statements: case (expression) : : endcase
9.Function and Task: function ; endfunction and task ; endtask
10.Timing control: #