FPGA (CPLD) a (a)synchronni navrh?

Milan milger@pobox.sk
Čtvrtek Září 8 13:15:38 CEST 2005


Tak to skusim v skratke na priklade:
Predstav si ze potrebujes riesit zmenu stavu vystupu vzdy pri splneni 
podmienky A or B and C

1. - prepojis vstup a vystup klopneho obvodu cez invertor
    - urobis A or B and C, vystup privedies na hodinovy vstup klopneho 
obvodu

2. - prepojis vstup a vystup klopneho obvodu cez invertor
    - na hodinovy vstup klopneho obvodu pripojis rychle hodiny CLK
    - urobis A or B and C, vystup privedies na CLOCK_ ENABLE  klopneho 
obvodu
    - signaly A,B,C budu samozrejme osetrene podobne, budu prichadzat spoza 
klopaku vzorkovaneho rovnakymi hodinami CLK

1. riesenie je typicky asynchronne, na FPGA je to skor generator hazadu 
/netreba to brat doslovne/
2. riesenie sice oneskori nastavenie vystupu o periodu hodin CLK, ale 
rovnako zabezpeci, ze vysledny signal, ktory pouzijes v dalsom bloku bude 
cas T stabilny a nezmeneny. Signal bude "zasynchronizovany" a ty vies ze ho 
mas posunuty prave o T a to sa da kompenzovat /v 99.999% navrhov/

Kedze FPGA realizuju log. funkciu SRAM /vstupy su adresa a vystup data/, pri 
zmene vstupov moze dochadzat k nechcenym zakmitom /ako ked na SRAM menis 
adresu a to by ti v 1. priklade  menilo vystup aj keby si nechcel/. Tento 
neblahy jav odstranis iba synchronnym navrhom, ked vsetky klopaky v navrhu 
menia svoj stav v jeden moment 2. /ked k tomu dochadza je signal na vstupe 
stabilny t.j. musi platit aj to ze oneskorenie signalu medzi 2 klopakmi 
/rychlost suciastky je jeden zo zakladnych parametrov/ je mensie ako perioda 
synchronnych  hodin/

CPLD nemaju SRAM a teda maju o problem menej.

Zjednodusene sa da povedat ze navrhy, ktore idu na FPGA, pojdu urcite aj na 
CPLD /pokial sa tam zmestia a suciastka to bude stihat/. Bohuzial opacne sa 
to uz jednoznacne povedat neda.


Je to nadlho a mne sa uz nechce pisat a mozno nie som ani celkom presny ale 
isto ma niekto opravi.

Milan

----- Original Message ----- 
From: "Marek Peca" <marek@tynska.cuni.cz>
To: "Eletrika" <hw-list@hw.cz>
Sent: Thursday, September 08, 2005 12:31 PM
Subject: FPGA (CPLD) a (a)synchronni navrh?


Zdravim,

predesilam, ze me poznani a osviceni ohledne logickych obvodu jeste
nedosahlo do vsech hlubin a taju, ktere lze kolem dvou cislic a
zpetne vazby vypestovat, neovladam uvahy o vsech druzich hazardu v
asynchronnich obvodech.

V prave rozvinute diskusi jsem nepochopil toto:

#> FPGA znamena obrovsky pocet malych buniek "rozsypanych" po velkej
#> ploche cipu. Su viac vhodne pre sekvencnu logiku, ale je takmer
#> absolutnou nevyhnutnostou synchronny navrh kvoli tazko
#> zvladnutelnym oneskoreniam medzi bunkami.

%> zistis ze to co ti povedzme chodi na CPLD na FPGA bude nestabilne
%> apod. FPGA realizuju log.  funkciu na statickej pamati, co
%> vyzaduje prisne synchronny navrh...

v cem spociva problem navrhnout asynchronni obvod v FPGA?

a) udelat jde, ale zpozdeni budou tak velka, ze se to nevyplati?

b) je treba udelat jej poctive s osetrenim vsech hazardu, pak ale
bude fungovat bez problemu (a ocekavam, ze snad rychleji/lepe, nez
synchronni)?

c) z nejakeho, mne neznameho duvodu, udelat nejde?


Dekuji za odkryti jako clovek, ktery se rovnez snazi do problematiky
CPLD/FPGA proniknout.

Preji pekny den a zdravim, Marek P.

_______________________________________________
HW-list mailing list  -  sponsored by www.HW.cz
Hw-list@list.hw.cz
http://list.hw.cz/mailman/listinfo/hw-list









__________ Informacia od NOD32 1.1211 (20050907) __________

Tato sprava bola preverena antivirusovym systemom NOD32.
http://www.eset.sk





Další informace o konferenci Hw-list