Re: realizace funkce konkrétními hradly

Jan Waclawek konfera na efton.sk
Pondělí Říjen 15 08:33:54 CEST 2012


Dovolim si dalsiu pondelkovu filozoficku neuzitocnu poznamku:


>tohle ve skutecnosti zdaleka neni uplne snadna otazka -- jak to udelat, 
>aby "hradel prilis nepribyvalo". Ba naopak, je to jeden z nejdulezitejsich 
>a stale zivych problemu soucasnosti (logicka synteza).
>
>Pokud staci, aby to danou fci plnilo a nemelo nutne optimalni nejake 
>kriterium (napr. pocet hradel), pak to jde algoritmizovat snadno. Jak uz 
>bylo psano v minule odpovedi, pro prevod mezi AND a OR plati de Morganuv 
>zakon (je to vlastne konkretni pripad krasneho dualismu mezi pojmy 
>"sjednoceni" a "prunik", doporucuji si tuto skutecnost vychutnat).
>
>Dale, kazdou fci zadanou tabulkou lze napr. trivialne algoritmicky prevest 
>na veliky OR malych ANDu (ci dualne velky OR malych ANDu). To pak lze opet 
>rutinne rozsekat treba na ty NANDy. Ale to nezaruci, ze budete mit 
>minimalni pocet prvku. A nebo minimalni zpozdeni, coz byva jindy castym 
>kriteriem.

Je zaujimave, ze dnes sa clovek coraz castejsie stretne s pripadom "mam urcity druh hradiel/logiky, a potrebujem sa nejako do nich vtesnat s mojou funkciou."

Jeden z prikladov je spomenuta AND/OR matica, co je podstatou (C)PLD; iny priklad je prave tuto panom kolegom Pecom nedavno vynajdeny citac, ktory je napasovany na "zakladne kamene" urciteho druhu FPGA.

Na druhej strane, za starych dobrych casov sa tieto funkcie realizovali minimalisticky, vychadzajuc z dokladnej znalosti pouzitych prvkov. Napriklad:

"I am going to provide a spice model of the xor gate for those who have not seen one before.  Logically it is the same as any other exclusive or gate, except that the b input is complimentary.  Also note that there are no supply connections.  This makes for a great interview question, for those who enjoy destroying interviewees.

Spice, z=output, a = input, b and bn are complimentary inputs.
mp1  z  a  b  vdd   pmos
mp2  z  b  a  vdd   pmos
mn1  z  a  bn 0     nmos
mn2  z  bn a  0     nmos
"

(v klasickom CMOS ten XOR vyjde na vyse tucet tranzistorov; tu su styri, a ak sa ma zaratat ten jeden invertor tak sest).

Samozrejme, k tomuto rieseniu je potrebne poznat aj vsetky jeho obmedzenia (tu je napriklad potreba pritomnosti jedneho komplementarneho vstupu (co vsak nezriedka je k dispozicii "prirodzene" z predchadzajucich obvodov) a potreba pomerne velkych napatovych rozdielov logickych urovni).

Dost je to podobne na to, ako sa riesia problemy digitalne versus analogovo, pripadne s procesorom versus tvrdou logikou.

wek


PS. Na http://en.wikipedia.org/wiki/XOR_gate je aj ukazka konstrukcie XOR z NAND hradiel...




Další informace o konferenci Hw-list