Logo da.boatexistence.com

Hvornår skal man bruge ikke-blokering?

Indholdsfortegnelse:

Hvornår skal man bruge ikke-blokering?
Hvornår skal man bruge ikke-blokering?

Video: Hvornår skal man bruge ikke-blokering?

Video: Hvornår skal man bruge ikke-blokering?
Video: Hvor skal strømmen komme fra, når vinden ikke blæser? 2024, Kan
Anonim

Du kan bruge den ikke-blokerende procedureerklæring når du vil lave flere registertildelinger inden for det samme tidstrin uden hensyn til rækkefølge eller afhængighed af hinanden. Det betyder, at ikke-blokerende erklæringer ligner faktisk hardware mere end blokerende opgaver.

Hvorfor bruger vi ikke-blokering i blokering?

Blokerende (=) og ikke-blokerende (<=) tildelinger er tilvejebragt for at kontrollere eksekveringsordren inden for en altid blokeringsudførelse-udførelse. Ikke-blokerende opgaver blokerer bogstaveligt t alt ikke udførelsen af de næste sætninger. Højre side af alle udsagn bestemmes først, derefter tildeles venstre sider sammen.

Hvornår ville du bruge blokerende kontra ikke-blokerende tildelinger, når du koder sekventiel logik?

Guideline 1: Ved modellering af sekventiel logik, brug ikke-blokerende tildelinger Retningslinje 2: Ved modellering af låse, brug ikke-blokerende tildelinger. Der er mange måder at kode kombinationslogik på ved hjælp af Verilog, men når kombinationslogikken er kodet ved hjælp af en altid blok, skal blokeringstildelinger bruges.

Hvad er blokerende og ikke-blokerende opgaver?

blokke med subtilt anderledes adfærd. • Blokeringsopgave: Evaluering og tildeling er øjeblikkelig. • Ikke-blokerende tildeling: alle tildelinger udskudt indtil alle . højre sider er blevet evalueret (slut på simulering.

Hvor bruges blokerende og ikke-blokerende Verilog?

Her er en god tommelfingerregel for Verilog: I Verilog, hvis du vil have til at skabe sekventiel logik, brug en clocked altid blok med ikke-blokerende tildelinger Hvis du vil oprette kombinationslogik, brug en altid blok med blokeringsopgaver. Prøv ikke at blande de to i den samme altid blok.

Anbefalede: