bodo_b Postat Noiembrie 8, 2008 Partajează Postat Noiembrie 8, 2008 Dupa cum am scris in titlu as vrea sa fac un decofificator din cod binar in cod zecimal, activ pe nivel logic 0, cu 4 intrari de selectie si 16 iesiri. Acest decodificator trebuie implementat cu porti logice inversoare ( NU ) si porti logice SI-NU. Am idee cum se face. Dupa ce m-am jucat cu diagrama Karnaugh am obtinut pentru o iesire urmatoarea functie: f(15) - una din iesiri ( ultima iesire < am numerotat de la f(0) -> f(15) ) f(15) = (I1)*(I0) + (I1)*I0 + I1*(I0) + (I3)*I1 + (I2)*I1 Obs. am notat : I1 - intrare si (I1) - intrare negata Ce nu stiu eu este cum sa implementez functia data doar cu porti inversoare NU si cu porti SI-NU cu cate 2 intrari. Mi-ar fi fost foarte usor sa folosesc porti NU, SAU, SI cu cate 2 intrari. Astept pareri. Link spre comentariu
Laci Postat Noiembrie 8, 2008 Partajează Postat Noiembrie 8, 2008 Din cate imi aduc eu aminte, daca vrei sa implementezi cu porti si-nu/sau-nu din diagrama K iei pentru minimizare 0-rile in loc de 1, iar din functia SAU este rel. usor de facut SI, cu formula De-Morgan: !(a+b) = !a*!b, daca ai functia a+b si vrei sa-l faci cu porti SI si INV => !!(a+b)= !(!a*!b) Link spre comentariu
bodo_b Postat Noiembrie 8, 2008 Autor Partajează Postat Noiembrie 8, 2008 Imi poti da exemplu direct pe functia pe care am scris-o eu ? Ca asa nu imi dau seama. :-S Link spre comentariu
EmyRulz Postat Noiembrie 8, 2008 Partajează Postat Noiembrie 8, 2008 http://hyperphysics.phy-astr.gsu.edu/hb ... an.html#c2 Link spre comentariu
cirip Postat Noiembrie 8, 2008 Partajează Postat Noiembrie 8, 2008 Ce nu stiu eu este cum sa implementez functia data doar cu porti inversoareNu cred ca este posibil asa ceva. Inversorul accepta o singura variabila de intrare (operator unar, parca se cheama), in timp ce functia ta este de mai multe variabile.Cirip Link spre comentariu
bodo_b Postat Noiembrie 8, 2008 Autor Partajează Postat Noiembrie 8, 2008 Ms ptr link. Stiu relatiile lui De Morgan. Dar vezi tu ... ca sa obtin inmultirea a doua intrari trebuie sa folosesc SAU-NU. Iar eu trebuie sa folosesc numai porti NU si porti SI-NU. Asta e durerea. Daca folosesc porti SI-NU obtin adunarea a doua intrari. Cum am dat si exemplul de mai sus, nu pot obtine cu porti SI-NU ceva de genu : (I1)*(I0) pentru ca mai tarziu sa le pot aduna, iar inmulti si sa minimizez functia. Link spre comentariu
bodo_b Postat Noiembrie 8, 2008 Autor Partajează Postat Noiembrie 8, 2008 Porti NU si porti SI-NU. Doar aceste 2 tipuri mi s-au impus sa le folosesc. Link spre comentariu
cirip Postat Noiembrie 8, 2008 Partajează Postat Noiembrie 8, 2008 Porti NU si porti SI-NU. Doar aceste 2 tipuri mi s-au impus sa le folosesc....Dar vezi tu ... ca sa obtin inmultirea a doua intrari trebuie sa folosesc SAU-NU. Iar eu trebuie sa folosesc numai porti NU si porti SI-NU. Asta e durerea.... A, ok. Pai atunci De Morgan te scoate. Cu el convertesti suma in inmultire si reciproc. Sau imi scapa ceva? Link spre comentariu
bodo_b Postat Noiembrie 8, 2008 Autor Partajează Postat Noiembrie 8, 2008 Pai hai sa le luam pe rand. Am functia asta f(15) = (I1)*(I0) + (I1)*I0 + I1*(I0) + (I3)*I1 + (I2)*I1Eu pot folosi doar porti NU si porti SI-NU.introduc (I1)*(I0) in poarta SI-NU si voi obtine I1 + I0 introduc (I1)*I0 in alta poarta SI-NU si voi obtine I1 + (I0)introduc I1*(I0) in alta poarta SI-NU si voi obtine (I1) + I0introduc (I3)*I1 in alta poarta SI-NU si voi obtine I3 + (I1)introduc (I2)*I1 in alta poarta SI-NU si voi obtine I2 + (I1)Dupa care voi avea nevoie de porti SAU si nu am facut nici o minimizare, dapai sa ajung la iesire.Este asa sau nu m-am gandit eu bine ? Link spre comentariu
cirip Postat Noiembrie 8, 2008 Partajează Postat Noiembrie 8, 2008 Pai hai sa le luam pe rand. [...]Dupa care voi avea nevoie de porti SAU si nu am facut nici o minimizare, dapai sa ajung la iesire.Este asa sau nu m-am gandit eu bine ? Imi e greu sa urmaresc, dar mi se pare ca rationamentul nu este dus pana la capat. E ca o ecuatie la care faci o parte din calcule si apoi te opresti. Nu ai ajuns inca la rezultatul final.Pe de alta parte, nu cred ca poti indeplini simultan cerinta de minimizare si restrictia tipului de porti. Daca vrei numai un anumit tip de porti, implementarea nu mai este minimala.Du transformarile pana la capat. Fa in asa fel incat expresia sa contina numai NU si SI-NU si dupa aia incerci sa minimizezi prin factorizare si alte cele, fara De Morgan. Link spre comentariu
sofian Postat Noiembrie 8, 2008 Partajează Postat Noiembrie 8, 2008 eu nu ma prea pricep la DeMorgan ala, dara asa ceva vrei tu ? Link spre comentariu
MifTy Postat Noiembrie 8, 2008 Partajează Postat Noiembrie 8, 2008 Porti NU si porti SI-NU. Doar aceste 2 tipuri mi s-au impus sa le folosesc. ... Dar vezi tu ... ca sa obtin inmultirea a doua intrari trebuie sa folosesc SAU-NU. Iar eu trebuie sa folosesc numai porti NU si porti SI-NU. Asta e durerea. ... A, ok. Pai atunci De Morgan te scoate. Cu el convertesti suma in inmultire si reciproc. Sau imi scapa ceva?asta imi aduce aminte ca z80 nu facea inmultiri, ca nu putea, putea face impartiri, adunari, si scaderi.ca sa faci inmultiri, pur si simplu adunai pana la x valoare, o puneai in acumulator, si urmau restul operatiilor... de-aia inmultirea era lenta si scrisa in asm... si cum grafica fluenta depinde de viteza cu care se calculeaza niste inmultiri...!!! z80 era, cui nu stie, procesor pe 8 biti... Link spre comentariu
francezu Postat Noiembrie 8, 2008 Partajează Postat Noiembrie 8, 2008 Cu porti SI-NU poti implementa toate celelalte functii logice,vezi primul tabel din fisierul atasat. Sper sa fie de ajutor. Link spre comentariu
cirip Postat Noiembrie 8, 2008 Partajează Postat Noiembrie 8, 2008 eu nu ma prea pricep la DeMorgan ala, dara asa ceva vrei tu ? Ha ha, cred ca asta e schema lui 7447 sau 4511, dar cred ca bodo_b are de facut o tema sau un proiect, ceva, si la alea tre' demonstrat de ce e schema asa cum e. Link spre comentariu
Laci Postat Noiembrie 9, 2008 Partajează Postat Noiembrie 9, 2008 Am functia asta f(15) = (I1)*(I0) + (I1)*I0 + I1*(I0) + (I3)*I1 + (I2)*I1 ?? de ce nu notezi cu literef(15) = (!b*!a) + (!b*a) + (b*!a) + (!d*b) + (!c*b)a = i0b = i1...(a) = !af(15) cu porti si-nu: !!(f(15), si dezvolti => f(15)= !( !(!b*!a) * !(!b*a) * !(b*!a) * !(!d*b) * !(!c*b) ) ta-da, ai numai si-nu, si inv. Link spre comentariu
Postări Recomandate
Creează un cont sau autentifică-te pentru a adăuga comentariu
Trebuie să fi un membru pentru a putea lăsa un comentariu.
Creează un cont
Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!
Înregistrează un nou contAutentificare
Ai deja un cont? Autentifică-te aici.
Autentifică-te acum