реклама на сайте
подробности

 
 
> модуль spi slave verilog
sergey sva
сообщение May 9 2015, 15:14
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 546
Регистрация: 23-05-07
Из: Самарская область Сызрань
Пользователь №: 27 923



Хочу попробовать запустить spi slave на циклоне. Поискал в сети готовые исходники, примеров много для этого интерфейса не знаю с какого начать, подскажите пожалуйста ссылку на проверенный пример, который вам понравился ))
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
fookat
сообщение Aug 3 2016, 08:17
Сообщение #2





Группа: Новичок
Сообщений: 4
Регистрация: 3-08-16
Пользователь №: 92 818



Здравствуйте. Недавно начал вникать в тему FPGA и поэтому возник вопрос..
В коде присутствуют регистры для устранения метастабильности rx_done.

Код
   reg                     rx_done;
   reg                     rx_done_flip1;
   reg                     rx_done_flip2;
   reg                     rx_done_flip3;


По фронту тактирующего сигнала CLK_I происходит запись в эти регистры

Код
   always @(posedge CLK_I or posedge RST_I)
     if (RST_I) begin
       rx_done_flip1                <= #UDLY 1'b0;
       rx_done_flip2                <= #UDLY 1'b0;
       rx_done_flip3                <= #UDLY 1'b0;
     end
     else begin
       rx_done_flip1                <= #UDLY rx_done;
       rx_done_flip2                <= #UDLY rx_done_flip1;
       rx_done_flip3                <= #UDLY rx_done_flip2;
     end


Меня интересует почему во время записи reg_rxdata <= rx_shift_data;
используется проверка if (rx_done_flip1 && !rx_done_flip2)

Код
   always @(posedge CLK_I or posedge RST_I)
     if(RST_I)
       reg_rxdata            <= #UDLY 'h0;
     else if (rx_done_flip1 && !rx_done_flip2)
       reg_rxdata            <= #UDLY rx_shift_data;


А при установке регистра reg_rrdy
используется проверка else if (rx_done_flip2 && !rx_done_flip3)

Код
   always @(posedge CLK_I or posedge RST_I)
     if (RST_I)
       reg_rrdy                     <= #UDLY 1'b0;
     else if (rx_done_flip2 && !rx_done_flip3)
       reg_rrdy                     <= #UDLY 1'b1;
     else if (WR_RD && !CSn)
       reg_rrdy                     <= #UDLY 1'b0;



И почему, например в (rx_done_flip2 && !rx_done_flip3), регистр rx_done_flip3 берётся с инверсией?
Чтобы значение reg_rrdy было зафиксировано только когда rx_done_flip2 установлен, а rx_done_flip3 ещё нет?

Спасибо.

Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- sergey sva   модуль spi slave verilog   May 9 2015, 15:14
- - Maverick   RE: модуль spi slave verilog   May 9 2015, 17:48
- - sergey sva   Благодарю за код, давайте если не жалко )). Есть ...   May 10 2015, 09:03
|- - Maverick   Цитата(sergey sva @ May 10 2015, 12:03) Б...   May 10 2015, 11:20
- - sergey sva   Благодарю вас. Эта задержка синтезируется или это ...   May 10 2015, 13:09
|- - Maverick   Цитата(sergey sva @ May 10 2015, 16:09) Б...   May 10 2015, 13:10
|- - johan   Цитата(Maverick @ May 10 2015, 16:10) тол...   May 10 2015, 17:52
|- - Maverick   Цитата(johan @ May 10 2015, 20:52) Где-то...   May 10 2015, 17:58
||- - johan   Цитата(Maverick @ May 10 2015, 20:58) а ч...   May 10 2015, 18:59
|- - Nepoch   Цитата(johan @ May 10 2015, 21:52) Где-то...   May 20 2015, 17:58
- - sergey sva   Понятно. Попробовал сразу все заработало)). Частот...   May 10 2015, 13:20
|- - Maverick   Цитата(sergey sva @ May 10 2015, 16:20) Е...   May 10 2015, 13:57
- - sergey sva   Да совпадают Код RCC_APB2PeriphClockCmd(RCC_A...   May 10 2015, 15:35
- - sergey sva   Можно как то синтезировать задержку? Иногда очень ...   May 10 2015, 18:30
- - krux   #1 сильно помогает "старой гвардии", при...   May 20 2015, 18:11
|- - Tausinov   Путем таких нехитрых условий требуемое действие пр...   Aug 3 2016, 09:31
- - glb   Доброго дня! Использовал приведенный пример SP...   Aug 23 2016, 12:53
- - likeasm   Цитата(glb @ Aug 23 2016, 15:53) Доброго ...   Aug 26 2016, 08:04
- - Jenya7   решил поднять тему. посмотрел описание SPI Slave н...   Feb 20 2017, 07:50


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 10:39
Рейтинг@Mail.ru


Страница сгенерированна за 0.01375 секунд с 7
ELECTRONIX ©2004-2016