woofer46 0 December 29, 2015 Posted December 29, 2015 · Report post woofer46, у Вас вывод dataInIO модуля соединен с двунаправленной ножной dataIO через мультиплексор lpm_mux2. Т.е. эти цепи физически разделены и ножка dataIO на вход не работает. Да, кажется одну из ошибок я понял Quote Share this post Link to post Share on other sites More sharing options...
woofer46 0 December 29, 2015 Posted December 29, 2015 · Report post module 3statePort ( inout [7:0]dataInIO, // двунаправленный порт input direction, // сигнал управления input [7:0] dataIn, // данные на передачу (Эти данные я буду передавать?) output[7:0]dataOUT // данные с приема(Тут полученные данные извне) ); assign dataInIO = direction ? dataIn : 8'bz; //Если дир == 1 на двунаправленные порт dataInIO будет выводиться значение dataIn, иначе ножка как вход z-state assign dataOUT = direction ? 8'h00 : dataInIO; // Если дир == 1 dataOUT будет выводится данные dataInIO, иначе нули Гуру дело говорит! В общем-то самое правильное было бы - вытащить из блока ноги "dataOUT", "dataIn" и "direction" в Top, а там уже использовать библиотечный модуль BUFFIO woofer46, у Вас вывод dataInIO модуля соединен с двунаправленной ножной dataIO через мультиплексор lpm_mux2. Т.е. эти цепи физически разделены и ножка dataIO на вход не работает. Спасибо! Изменил структуру, теперь у меня threestatePort, в зависимости от dir коммутирует на dataOUT или dataInIO или dataIn. Дальше dataOUT расходится по модулям. module threestatePort ( input clk80, inout [7:0]dataInIO, // двунаправленный порт input direction, // 1 - выдача, 0 - вход input [7:0] dataIn, // данные на передачу (то что передадим) output[7:0]dataOUT // данные с приема (эти данные придут извне) ); assign dataInIO = direction ? dataIn : 8'bz; //Если dir==1 то на dataInIO выдаем dataIn assign dataOUT = dataInIO; //Присваиваем значение dataInIO, dataOUT будем смотреть когда dir 0 (слушаем извне) endmodule Quote Share this post Link to post Share on other sites More sharing options...
demon3200 0 December 29, 2015 Posted December 29, 2015 · Report post Теперь другое дело. А зачем Вам тактовый сигнал в модуле threestatePort? Quote Share this post Link to post Share on other sites More sharing options...
iosifk 3 December 29, 2015 Posted December 29, 2015 · Report post module threestatePort ( input clk80, inout [7:0]dataInIO, // двунаправленный порт input direction, // 1 - выдача, 0 - вход input [7:0] dataIn, // данные на передачу (то что передадим) output[7:0]dataOUT // данные с приема (эти данные придут извне) ); assign dataInIO = direction ? dataIn : 8'bz; //Если dir==1 то на dataInIO выдаем dataIn assign dataOUT = dataInIO; //Присваиваем значение dataInIO, dataOUT будем смотреть когда dir 0 (слушаем извне) endmodule Ужасное оформление текста. А это верный путь к большому числу ошибок! Смотрите "Краткий Курс", главу о "написании кода"... Quote Share this post Link to post Share on other sites More sharing options...
woofer46 0 December 29, 2015 Posted December 29, 2015 · Report post Теперь другое дело. А зачем Вам тактовый сигнал в модуле threestatePort? Лишний, подчистил) Еще раз спасибо =) Quote Share this post Link to post Share on other sites More sharing options...