Нужно разработать простой для школы. Более конкретно Moore FSM. Я не уверен, как происходят состояния, происходит ли следующее состояние каждого часа? Мне нужно знать, потому что им интересно, могу ли я сдвинуть регистр и добавить к нему значение, все в одном состоянии ... Могут ли использовать ребра волны?В FSMs одно государство занимает один такт или больше?
РЕДАКТИРОВАТЬ:
Я должен спроектировать АЛУ часть с регистрами в качестве схемы из ворот уровня, так что нет целевой процессора.
Я сделал алгоритмную диаграмму, затем поставил состояния в функциональные блоки согласно Правилам управления Moore FSM. каждый блок операций получает одно состояние.
Например, в состоянии S1, я имею следующие операции: y0 = сдвиг влево Reg1; y1 = Reg1 = Reg1 + Reg2. Таким образом, микрокоманда, что управляющая часть Moore выходов FSM будет 0000011 (yn ... y1, y0). Этот микрокоманда должен быть входной частью ALU, которую мне нужно спроектировать. Теперь я понял y1, y0 будет конфликтовать друг с другом, поскольку оба используют Reg1.
Его проблемный вопрос, поскольку на самом деле у меня нет элемента управления, я должен представить основной FSM и создать только ALU с регистрами. Вот почему мне было интересно, если я получаю больше одного такта, поэтому я могу выполнить последовательность y0, y1 или мне нужно завершить всю операцию за один такт?
Я планирую создавать параллельные параллельные регистры без сдвига, очевидно, что я не могу выполнять две операции микрокоманды в одно и то же время. Так что я могу сделать:
1. make extra states? which i really dont want to do
2.use edges of a single clock? (might cause problems?)
3.Assume i get a preset amount of ticks from the clock to complete the microcommand ?
This would make the most sense, but i dont know if its the case.
The control unit does "know" the algorithm and thus how many operations need to be performed
Я должен еще раз отметить, что управляющая часть является полностью абстрактным и я понятия не имею, как это обрабатывается на практике.
Я объяснил ситуацию немного больше в своем редактировании. (studyign IT at uni, What books; p?) Считаете ли вы, что третье предположение - это то, что я могу сделать? – ollo
@Ollosaurusrex Я понятия не имею :) Поговорите с одноклассниками/TA/учителем для руководства. Одна вещь, которую я изучил, - это * явно заявить * [новые] предположения и поддерживать их с обоснованиями. Даже если это неправильно, это дает начало для понимания и документирует сделанные выборы. –