如何使用通用移位寄存器实现序列生成器?
How can I implement a sequence generator using a universal shift register?
如何实现生成以下序列的序列生成器
0000
1000
0001
0011
0110
1101
1110
1111
使用通用移位寄存器?我需要使用的移位寄存器是下图的74LS194型号,其中输入S1,S0控制移位模式。
如果(S1,S0) = (0,0),则当前值锁定到下一个状态。
如果 (1,0),它向右移动。如果 (0,1),则向左移动,(1,1) 表示从并行数据输入并行加载。
如果要求只是使用我选择的触发器而不是移位寄存器,我认为这将是一个简单的问题,但对于这个要求我不知道从哪里开始。尽管我为每个数字绘制了 4 张卡诺图,但我似乎没有掌握任何线索。任何帮助,将不胜感激。提前致谢!
通用移位寄存器74LS194:
编辑:我接受了建议并用输入信号编写了下一个状态 table。
我注意到在绘制下一个状态时需要考虑的输入变量太多table。您必须考虑每个下一个状态 Qd、Qc、Qb、Qa 的 Qd Qc Qb Qa、CLR、S1、S0、RIn、LIn 信号,这意味着每个 Q 的 9 变量卡诺图,我知道这很荒谬。我在这里遗漏了什么吗?
首先要搞清楚换档模式(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) 有效。
如何实现生成以下序列的序列生成器
0000 1000 0001 0011 0110 1101 1110 1111
使用通用移位寄存器?我需要使用的移位寄存器是下图的74LS194型号,其中输入S1,S0控制移位模式。
如果(S1,S0) = (0,0),则当前值锁定到下一个状态。 如果 (1,0),它向右移动。如果 (0,1),则向左移动,(1,1) 表示从并行数据输入并行加载。
如果要求只是使用我选择的触发器而不是移位寄存器,我认为这将是一个简单的问题,但对于这个要求我不知道从哪里开始。尽管我为每个数字绘制了 4 张卡诺图,但我似乎没有掌握任何线索。任何帮助,将不胜感激。提前致谢!
通用移位寄存器74LS194:
编辑:我接受了建议并用输入信号编写了下一个状态 table。 我注意到在绘制下一个状态时需要考虑的输入变量太多table。您必须考虑每个下一个状态 Qd、Qc、Qb、Qa 的 Qd Qc Qb Qa、CLR、S1、S0、RIn、LIn 信号,这意味着每个 Q 的 9 变量卡诺图,我知道这很荒谬。我在这里遗漏了什么吗?
首先要搞清楚换档模式(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) 有效。