Jump to content
    

Нужна помощь с SPI Mux

Всем привет,изучаю плис в Vivado и мне дали такое задание,после симуляции видно,что данные не идут на выход,а в tcl cosole видео,что байты не правильно принимаются,помогите пожалуйста


 

1.1.    Мультиплексор имеет входной интерфейс и два выходных интерфейса обмена и обеспечивает приём пакета со входного интерфейса (типа ведомый) и выдачу пакета на один из выходных интерфейсов (типа ведущий) в зависимости от значения 2 байта, если считать с нуля от начала приёма пакета: если 0 – то пакет выдаётся на первый выходной интерфейс, иначе – на второй.

1.2.    Пакетом считаются данные, присутствующие на интерфейсе в момент высокого уровня сигнала CS интерфейса SPI. Сигнал CS должен быть заложен на всех интерфейсах модуля. Пакет не может превышать 10 байт данных.

1.3.    Модуль имеет вход сброса и вход тактовой частоты, являющейся синхронизирующим сигналом для выходных интерфейсов. Входные данные синхронны сигналу SCLK входного интерфейса SPI.
 

код.docx тест бенч.docx

Share this post


Link to post
Share on other sites

2 часа назад, propal_katenok сказал:

 

1.2.    Пакетом считаются данные, присутствующие на интерфейсе в момент высокого уровня сигнала CS интерфейса SPI. Сигнал CS должен быть заложен на всех интерфейсах модуля. Пакет не может превышать 10 байт данных.

 

Это как то на spi не похоже. В spi интерфейсе данные идут в интервале cs. 10 байт данных  - 10 интервалов cs. Вроде бы. Vivado по идеи не должен это синтезировать.

packet_received  byte_count  у Вас описывается в двух процессах. Т.е. Вы просите синтезатор создать счетчик, триггер, у которых на тактовый вход приходили бы два разных клока. Опишите это в одном процессе. Запись принятого байта тоже под вопросом.Клоков spi интерфейса не хватить еще и для перезаписи принятого байта.  Если пишете первым старший, то почему сдвиг вправо. Проще все это повесить на один системный клок и работать в периодах системного клока. Но если для учебы, высылаю пример. Как функционал. Не как боевой проект.

i_spi.zip

Share this post


Link to post
Share on other sites

Мультиплексор не меняет тип интерфейса, этим занимаются преобразователи интерфейсов, т.е. выходы должны быть тоже типа SPI.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...