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-zelfstudie

In de begindagen van geïntegreerde schakelingen moesten ingenieurs gaan zitten en fysiek transistors en hun verbindingen op papier tekenen om ze zo te ontwerpen dat ze op silicium kunnen worden gefabriceerd. Grotere en complexere circuits vereisten meer ingenieurs, tijd en andere middelen en al snel was er behoefte aan een betere manier om geïntegreerde circuits te ontwerpen.

VHDL werd al snel ontwikkeld om het ontwerpproces te verbeteren door ingenieurs in staat te stellen de functionaliteit van de gewenste hardware te beschrijven en automatiseringstools dat gedrag te laten omzetten in daadwerkelijke hardware-elementen zoals combinatiepoorten en sequentiële logica. Verilog is ontwikkeld om het proces te vereenvoudigen en de Hardwarebeschrijvingstaal (HDL) robuuster en flexibeler. Tegenwoordig is Verilog de meest populaire HDL die wordt gebruikt en toegepast in de halfgeleiderindustrie.

Hoe is Verilog nuttig?

Verilog creëert een abstractieniveau dat helpt om de details van de implementatie en technologie te verbergen.

Het ontwerp van een D-flip-flop zou bijvoorbeeld de kennis vereisen van hoe de transistors moeten worden gerangschikt om een ​​positieve-edge-getriggerde FF te bereiken en wat de opkomst-, val- en clk-Q-tijden nodig zijn om de waarde op een flop te vergrendelen. onder vele andere technologie georiënteerde details. Vermogensdissipatie, timing en het vermogen om netten en andere flops aan te sturen, vereisen ook een grondiger begrip van de fysieke kenmerken van een transistor.

Verilog helpt ons om ons op het gedrag te concentreren en de rest later op te lossen.

Voorbeeld

De volgende code illustreert hoe een Verilog-code eruitziet. In het volgende artikel zullen we dieper ingaan op de details van de code. Laten we voorlopig gewoon begrijpen dat het gedrag van een teller wordt beschreven. De code laat de teller in wezen optellen als het up_down-signaal 1 is en omlaag als de waarde 0 is. Het stelt ook de teller opnieuw in als het signaal rstn 0 wordt, waardoor dit een active-low-reset wordt.

  
  
	module ctr (input  				up_down,
									clk,
									rstn,
	            output reg [2:0] 	out);
		
		always @ (posedge clk)
			if (!rstn)
				out <= 0;
			else begin
				if (up_down)
					out <= out + 1;
				else
					out <= out - 1;
			end
	endmodule

  

Het eenvoudige voorbeeld dat hierboven wordt getoond, illustreert hoe alle fysieke implementatiedetails zijn verborgen, terwijl het toch een duidelijk idee geeft van hoe de teller werkt.

ctr is een module die een op/neer-teller vertegenwoordigt, en het is mogelijk om de daadwerkelijke fysieke implementatie van het ontwerp te kiezen uit een breed scala aan verschillende stijlen van flops die zijn geoptimaliseerd voor gebied, kracht en prestaties. Ze worden meestal gecompileerd in bibliotheken en zullen in een later stadium van het ontwerpproces voor ons beschikbaar zijn om binnen EDA-tools te selecteren.

Nu je weet wat Verilog is, gaan we Verilog leren!


Verilog

  1. C Zelfstudie
  2. Verilog-aaneenschakeling
  3. Verilog-opdrachten
  4. Verilog blokkeren en niet-blokkeren
  5. Verilog-functies
  6. Verilog-taak
  7. Verilog-klokgenerator
  8. Verilog wiskundige functies
  9. Verilog Tijdnotatie
  10. Ultiboard PCB-ontwerphandleiding
  11. KiCAD PCB-ontwerphandleiding