Output of chip to one of its inputs.

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Output of chip to one of its inputs.

colter13
It seems that Hardware Simulator won't allow me route the output of a chip to the input of one of its internal gates. I found an easy hack to get around this. Is there a better way?

// This file is part of www.nand2tetris.org
// and the book "The Elements of Computing Systems"
// by Nisan and Schocken, MIT Press.
// File name: projects/03/a/Bit.hdl

/**
 * 1-bit register.
 * If load[t]=1 then out[t+1] = in[t]
 *              else out does not change (out[t+1]=out[t])
 */

CHIP Bit {
    IN in, load;
    OUT out;

    PARTS:
    // Put your code here:
        Mux(a=loop1, b=in, sel=load, out=w1);
        DFF(in=w1, out=loop1);
        Mux(a=loop1, b=loop1, sel=false, out=out);
}
Reply | Threaded
Open this post in threaded view
|

Re: Output of chip to one of its inputs.

cadet1620
Administrator
colter13 wrote
It seems that Hardware Simulator won't allow me route the output of a chip to the input of one of its internal gates. I found an easy hack to get around this. Is there a better way?

// This file is part of www.nand2tetris.org
// and the book "The Elements of Computing Systems"
// by Nisan and Schocken, MIT Press.
// File name: projects/03/a/Bit.hdl

/**
 * 1-bit register.
 * If load[t]=1 then out[t+1] = in[t]
 *              else out does not change (out[t+1]=out[t])
 */

CHIP Bit {
    IN in, load;
    OUT out;

    PARTS:
    // Put your code here:
        Mux(a=loop1, b=in, sel=load, out=w1);
        DFF(in=w1, out=loop1);
        Mux(a=loop1, b=loop1, sel=false, out=out);
}
You can have more than one connection to a part's outputs:
    SomePart(..., out=thing1, out=thing2, ...);


--Mark
Reply | Threaded
Open this post in threaded view
|

Re: Output of chip to one of its inputs.

bader
In reply to this post by colter13
can you explain to me the logic behind this .. its confusing!!
Reply | Threaded
Open this post in threaded view
|

Re: Output of chip to one of its inputs.

cadet1620
Administrator
bader wrote
can you explain to me the logic behind this .. its confusing!!
HDL is a description of a wiring diagram. Connecting more than one named wire to a chip's output pin is like soldering more than one wire to a physical part.

--Mark