Lär dig Verilog: En kort Tutorial serie på Digital elektronik Design med FPGAs och Verilog HDL (11 / 21 steg)

Steg 11: VM 2.0: Verilog Port och tråd typer



i det sista exemplet, du såg följande modul förklaring:

() modul hello_world
ingående switch [0],
ingående switch [1],
produktionen ledde
);

Vad menar ingång och utgång i detta sammanhang? Dessa är identifierare som tala kompilatorn vilken typ av "port" du skapar. Vi kommer att behandla följande identifierare i modul deklarationen i Verilog:

indata : en indataport, typ "wire" antas. En indataport kan inte tilldelas något värde i modulen.

output : en utdataport, typ "wire" antas. En utgång tråd kan tilldelas ett värde med tilldela-uttryck, eller har dess värde bestämmas indirekt av en instans av en annan modul. En utgång tråd kan inte uttryckligen tilldelas ett värde i någon villkorad logik (e.g. "om" uttalanden).

produktionen reg : en utdataport av typen "reg", kort för "register". Denna typ av port kan ges ett värde oberoende av andra delar av banan (t.ex. tilldela den en logik "1") och hålla värdet förrän ändras. Om du kommer att ändra värdet på en port från inom en "alltid" block (en bit kod som utför vid varje förändring av dess parametrar) måste du använda en reg.

Kort sagt, fungerar en tråd som ett kontakt formulär en punkt till en annan, som ett riktigt ord källa till en AND-gate och en reg kan skapa sin egen källa som går till en destination.

Inuti en modul kan vi skapa inre trådarna och regs för använda inuti modulen. Detta är användbart när du behöver att göra inmatning av en instans av en modul är lika till produktionen av vissa andra instansierad modul. Eftersom en tråd inte har sin egen drivrutin kan du göra dess källa produktionen av en modul, och dess destination indata av en annan. Med detta i åtanke, hur tror du att du vill deklarera en tråd eller reg för användning inuti en modul?

Wire my_wire;
reg my_reg;

Observera att vi inte behöver ange om wire/reg är en in- eller utdata för interna kablar och regs eftersom att dirigera ordentligt i vår design så småningom ger vi det en källa och destination.

I Verilog kan vi tilldela en utgång tråd lika med en inre reg eller tråd. Detta låter oss ändra värdet för en utgång villkorligt eftersom om vi ändrar reg vi också ändrar utdata (kom ihåg att direkt ändra värdet på en utgång är förbjudet).
Gäller för alla ovan nämnda portar, ledningar och regs är vad vi kallar bussar, eller vektorer (matriser). Vi kan gruppera liknande signaler genom att använda en buss. I det sista exemplet ställde jag frågan "Är det ett sätt att bara definiera 2 portar för tre totala in- och utgångar?" Använda en buss kan vi. I stället för att "mata in switch0, in VÄXEL1" vi kan helt enkelt förklara "input [1:0] switch". Detta skapar en två lite buss kallas "strömbrytare". Vi kan referera till specifika delar av "switch" genom att använda [] som i "switch [0]". Bussar är mycket användbara i Verilog eftersom det minskar mängden kod vi måste producera.

Deklarera en buss med följande syntax ("typ" hänvisar till input, output, tråd eller reg):
< typ > [< max index >: < min index >] < buss namn >

Om du deklarerar en buss inne i en modul, måste du lägga till ett semikolon i slutet. Om du deklarerar en buss i modul deklarationen vara säker att kommatecken avgränsa alla dina definitioner.

Vilka konsekvenser har en buss på din UCF fil? Alla komponenter i bussen får ett namn som börjar med det gemensamma namnet och följs av dess index i bussen. Så "[1:0] switch" kommer att gå in på UCF som två poster, "växla < 0 >" och "växla < 1 >". Kom ihåg att använda de <> aktörerna för UCF!

På bilden är bakbord hoppare ledningar; du behöver inte oroa de på de flesta FPGA design styrelser som de kommer att ha byggt i stimuli som växlar.

Se Steg
Relaterade Ämnen

Att få igång med Python och programmering - The kort handledning

så jag ser att du är intresserad av lärande om programmering... eller ormar.Om du är här i ormar, tyvärr är detta inte platsen för dig. Ja, kanske...Om du är här för att lära sig om programmering eller Python då du har kommit. Denna handledning gjord...

DIY Basic sy Tutorial T-shirt / jacka / tröja / bygel / Normal och Raglan ärm

Hur jag syr en t-shirt? Sömnad för nybörjare. Vi visar dig hur att sy en skjorta, top med ärm, raglanärm, raglan tröja själv. Principen är alltid densamma oavsett om du är sömnad t-shirts, jackor, långa ärmar, raglanärm, klänningar med ärmar etc.Vi h...

Himmelska Mechanica serie: växellåda design och konstruktion

Himmelska Mechanica är en 16-ft lång kinetic stål skulptur av vårt solsystem som representerar den majestätiska dansen av himlakropparna. Den skapades av en grupp ledd av Jessika Welz för Burning Man 2014.(Projektet Facebooksida: https://www.facebook...

GTA IV - utan grafiken kort Tutorial - av SBTOPZZZ

Välkommen killar,Kan börja Grand Theft Auto 4 utan grafikkort.Steg 1: Steg 1: möjligt att ha GTA IV utan grafikkort?Om du frågar mig, säger jag Ja.GTA IV konfigurerar alltid din dator för att kontrollera krav, speciellt Grafikkort.Så, jag hade också...

DIY mikrofon byggnad Tutorial serie

del 1Del 2Del 3Del 4Del 5Del 6 Detta är en sex delar serie videoklipp om hur man bygger din egna mikrofoner. Jag kommer på detta ur bygga mikrofoner för förstärkt munspel, men många av tipsen skulle gälla byggnad mikrofoner för andra ändamål. Videorn...

1. hacka Panasonic GH2 Tutorial serie - komma igång

[youtube]0b8iBiUPWoI[/youtube]...

2. hacka Panasonic GH2 Tutorial serie - använder hacket

[youtube]IOisy0Oq0TE[/youtube]...

3. hacka Panasonic GH2 Tutorial serie - testa inställningar

[youtube]ZPhrMmX4E3Y[/youtube]...

4. hacka Panasonic GH2 Tutorial serie - testning Footage - ISO Bug

[youtube]N21mzRjJG74[/youtube]...

Hur man gör en låg poly spel modellen ser mycket mer detaljerade med mixer och Gimp

Så du vill göra ett spel men du har en dator som inte kan hantera grafik alla väl och men du ändå vill göra något som ser wicked. Detta är en metod jag gjorde upp när jag försöker göra spel.En formel jag vilja leva av är roligt > arbete. Om du arbeta...

Hur till göra mat bilder ser aptitlig med rekvisita och naturlig belysning

En bild säger tusen ord!Det finns inget som tar en minnesvärd bild och visar det för släkt och vänner och få fave recensioner på hur bilden ser ut och hur det känns när observera det.Som en ivrig foodie mig själv och inte en professionell fotograf, j...

HUR DU LÄR DIG RITA! OKONVENTIONELLA sätt att rita saker, det är enkel och trevlig.

För dem som gillar ritningen och konst! och aldrig ens försökt Rita någon sak cuz han tror att han aldrig har någon talang! Detta instructable kan vara ditt första steg som konstnär!Jag har börjat lära sig Rita bara två år sedan på mitt första år som...

Photoshop Tutorial: Skapa nödställda textur med genomskinlig bakgrund

Detta Photoshop tutorial ska show dig hur man skapar nödställda struktur och spara den som en tif-fil med en genomskinlig bakgrund i teckningen i Adobe Illustrator....

Video Tutorial: Hur man skapar en webbsida med SliceMaker produkter?

Detta är en video tutorial av SliceMaker produkter. I denna video tutorial, kommer att vi lära dig att skapa en komplett webbsida med hjälp av SliceMaker produkter.Du behöver inte skriva koder manuellt när du skapar en webbsida med SliceMaker produkt...

SliceMaker Tutorial: Hur man skapar en webbsida med SliceMaker produkter?

SliceMaker mjuk kommer att fortsätta att ge dig nya video tutorials om hur du använder deras produkter. Detta är en av den video tutoials av SliceMaker produkter. Genom denna video tutorial lära du enkelt dig att skapa en webbsida med SliceMaker prod...

Brainstorming buss Shelter design med kortplats bygga kort

studenter tillsammans bygga fysiska brainstorming modeller av busskurer med Tom registerkort som de konvertera i kortplatsen bygga kort. Slot skyddsrum modell byggnad verkstad lektionen inbjuder elementära studenter att föreställa multipurpose bussku...

2015 gym Guide: Lär dig att träna + förbättra din hälsa med 16 + års professionell vägledning!

Personlig träning är dyrt. Ännu människor fortfarande dra nytta av den personliga touch som en fitness expert erbjuder. Mitt mål med denna uppskrivning är att informera dig om att du har alternativ för DIY fitness utbildning. Jag älskar personliga tr...

Knex pistol: Gear Series #1-GGLP (växel Grenade Launcher och Pistol)

denna pistol är sparka igång en ny serie: GEAR -serien. Jag planerar att göra (förutom GGLP) ett gevär, sniper och hagelgevär.Denna pistol har en optimal räckvidd på 40ft, inklusive granat. Det är robust och ganska bärbara, tidningen rymmer ca 6 enda...

DIY blåser lila krita konst! Med hjälp av FIG lila!

i bara några enkla steg, kan du skapa detta roliga dekoration, perfekt för studentrummet eller något utrymme som behöver lite extra! Ingen limpistol som behövs!Här är vad du behöver:-1 duk.-En bild på någon låtsas att blåsa bubblor tryckt på vanliga...