如何实现生成以下序列的序列生成器
0000 1000 0001 0011 0110 1101 1110 1111
使用通用移位寄存器?我需要使用的移位寄存器是下面显示的74LS194型号,输入S1,S0控制换档模式。
如果(S1,S0)=(0,0),则当前值被锁定到下一状态。 如果(1,0),它会向右移动。如果(0,1),它向左移动,(1,1)表示从并行数据输入并行加载。
我认为如果要求只是使用我选择的触发器而不是移位寄存器,这将是一个简单的问题,但是根据这个要求,我不知道从哪里开始。尽管我为每个数字绘制了4张卡诺图,但我似乎并没有抓住线索。任何帮助,将不胜感激。提前谢谢!
通用移位寄存器74LS194:
编辑:我接受了建议并用输入信号写了下一个状态表。 我注意到当我绘制下一个状态表时需要考虑的输入变量太多。你必须考虑每个下一个状态Qd,Qc,Qb,Qa的Qd Qc Qb Qa,CLR,S1,S0,RIn,LIn信号,这意味着每个Q的9变量卡诺图,我知道这是荒谬的。我在这里错过了什么吗?
答案 0 :(得分:0)
要做的第一件事是弄清楚换档模式(S1,S0)。在所有情况下,只有一个班次可以工作:
0000, 1101, 1110 => shift right
1000, 0001, 0011, 0110 => shift left
1111 => load all zeros
由于并非Q0-Q3的所有组合都在序列中使用,因此从Q0-Q3到S0,S1有许多有效的功能。我注意到你可以根据1位的数量做出决定。
现在您已了解每个代码如何移位,您可以计算输入位(LSI / RSI)
0000, 1101, 1110 => LSI=1
1000, 0001, 0110 => RSI=1
0011 => RSI=0
看起来LSI总是1。
有很多功能对RSI有效。 RSI = NOT(Q0& Q1)有效。