这一章引入了全新的时序概念,最基本的构建是Data Flip Flop,out(t)=in(t-1),以此为基础构建其他元件
Registers
16bit,需要16个DFF
当load=0时
为了一直输出上个周期的值
就必须一直赋予DFF上个周期的输出作为输入
Memory之RAMn
以RAM8为例,由8个Register组成,有3个选择位
DMux8Way(in=load,sel=address,a=a1,b=b1,c=c1,d=d1,e=e1,f=f1,g=g1,h=h1);
Register(in=in,load=a1,out=out1);
Register(in=in,load=b1,out=out2);
Register(in=in,load=c1,out=out3);
Register(in=in,load=d1,out=out4);
Register(in=in,load=e1,out=out5);
Register(in=in,load=f1,out=out6);
Register(in=in,load=g1,out=out7);
Register(in=in,load=h1,out=out8); Mux8Way16(a=out1,b=out2,c=out3,d=out4,e=out5,f=out6,g=out7,h=out8,sel=address,out=out);
DMux8way起到的作用相当于把load=1进行传递
所以Register都连着input,然后使用sel=address进行选择(address就是一个k位的地址)
Counter
首先构建思路:3个选择位,直接上3个Mux
reset对应的Mux另一个接口接False(置0)
inc对应的Mux,一个连inc之前,一个连之后