2013-01-23 10 views
5
Bu çalışma için görünüşte yakın

, sadece görünüşte hattı 7'de berbat ediyor? aşağıdaki gibiDMux 4 yolumun nesi var?

/** 
* 4-way demultiplexor. 
* {a,b,c,d} = {in,0,0,0} if sel==00 
*    {0,in,0,0} if sel==01 
*    {0,0,in,0} if sel==10 
*    {0,0,0,in} if sel==11 
*/ 


CHIP DMux4Way { 
    IN in, sel[2]; 
    OUT a, b, c, d; 

    PARTS: 
    DMux(in = in, sel = sel[0], a = out1, b = out2); 

    DMux(in = out1, sel = sel[1], a = a, b = b); 
    DMux(in = out2, sel = sel[1], a = c, b = d); 
} 

benim DMux uyguladık ve sadece sanki bir ağaç olduğunu kullanıyorum:

/** 
* Dmultiplexor. 
* {a,b} = {in,0} if sel==0 
*   {0,in} if sel==1 
*/ 


CHIP DMux { 
    IN in, sel; 
    OUT a, b; 

    PARTS: 
    Not(in = sel, out = notsel); 
    And(a = in, b = notsel, out = a); 
    And(a = in, b = sel, out = b); 
} 
+2

seçenekler? http://nand2tetris.org/ kimse cevap eğer geç olmanın yanlış – Marty

+2

Bu nand2tetris elbette kullanılan bir görünüyor! Düzeltilmiş kodun mümkün olduğunca açık bir şekilde yazılmasını (kısmen) göz önünde bulundurmak isteyebilirsiniz. –

cevap

7

Doğru fikrim var! Ama sel [0] 'dan ziyade sel [0]' yı daraltarak başladınız, bu da sol sütuna karşılık geliyor.

PS: Ben Geç

Edit biliyorum: Aşağıdaki isteğinize göre sabit kod eklendi. Bir doğruluk tablosundaki sol sütunda bakın ne daraltmaya olarak geribildirim

CHIP DMux4Way { 
    IN in, sel[2]; 
    OUT a, b, c, d; 

    PARTS: 
    DMux(in = in, sel = sel[1], a = out1, b = out2); 

    DMux(in = out1, sel = sel[0], a = a, b = b); 
    DMux(in = out2, sel = sel[0], a = c, b = d); 
} 

için teşekkürler (Yani, sel [1]; sayarken sağdan başlamak unutmayın), etkili bölme olurdu HDL Eğer eşyalarını yazmaya çalışıyoruz sağ orta

+1

Hiçbir şey: Bu gibi VHDL veya Verilog ya görünmüyor ... –

+0

Bu özel durumda çözümü gerçekten göndermemelisiniz. Farkında olup olmadığından emin değilim, ama yazarlar bunu yapmamanızı özellikle istiyorlar. – michaelavila

+0

@AdrianWragg: Sana tamamen katılıyorum, ama birileri cevap olsa bile, geç cevap yanlış bir şey yoktur. Geç mi yoksa erken mi, q/a'ya değer katan her şey yolunda mı? –

İlgili konular