Leren Verilog: Een korte Tutorial-serie over digitale elektronica ontwerp met FPGA en Verilog HDL (11 / 21 stap)

Stap 11: VM 2.0: Verilog poort en draad soorten


In het laatste voorbeeld, je zag de volgende verklaring van de module:

module hello_world)
input schakelaar [0],
input schakelaar [1],
uitvoer geleid
);

Wat input en output betekenen in dit verband? Dit zijn de id's die de compiler vertellen wat voor soort "poort" die u maakt. Verilog zullen we omgaan met de volgende id's in de verklaring van de module:

input : een invoerpoort, type "wire" is aangenomen. Een invoerpoort kan niet elke waarde binnen de module worden toegewezen.

uitgang : type "draad" wordt uitgegaan van een uitvoerpoort. Een draad van uitvoer een waarde met de instructie toewijzen kan worden toegewezen, of hebben de waarde ervan niet indirect bepaald door een instantie van een andere module. De draad van een uitgang kan dit niet uitdrukkelijk worden toegekend een waarde in een voorwaardelijke logica (bijvoorbeeld "als"-instructies).

uitvoer reg : een uitvoerpoort van type "reg", de afkorting voor "registreren". Dit type poort kan worden uitgaande van een waarde die onafhankelijk is van andere delen van het circuit (bijvoorbeeld toewijzen een logica van "1") en houden die waarde totdat gewijzigd. Als u de waarde van een andere haven van binnen een "always" blok (een stuk van de code die wordt uitgevoerd bij een wijziging van de parameters) zal veranderen wilt u gebruiken een reg.

Kortom, dient een draad als een vorm van de verbindingslijn een punt naar het andere, zoals een echt woord broncode een AND-poort, en een reg zijn eigen bron die maken kunt naar een bestemming gaat.

Binnenkant van een module maken we interne draden en regs voor gebruik binnen de module. Dit is handig wanneer u wilt aanbrengen de inbreng van één exemplaar van een module die gelijk is aan de output van sommige andere exemplaar module. Omdat een draad niet over een eigen driver kunt u ontspringt de output van een module, en de plaats van bestemming de invoer van een ander. Met dit in gedachten, hoe denkt u dat u zou verklaren een draad of reg voor gebruik binnenkant van een module?

draad my_wire;
reg my_reg;

Merk op dat we hoeft niet te geven als de draad/reg is een input of output voor interne draden en regs omdat in om deze te correct route in ons ontwerp uiteindelijk we het een bron en bestemming geven zal.

In Verilog kunnen we toewijzen een uitvoer draad gelijk is aan een interne reg of draad. Dit laat ons wijzigt u de waarde van een output voorwaardelijk omdat als we de reg veranderen we ook de output wijzigen (Onthoud dat direct het wijzigen van de waarde op een uitgang is verboden).
Toepassing is op alle genoemde poorten, draden en regs zijn wat wij noemen bussen of, vectoren (matrices). We kunnen het groeperen van soortgelijke signalen met behulp van een bus. In het laatste voorbeeld stelde ik de vraag "Is er een manier om te definiëren alleen 2 poorten voor drie totale inputs en outputs?" Met behulp van een bus kunnen wij. In plaats van "invoer switch0, ingang switch1" we gewoon kunt declareren "invoer [1:0] schakelaar". Hierdoor ontstaat een twee bits bus genaamd "switch". Wij kan verwijzen naar specifieke delen van de "switch" met behulp van de operator [] zoals in "switch [0]". Bussen zijn zeer nuttig in Verilog als het vermindert de hoeveelheid code die we hebben om te produceren.

Verklaren een bus met de volgende syntaxis ("type" verwijst naar de input, output, draad of reg):
< type > [< max index >: < min index >] < bus naam >

Als u een bus binnenkant van een module verklaren, moet u een puntkomma aan het einde toevoegen. Als u verklaren dat een bus in de verklaring van de module worden zeker u op komma afbakenen alle definities voor gebruikersobjecten.

Welke implicaties heeft een bus op uw UCF-bestand? Alle onderdelen van de bus krijgt een naam die begint met de algemene benaming en wordt gevolgd door de index in de bus. Dus "switch [1:0]" zal ingaan op de UCF als twee posten, "switch < 0 >" en "switch < 1 >". Vergeet niet om de <>-operatoren gebruiken voor de UCF!

Afgebeeld zijn breadboard jumper draden; u hoeft niet te zorgen over die op de meeste FPGA ontwerp planken zoals ze zal hebben gebouwd in prikkels zoals switches.

Gerelateerde Artikelen

Hoe maak je een korting op de schouder lange mouwen jurk met riem

Hoe maak je een korting op de schouder lange mouwen jurk met riem

Turkoois, zwart of andere kleuren je wilt. Maak een mooie, dromerige jurk voor de lente! Stel dat u zal de afgunst tussen uw vrienden ;)Om deze jurk die je nodig hebt: jersey of lycra, pins, naaimachine, schaar, meten tape, krijt of potlood.Stap 1: E
Maken van een kort verhaal met niets, maar een willekeurige Object voor je

Maken van een kort verhaal met niets, maar een willekeurige Object voor je

Soms schrijven de moeilijkste manier om jezelf te uiten aan de wereld kan worden. Maar zodra u wat weet te schrijven en je zoveel oefenen hebt als je kunt krijgen, je bent een stap dichter bij steeds een groot schrijver.Uiteraard moet je een beetje m
LinKit een GPS Tutorial

LinKit een GPS Tutorial

Uit de talrijke functies die de Linkit één Raad van bestuur heeft, is GPS een van hen! Toen ik begon op proberen te gebruiken GPS de Linkit, kostte het me weken te halen op werking omdat:Was ik onbekend met de werking van GPSHet codevoorbeeld hoefde
Beginners Video Tutorial-serie voor IoT met Intel Edison (IntelIot)

Beginners Video Tutorial-serie voor IoT met Intel Edison (IntelIot)

Ongeveer een maand terug ik de gelegenheid gehad om deel uit te maken van IoT road show wordt georganiseerd door Intel in Pune, India. Het was een geweldige ervaring. Ik wilde een IoT gecontroleerde RC auto met paar functies te bouwen. Die hebben gew
SketchUp 3D modellering, Bestandsconversie en advies voor afdrukken in 3d, een korte handleiding

SketchUp 3D modellering, Bestandsconversie en advies voor afdrukken in 3d, een korte handleiding

Ik zag deze wedstrijd met betrekking tot afdrukken in 3d en dacht ik moet invoeren, deels omdat ik zou heel graag enkele van de prijzen en ook omdat ik denk dat dit instructable kan helpen u om uw 3D-modellering en vandaar animatie of 3d printen verm
Bouwen van een korte draak (16 voet 3 - Board Outrigger zeilen kano)

Bouwen van een korte draak (16 voet 3 - Board Outrigger zeilen kano)

Opmerking: versie 4.0 12 mei 2011--toegevoegde stap 7 over een korte trimaran conversie voor de uitdaging van de Everglades. Ik praat meer over zeilen (en andere dingen) op mijn blog, Tristram Shandy in de 21e eeuw, www.tristramshandy21st.blogspot.co
Krijgen begon met Python en programmeren - de korte Tutorial

Krijgen begon met Python en programmeren - de korte Tutorial

zodat ik zien dat u geïnteresseerd bent in het leren over programmeren... of slangen.Als u hier voor slangen, spijt dat is dit niet de plek voor jou. Nou, misschien...Als u hier bent om te leren over programmeren of Python dan u bent aangekomen. Deze
Een korte geschiedenis van de tijd

Een korte geschiedenis van de tijd

"Mensen begrijpen niet tijd. Het is niet wat u denkt dat het is. - Mensen veronderstellen dat de tijd een strikte progressie van oorzaak daartoe is... maar eigenlijk, vanuit het oogpunt van niet-lineaire, niet-subjectieve meer als een grote bal van w
Hoe schrijf je een kort verhaal

Hoe schrijf je een kort verhaal

IntroOm te leren hoe om te schrijven een kort verhaal, je moet kiezen uw thema's, instelling(en), tekens en het punt van uitzicht (1e persoon, 2de persoon, 3e persoon). Je moet hebben een interessant onderwerp en gebruik van grote woorden, zodat mens
Leren tekenen een stripfiguur

Leren tekenen een stripfiguur

Say goodbye te houden van mannen voor eeuwig! Dit Instructable leert u fundamentele beginselen die u kunnen helpen uw eigen indrukwekkende stripfiguur tekenen. Afhankelijk van hoe comfortabel u in tekenen bent, kan beheersen van dit eenvoudige karakt
Een volledig nieuwe theorie over de bouw van piramides (voor zover ik weet)

Een volledig nieuwe theorie over de bouw van piramides (voor zover ik weet)

Dus, hier is het uitgangspunt: U bent een miljardair dot com, of de uitvinder van een smaak van sociale media software app, of misschien u zojuist heb verlaten potjes door uw rijke oude oom en uw BFF pussycat heeft net verloren alle negen levens is d
Een andere How-To over verbetering van uw gezichtsvermogen natuurlijk.

Een andere How-To over verbetering van uw gezichtsvermogen natuurlijk.

ik zal open uw ogen tot een manier van verbeteren visie natuurlijk, door eenvoudige oog oefeningen die zal leiden tot een gezonde ogen en visie duidelijk te volgen. Ik zal vertellen dat u wilt dat ik weet, en ik wil horen van mensen die het toevoegen
Leren van een tweede taal een woord een dag armband

Leren van een tweede taal een woord een dag armband

de universele moeilijkheidsgraad van het leren van een tweede taal is het feit dat studenten oren, mond, ogen, handen en gedachten niet worden ondergedompeld in het milieu. Als ze niet de kans om te gebruiken wat ze leren al snel genoeg, vergeten stu
Hoe maak je een korte Film van Professional voor $80 (deel I - pre-productie).

Hoe maak je een korte Film van Professional voor $80 (deel I - pre-productie).

Deel II kan hier worden gevonden: How to make van een korte Film van Professional voor $80 (deel II - productie)Ik heb het maken van films sinds de vijfde klas. In deze tijd, heb ik talloze korte broek die voortdurend beter krijgen gemaakt. Als een s