Jak zacit s FPGA
Milan Kořínek
korinekm na elektlabs.cz
Středa Červenec 4 11:07:17 CEST 2012
Zdravím,
ve většině případech je nutné uvádět v citlivostním seznamu všechny
signály, které se přiřazují v daném procesu. Pokud je třeba realizovat i
paměťový subsystém - tedy nějaké registry, stavy apod. tak se použivájí
globální hodiny pro jejich synchronizaci. Tento synchorinzační proces/y
má pouze v citlivostním seznamu hodiny a případně reset (ten může být
asynchronní nebo synchronní podle potřeby). Na náběžnou nebo sestupnou
hranu jsou hodnoty registrů aktualizované. Funguje to úplně stejně jako
obvod D. Lépe je to vysvětleno v knížce viz. níže.
Jedna z možností realizace detekce náběžné/sestupné hrany je:
architecture gate_level_arch of edge_detect is
signal delay_reg: std_logic;
begin
-- delay register
LOGIC_SYNC: process(clk,reset)
begin
if (reset='1') then
delay_reg <= '0';
elsif (clk'event and clk='1') then
delay_reg <= level;
end if;
end process LOGIC_SYNC;
-- decoding logic
tick <= (not delay_reg) and level;
end gate_level_arch;
Podívejte se do knížky FPGA Protopyting VHDL Examples - Xilinx Spartan
3, najdete tam všechny základy, na které se tu ptáte.
S pozdravem Milan
Dne 4.7.2012 8:34, milger napsal(a):
> napr takto:
>
> process(clk, IN_S, in_d1, in_d2)
> begin
> if rising_edge (clk) then
> in_d1<= IN; --synchronizacia na hodiny
> in_d2<=in_d1; --oneskorenie
> if ((in_d1='0')and(in_d2='1')) --dobezna
> ...;
> end if;
> if ((in_d1='1')and(in_d2='0')) --nabezna
> ...;
> end if;
> end if;
> end process;
>
> Milan
>
> On 3. 7. 2012 15:40, Posel Liptakov wrote:
>> Dekuji vsem za reakce.
>> S zabudanim nemam problem, spise naopak zabudam i to co bych si rad
>> pamatoval :-)
>>
>> Aktualne se snazim prijit na veci jako.
>> jak ve VHDL napisu neco jako Slope control, tedy obvod,ktery podle
>> stavu vstupu control bude na vystupu reagovat na nabeznou nebo
>> sestupnou hranu na vstupu?
>> Nebo jak se konfiguruji veci vazane na konkretni obvod , treba jak
>> nakonfuguruji vstupy u Spartana jako dferencialni?
>>
>> Martin
>>
>>
>>
>>
>>
>> no pokial ste zaciatocnik tak uplne prva vec ktoru musite urobit je
>> zabudnut na vsetky hradla a na to ako sa veci lepia dokopy z
>> diskretnych hradiel. Pokial sa nebavime o velmi specialnych
>> aplikaciach tak FPGA sa programuju v jazyku ktory popisuje hardware
>> (napriklad to VHDL) a o implementaciu na uroven logiky sa stara
>> kompilator a ostatne nastroje. Na mensie veci pouzivam Spartan 3An
>> 400k a miesta je tam az prekvapujuco vela. Na to co ste popisali bude
>> velmi pravdepodobne stacit aj ten 50k. Robi sa to tak ze sa napise
>> dizajn, date to skompilovat do velkej verzie, uvidite kolko zdrojov
>> to potrebuje a vyberiete najblizsi vhodny vacsi cip. Podla toho ako
>> rychlo chcete aby to bezalo moze stacit aj cip naplneny na 95% ale
>> moze sa stat ze pre vyssie rychlosti to nenamapujete ani pri 50%
>> naplneni. b. On 6/29/2012 13:22, Posel Liptakov wrote: >/Dobry den,
>> />/v jednom projektu budu nejspise muset pouzit FPGA, snazim se do
>> />/problematiky trochu proniknout, ale popravde v tom plavu jak lodni
>> delo />/bez lode. />/Kdysi jsem dostal darem vyvojovou desku Spartan
>> 3A od AVNET
>> />/http://www.files.em.avnet.com/files/177/xlx_s3a_evl_ug_rev2_112008.pdf
>> />/vytahl jsme ji ze skrine, oprasil a nainstaloval webpack ISE 14.1,
>> />/objednal jsem JTAG programator a v mezi case si trochu hraji s
>> "ISE". />/Nyni jsme ve stavu kdy dokazu v VHDL napast hradlo nebo z
>> templates />/prepsat citac, Prelozim a s trochou usili a stesti se mi
>> podari vysledek />/odsimulovat v PC. />/Dale ovsem tak trochu tapu a
>> nevim jak dal? />//>/- chybi mi nejaky komplexnejsi tutorial v kterm
>> by se slo od meho hradla />/k nejakemu komplexnejsimu projektu />/-
>> chybi mi vzorovy navrh hw z ktereho bych videl minimalisticke
>> />/doporucene zapojeni Smartan 3A, idelane j SPI FLash a i bez Flash
>> a s />/nahravanim dat z MCU />/- chybi mi nejaky dotazenejsi kurz
>> VHDL, zatim jsme zvlasne v cestine />/nasel jen pokusy ,ktere
>> skoncili drive nez zacaly />/- chybi mi predstava co jeste jde narvat
>> do Sparran 3A 50k nebo 200k, />/neumim si pod poctem hradel v obvodu
>> predstavit nic konkretnejsiho, tedy />/me predstavy konci u desitek
>> hradel :-) />//>/To ceho bych rad v tomto konkretnim pripade dosahl
>> je zhruba. Zakladni />/blok, dva 32bit citace pospojavane nejakou
>> logikou, jedna />/programovatelna delicka hodin 1,2,4,8, takovych
>> bloku potrebuji 8. Plus />/nejake seriove nebo 8bit paralelni
>> rozhrani pres ktere budu moci />/nastavovat delicky a cit respektive
>> nastavovat citace. />/V pripade rozhrani vubec nemam predstavu jak na
>> to. />/Cekal jsem, ze soucasti ISE bude knihovna "hotovych" rozhrany,
>> jako I2C, />/SPI, CAN atd. ale nic jsem nenasel, respektive nasel
>> jsem IP (k memu />/velkemu prekvapeni to neni protokol , ale
>> Intellectual Property
>> />/<http://www.xilinx.com/products/intellectual-property/>) kde
>> nejspise />/lze takoce veci koupit. />//>/Zkratka uvitam kazde
>> doporuceni a odkaz jak zacit />//>/Martin
>> />//>//>/_______________________________________________ />/HW-list
>> mailing list - sponsored by www.HW.cz <http://www.HW.cz> />/Hw-list
>> na list.hw.cz <http://list.hw.cz/mailman/listinfo/hw-list>
>> />/http://list.hw.cz/mailman/listinfo/hw-list />//
>>
>>
>> _______________________________________________
>> HW-list mailing list - sponsored bywww.HW.cz
>> Hw-list na list.hw.cz
>> http://list.hw.cz/mailman/listinfo/hw-list
>
>
>
>
> _______________________________________________
> HW-list mailing list - sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
--
Milan Korínek
Elekt Labs s.r.o.
Chaloupky 158
783 72 Velky Tynec
Czech Republic
--------------------------------------------
Mobil: +420 605 377 135
e-mail: korinekm na elektlabs.cz
http: www.elektlabs.cz
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20120704/eec1e1dd/attachment-0001.htm>
Další informace o konferenci Hw-list