propal_katenok 0 March 16 Posted March 16 · Report post Всем привет,изучаю плис в Vivado и мне дали такое задание,после симуляции видно,что данные не идут на выход,а в tcl cosole видео,что байты не правильно принимаются,помогите пожалуйста 1.1. Мультиплексор имеет входной интерфейс и два выходных интерфейса обмена и обеспечивает приём пакета со входного интерфейса (типа ведомый) и выдачу пакета на один из выходных интерфейсов (типа ведущий) в зависимости от значения 2 байта, если считать с нуля от начала приёма пакета: если 0 – то пакет выдаётся на первый выходной интерфейс, иначе – на второй. 1.2. Пакетом считаются данные, присутствующие на интерфейсе в момент высокого уровня сигнала CS интерфейса SPI. Сигнал CS должен быть заложен на всех интерфейсах модуля. Пакет не может превышать 10 байт данных. 1.3. Модуль имеет вход сброса и вход тактовой частоты, являющейся синхронизирующим сигналом для выходных интерфейсов. Входные данные синхронны сигналу SCLK входного интерфейса SPI. код.docx тест бенч.docx Quote Share this post Link to post Share on other sites More sharing options...
sazh 9 March 16 Posted March 16 · Report post 2 часа назад, propal_katenok сказал: 1.2. Пакетом считаются данные, присутствующие на интерфейсе в момент высокого уровня сигнала CS интерфейса SPI. Сигнал CS должен быть заложен на всех интерфейсах модуля. Пакет не может превышать 10 байт данных. Это как то на spi не похоже. В spi интерфейсе данные идут в интервале cs. 10 байт данных - 10 интервалов cs. Вроде бы. Vivado по идеи не должен это синтезировать. packet_received byte_count у Вас описывается в двух процессах. Т.е. Вы просите синтезатор создать счетчик, триггер, у которых на тактовый вход приходили бы два разных клока. Опишите это в одном процессе. Запись принятого байта тоже под вопросом.Клоков spi интерфейса не хватить еще и для перезаписи принятого байта. Если пишете первым старший, то почему сдвиг вправо. Проще все это повесить на один системный клок и работать в периодах системного клока. Но если для учебы, высылаю пример. Как функционал. Не как боевой проект. i_spi.zip Quote Share this post Link to post Share on other sites More sharing options...
Plain 309 March 20 Posted March 20 · Report post Мультиплексор не меняет тип интерфейса, этим занимаются преобразователи интерфейсов, т.е. выходы должны быть тоже типа SPI. Quote Share this post Link to post Share on other sites More sharing options...