Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> Verilog

Verilog Basics: Uw Eerste AND-poort Ontwerpen

Verilog is een hardwarebeschrijvingstaal (HDL) die engineers in staat stelt om digitale logica te modelleren, simuleren en synthetiseren voor FPGA's en ASIC's. Naast zijn naaste verwant VHDL, is Verilog de industriestandaardtaal voor zowel academische curricula als commerciële productontwikkeling.

Als u nieuw bent in de wereld van programmeerbare logica of siliciumontwerp, leidt deze gids u door de basisprincipes van Verilog en laat zien hoe u een eenvoudige AND-poort bouwt – een fundamenteel element van elk digitaal systeem.

In tegenstelling tot hoog-niveau softwaretalen zoals Java of C, beschrijft Verilog hardware op poortniveau. Het resultaat is code die direct op silicium gemapt kan worden, wat ontwerpers fijnmazige controle geeft over timing, power en area.

Hieronder staat een diagram van een klassieke twee-invoer AND-poort die we in Verilog zullen modelleren.

Verilog Basics: Uw Eerste AND-poort Ontwerpen

Laten we duiken in de Verilog-implementatie.

In Verilog is het bouwblok de wire. Voor dit voorbeeld zullen we een wire behandelen als een binair signaal dat alleen 0 of 1 kan zijn.

 wire and_temp; assign and_temp = input_1 & input_2; 

De eerste regel declareert een wire genaamd and_temp. De tweede regel wijst het het resultaat toe van een logische AND tussen input_1 en input_2. In Verilog is de ampersand (&) de Booleaanse AND-operator.

Alle signalen die een module blootlegt, worden vermeld in de module header. Het module trefwoord introduceert een zelfstandig blok code met gedefinieerde in- en outputs.

 module example_and_gate ( input_1, input_2, and_result ); input input_1; input input_2; output and_result; 

Ten slotte verbinden we de interne and_temp signaal met de externe and_result output en sluiten we de module.

 /////////////////////////////////////////////////////////////////////////////// // File Downloaded from https://www.nandland.com /////////////////////////////////////////////////////////////////////////////// module example_and_gate ( input_1, input_2, and_result ); input input_1; input input_2; output and_result; wire and_temp; assign and_temp = input_1 & input_2; assign and_result = and_temp; endmodule // example_and_gate 

Gefeliciteerd – u heeft uw allereerste Verilog-module geschreven! Hoewel HDL-syntaxis verbose kan voelen vergeleken met conventionele software, biedt het ongekende precisie voor hardware-ontwerp. Met oefening zult u in staat zijn om alles te implementeren van simpele logica-poorten tot volledige graphics-pipelines.

Verilog

  1. Verilog beheersen: Complete tutorial voor digitale schakelingontwerp
  2. Verilog concatenatie beheersen: Een praktische gids
  3. Verilog-toewijzingen begrijpen: types, syntax en best practices
  4. Verilog Blocking vs. Non-Blocking: belangrijkste verschillen uitgelegd
  5. Verilog-functies beheersen voor efficiënt RTL-ontwerp
  6. Verilog Tasks begrijpen: Functions vs Tasks, Syntax en Gebruik
  7. Verilog Clock Generator: Ontwerp & Implementatie Gids
  8. Verilog Math Functions beheersen voor efficiënt Hardware-ontwerp
  9. Verilog $timeformat beheersen: Precisie en Weergave-controle
  10. Verilog Timescales begrijpen en printen in elke Scope
  11. Verilog File I/O onder de knie: Openen, Lezen, Schrijven en Sluiten