要实现右移的功能, 就要将74LS194的右移串行输入SR连接到QD(四位输出的最高位).
由于题目要求电路能够自启动, 这里我规定12个无效状态的次态均为1000(Q0Q1Q2Q3). 当状态为1000、0100、0010、0001时, 对应芯片功能为"右移"; 当状态为其它12个无效状态时, 对应芯片功能为"根据DCBA引脚置数". 由此处的分析, 绘制出下述真值表:
Q0 | Q1 | Q2 | Q3 | D0 | D1 | D2 | D3 | S1 | S0 | 功能 |
0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 置数 |
0 | 0 | 0 | 1 | × | × | × | × | 0 | 1 | 右移 |
0 | 0 | 1 | 0 | × | × | × | × | 0 | 1 | 右移 |
0 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 置数 |
0 | 1 | 0 | 0 | × | × | × | × | 0 | 1 | 右移 |
0 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 置数 |
0 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 置数 |
0 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 置数 |
1 | 0 | 0 | 0 | × | × | × | × | 0 | 1 | 右移 |
1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 置数 |
1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 置数 |
1 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 置数 |
1 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 置数 |
1 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 置数 |
1 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 置数 |
1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 置数 |
由真值表, 得出下述逻辑表达式
S1=Q1Q3+Q0Q3+Q0Q2+Q1Q2+Q2Q3+Q0Q1+Q0'Q1'Q2'Q3'(原理图1),
S0=1,
D1=D2=D3=0,
D0=1, 在实际接线中, 可将S1做下述变化, 以提升电路的可靠性:
S1=Q1Q3+Q0Q3+Q0Q2+Q1Q2+Q2Q3+Q0Q1+Q0'Q1'Q2'Q3'
=Q1Q3+Q0Q3+Q0Q2+Q1Q2+Q2Q3+Q0Q1+(Q0+Q1+Q2+Q3)'
=( ( Q1Q3+Q0Q3+Q0Q2+Q1Q2+Q2Q3+Q0Q1+(Q0+Q1+Q2+Q3)' )' )'
=( (Q1Q3)'·(Q0Q3)'·(Q0Q2)'·(Q1Q2)'·(Q2Q3)'·(Q0Q1)'·(Q0+Q1+Q2+Q3) )', 这样一来, 保障了逻辑门变化的同时性.
但由于multisim7中没有4输入的或非门, 所以将S1做下述变化:
S1=Q1Q3+Q0Q3+Q0Q2+Q1Q2+Q2Q3+Q0Q1+Q0'Q1'Q2'Q3'
=Q1Q3+Q0Q3+Q0Q2+Q1Q2+Q2Q3+Q0Q1+(Q0+Q1)'(Q2+Q3)'
=( (Q1Q3+Q0Q3+Q0Q2+Q1Q2+Q2Q3+Q0Q1)' )'+(Q0+Q1)'(Q2+Q3)'
=( (Q1Q3)'·(Q0Q3)'·(Q0Q2)'·(Q1Q2)'·(Q2Q3)'·(Q0Q1)' )'+(Q0+Q1)'(Q2+Q3)', (原理图2) 如此设计后, 逻辑门变化的同时性仍然有保障, 只是逻辑门延迟时间由2t -> 3t(设一逻辑门的延迟为t).
读者若对设计过程有疑惑, 应回过头去研究博文《74LS194功能实验》.
综上所述, 绘制出下述电路原理图.
电路原理图1:
电路原理图2: