Я заканчиваю проект, и требование - двухстороннее связывание между функциональными блоками внутри нашего процессора. Я знаю, что это такое, но есть ли «стандартный» или хороший простой пример?Verilog two-way handshaking пример
Единственное, что я могу думать о двух устройствах, когда между ними есть линия передачи данных, и когда X отправляет Y, подается отдельный «отправленный» сигнал. Когда Y принимает «принятый» сигнал, отправляется X на другой провод. После того, как X считывает этот принятый сигнал, он прекращает отправку данных по линии данных и устанавливает отправленный провод на 0 или Z. Затем Y также устанавливает принятый сигнал на 0 или Z.
Все это синхронно (на тех же часах).
Действительно ли это подходит для этого? Я полагаю, что он может стать очень грязным в больших масштабах, но я работаю только над простым процессором на базе аккумулятора.
Я не уверен, что это сработает. У меня есть контроллер, который на основе T-состояния посылает сигналы, когда единицы считываются с шины данных, записываются на шину данных и т. Д. Функциональные единицы сами не знают, откуда взялись или собираются данные. Если я не понял ваш ответ. – zKarp
Я не уверен, что вы ищете. Можете ли вы изменить свой вопрос, чтобы сделать его более понятным? Когда вы говорите, что Z - это Z другой компонент или это высокоимпеданс? – Russell