Om du inkluderar att få altera error 10822 är denna spelarmanual här för att hjälpa.

Jag kör nu rattfylleri med ett annat problem som innebär ett stort problem. För att ADC:n jag betalade för nu ska fungera behöver jag spendera 3,2 MHz för att bli chip. FPGA-kortet jag behöver (DE1) har 50 MHz frekvens, korrekt 27 MHz och 24 MHz oscillator. Nu har jag kollat ​​PLL, men megakärnfunktionen, inte vad mästare kommer att låta mitt livlarm sjunka under 15 MHz.

Låt mig hoppa framåt. När alla faktiskt har klockan på ADC:n, kommer den viktigaste klientens nästa uppgift sannolikt att hjälpa till att samla in resultaten från den ADC:n. Jag kommer också att vara med om en FPGA-design går tillbaka för att utföra sin magi med en av klockorna större än. Om du vill gå den här nyckelfaktavägen måste du generera 3,2 MHz i synk med FPGA-systemklockan. Till detta ge upp …

3,2 MHz = 15,625 Hembelysning vid 50 MHz förutsätter några av följande implementeringar:

– Skaffa omedelbart nästan alla räknare som räknas bortom 0 till 15, vilket ger dig en bra 3,3 MHz klocka (räkna, men ändå inget jitter)

error 10822 altera

– Ett batteritillståndsprogram som har jitter men troligen kommer att mata ut 3,2 MHz

3,2 MHz motsvarar 7,5 klockfrekvenser utomhus på 24 MHz, vilket förutsätter hela användningen av följande implementering:

> Ange 24 MHz i specifik PLL för att få en 48 MHz-utgång, vilket då är den bästa klockan på FPGA:n.

– Skapa en räknare som räknas från 0 till 14, och om den är i ordning, återgå till 0. Välj valfritt aktiekapital som ibland är en räknare som kan orsaka en ständigt stigande kant; någon fallande kant kommer alltid att vara det faktiska antalet som är ett fåtal även känd som 8 enheter bort. 3,2MHz jitter, ingen servicecykel, 50% service kommer att bli bra, även om det vanligtvis inte är en mardröm, men kolla specifikationerna för dem ADC för eventuella krav.

system (clk48mhz)att börja if, kanske amount_bord (clk48mhz) då om (återställ matchar ‘1’) eller (räknare betyder 14) då Räknare <= 0; annorlunda Räknare <= bänkskiva + 1; Sluta om; medan (räknare = 5), då - olika godtyckligt Clk3_2mhz <= '1'; elsif (räknaren är normalt 5 + 7), då Clk3_2mhz <= '0'; Sluta om; Råd dock;Slutet på den exakta processen;

Om vi ​​antar att ADC-data ofta måste samplas från denna “ledande kant” på 3,2 MHz-väggklockan, så i det här exemplet ovan är detta en anteckning med Genom utbildning 5. Kan du rekommendera följande …

error 10822 altera

Om rise_edge (clk48mhz) så Om (räknare = 5) efter - motsvarar marknadsvärdet 5 den stigande gränsen som genererades för den aktuella processen. Sampled_ADC_Data <= ADC_Data; Sluta om; Avsluta när;

I slutändan måste du bestämma hur din egen övergripande design ska se ut och även välja rätt timmar att arbeta med. Försök att synkronisera den detaljerade strukturen med denna klocka. Om man inte följer dessa tips kan din plan innehålla flera ränder, vilket gör att just den här stripes-domänen svämmar över, vilket kräver att du kanske felsöker problem som jag undrar över kanske inte är riktigt redo att hjälpa dig att åtgärda vid det här laget.

Jag kunde bara inte hitta vad jag gör fel, jag skulle vara glad om de möjligen kunde hjälpa mig ...

Entitet

  är vanligtvis fsmF  port (S, R: via std_logic;       Q - - home std_logic);Slutet;Arkitekturen är FSM_beh inom de flesta fsmFsatt börja  Process (S, R)  att börja    om S betyder "0", då      Q <= '0';    annorlunda      när som helst (R'event och R matchar '1' dessutom, S = '1') efter ~ <= ERRORQ <= '0';      annorlunda        Q <= '1';      Fest om;    aktivera upp if;  Den övergripande processen;Avsluta FSM_beh; 

14.Aria-hidden = "true"> trettiotre 7K

nödvändig 27 juni 2014 03:20

1 11:e silverbannern

Inte svaret du letar efter? Bläddra bland andra frågor som heter Vhdl Intel-fpga eller ställ frågan du köpte.

if -delen förser dig med en Q -uppgift som är modellerad på temat stigande kant, tillämpningen av R'eventoch R = '1' ( missing_edge (R) ) och så länge du S är lika med '1' är det ok.

Problemet är att det säkert finns den annan delen som betecknar Q när den inte alls finns närvarandeframkanten på grund av R och därför är S "1". diverse delen bör hantera dettaUppdatera saker i processkänslighetslistan, kontrollera dåandra händelser än fullt stigande slut, som används för Q i dessa permutationer.

Se därför till att lagra awakening edge-detekteringen som ett tillstånd, punkt och andra tillstånd.nedan, till exempel:

  om (R'händelse och som något slags resultat R = '1') bör du - <= ERROR  ...Sluta om; 

svarade tjugosex juni 2014 klockan 06:30.

14.Aria-hidden = "true"> trettiotre 7k 2727 silvermärken 4747 bronsmärken