Strukturel VHDL kode til SR Flip-Flop

B

BlackOps

Guest
Hej, jeg forsøger at bygge VGA controller. det vil have 2 10 bit op tællere og 4 flip flops. Jeg har allerede en skematisk den. nu vil jeg gerne skrive ned komplet VHDL strukturel kode til min SR flip-flop, bedes du tage et kig på billedet af den flip flop, som jeg har brug for inde i mit controller. som jeg ser fra Enoks bog, er SR flip-flop bare modificeret D flip-flop, bedes du tage et kig på den anden pic. nu, jeg har brug for at ændre VHDL kode til SR flip-flop, men jeg skal også medtage asynkron klart signal, som vist på det første pic, ... for VGA-controller .. her er min kode:
Code:
 - definere driften af ​​2-input NAND gate BIBLIOTEK IEEE, BRUG IEEE.STD_LOGIC_1164.ALL, ENTITY NAND_2 er port (I0, I1: IN std_logic; O: OUT std_logic); SLUT NAND_2 , ARKITEKTUR Dataflow_NAND2 AF NAND_2 IS BEGIN O
 
SR og CLK? bibliotek IEEE, brug IEEE.STD_LOGIC_1164.all, enhed FDRS er port (Q: ud std_ulogic C: i std_ulogic, R: i std_ulogic, S: i std_ulogic, Clear: i std_ulogic), end FDRS, arkitektur FDRS_arch af FDRS er begynde proces (C, Clear) begynd if (stigende kant (Clear)) er Q
 
Til min mening, du "opfandt" en ny form for SR-flipflop - med et ur. Jeg har aldrig set det før.
 
Jeg opfandt ikke noget! havent u læse en bog af Enoch Hwang? disse billeder på mit indlæg er fra den bog! så? .... nogen ideer? og hvad synes du om det VHDL kode?
 
Hej, OK, jeg kan se, at SR-flipflop anvendes af Enok og andre steder. Jeg fandt dog, at forskellige implementeringer findes der forskellige med hensyn til opførsel med R og S begge H. Enoch siger "SR flip-flops kan indtaste en udefineret tilstand, når begge indgange er gældende samtidigt". I constrast hans præsenteret kredsløb har veldefineret adfærd opnå prioritet for S-indgang. Altera MaxPlus har SR-flipflop, der er skift med S og R både H og koden indsendt af mstrcosmos har prioritet for R-indgang. Bortset fra dette særlige problem, at VHDL koden virker korrekt. I stedet for at bruge "strukturel" kode, der har delvis uklar adfærd, ville jeg foretrække en klar beskrivelse. Den krævede prioritet for SR flipflop kan faktisk forskellige. Brug af D-flipflops du nødt til at definere den tilsigtede logik explicit. SR-flipflop beskrivelse af mstrcosmos er ikke synthesizable denne måde, få det har to kant følsomme signaler. Den sædvanlige konstruktion med asynchronouos klare bør anvendes i stedet. Som allerede sagt, den adskiller sig fra din kode vedrørende F versus S prioritet.
Code:
 proces (C, Clear) begynd if (Clear) er Q
 
u har givet adfærdsmæssige kode ... kan jeg bruge den til at bygge VGA controller til min Virtex2 pro chip, med ISE? og kan jeg placere den i en anden .. "Header"-fil .. så jeg plejer bruge det i main controller kildekode?
 
Jeg revideret den oprindelige "strukturel" kode. Det er absolut uegnet til syntese (hvis korrekt indtil videre, som jeg ikke kontrollere helt). Synthesizable kode (så vidt ur synchronouos aktion er) skal være baseret på D-FF logikelementer henholdsvis ur synkrone HDL konstruktioner. PS: Jeg antog din kode er beregnet til syntese i hardware, men du har ikke nævne det. Jeg forstår nu, at du kodet strukturelle D-FF udsigt fra Enochs bog. Visningen dybest set giver en idé, hvordan en D-FF kunne operere i hardware, men det er hverken meningsfuld for syntese eller simulering til min udtalelse. En syntese værktøj, der normalt fungerer på et højere abstraktionsniveau end individuelle porte, ville højst sandsynligt ikke genkende det på en måde, der bruger en D-FF på gate-niveau. Et simuleringsværktøj skal grundlæggende gengive adfærd, men vil også betyde meget overhead i forhold til et højere niveau beskrivelse (adfærdsmæssige eller bruger hardware D-FF). Adfærdsmæssige beskrivelser har to begrænsninger: Nogle konstruktioner er ikke synthesizable, fx forsinkelse erklæring, og det kan ikke give optimale resultater i alle tilfælde, hvor særlig logik hardware ressourcer er til rådighed. Men for at forbedre ydeevnen med strukturel kode, skal det overveje særlig logik hardware, som regel gennem sælgeren biblioteker.
 
tak u! ok jeg har kodet det som du viste mig, her er det adfærdsmæssige kode:
Code:
 LIBRARY IEEE, BRUG IEEE.STD_LOGIC_1164.ALL, ENTITY SRff er port (S, R, Ur, Clear: IN std_logic; Q: OUT std_logic) , END SRff, ARKITEKTUR adfærd SRff IS BEGIN PROCES (Clock, Clear) - følsomhed liste bruges BEGIN IF (Ryd = '1 ') og derefter Q
 
Det bør arbejde når instantiere SR-FF i strukturel kode. Lagde du mærke til, at den VGA-controller fra Enoch O. Hwang hjemmeside www.cs.lasierra.edu/ ~ ehwang er generelt bruge "adfærdsmæssige" kodning? Til min mening er det meget mere funktionel og bedre læsbar.
 
yeah, lagde jeg mærke til, tak .. men jeg er ikke sikker vil det fungere, hvis jeg bare vil kopiere og indsætte det til min ISE ... for synthesation .. også stifter mustbe tildelt .. Thats hvorfor jeg besluttede at bygge alt fra bunden i strukturel kode, men refererer til skemaer Enoks.
 
Jeg forventer, at Altera eksempel at arbejde med Xilinx så godt, forårsager VGA controller selv bruger kun almindelige VHDL konstruktioner. Med din "strukturel" beskrivelse, bør du have en forståelse, som strukturelle elementer er faktisk er til rådighed i FPGA. Disse er ikke porte i stedet for LUT baserede logikblokke , hvor en D-FF er en elementær funktion. Hvis du ignorerer disse kendsgerninger, kan du fx få HDL compiler til at bruge en multikombinerbare logik løkke i stedet for en flipflop, muligvis ikke i drift på grund af tidsmæssige problemer.
 
Jeg har samlet strukturel SR FF kode og kom til at vide, 1. du har tilføjet signal "klar" i Structural_SR_FF, hvorfor? selv signalet ikke naevnte benaevnelser andre steder?
 

Welcome to EDABoard.com

Sponsor

Back
Top