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

 
 
> FIFO на VHDL
Jenya7
сообщение Aug 1 2018, 14:36
Сообщение #1


Профессионал
*****

Группа: Участник
Сообщений: 1 778
Регистрация: 29-03-12
Пользователь №: 71 075



В Квартусе есть корка FIFO вполне такая ничего. Но там единица - байт. А как мне сделать FIFO пакетов по 13 байт?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Jenya7
сообщение Aug 5 2018, 13:46
Сообщение #2


Профессионал
*****

Группа: Участник
Сообщений: 1 778
Регистрация: 29-03-12
Пользователь №: 71 075



сделал ФИФО
Код
component fifo IS     port
     (
         clock            : in std_logic;
         data            : in std_logic_vector (7 DOWNTO 0);
         rdreq            : in std_logic;
         sclr            : in std_logic;
         wrreq            : in std_logic;
         almost_empty : out std_logic;
         almost_full     : out std_logic;
         empty            : out std_logic;
         full            : out std_logic;
         q               : out std_logic_vector (7 DOWNTO 0);
         usedw            : out std_logic_vector (8 DOWNTO 0)
     );
end component;

U_FIFO : fifo    
   port map
   (
      clock            => REG_CLK,
       data            => fifo_data_in,
       rdreq            => fifo_rdreq,    
       sclr            => '0',
       wrreq            => fifo_wrreq,
       almost_empty  => fifo_almost_empty,
       almost_full     => fifo_almost_full,
       empty            => fifo_empty,
       full            => fifo_full,
       q               => fifo_data_out,
       usedw            => fifo_usedw
   );
Пишу
Код
FIFO_INTERFACE : process (REG_CLK) variable fifo_idx : integer range 0 to 255 := 0;
begin
     if (rising_edge(REG_CLK)) then
          
           case FifoState is
          
               when ST_FIFO_IDLE =>
                
                     fifo_idx := 0;
                      
                      debug_val4 <= fifo_usedw(7 downto 0);
                      
                     if (fifo_write = '1') then
                          if (fifo_almost_full = '0') then
                              FifoState <= ST_FIFO_WRITE;
                         end if;                
                      end if;
            
             when ST_FIFO_WRITE =>     --continious write to FIFO
                     if (cs2 = '0') then   --chip select low
                          if (rx_rdy4 = '1') then  --byte received
                               fifo_wrreq <= '1';
                                 fifo_data_in <= sspi_data_in;
                                 fifo_idx := fifo_idx + 1;
                                 debug_val1 <= debug_val1 + '1';
                             end if;
                            
                           if (fifo_idx > 13) then  --overflow protection
                                fifo_idx := 0;
                               fifo_wrreq <= '0';
                              FifoState <= ST_FIFO_IDLE;
                           end if;        
                      else
                          fifo_idx := 0;
                           fifo_wrreq <= '0';
                          FifoState <= ST_FIFO_IDLE;              
                      end if;            
           end case;  
    
     end if;    
              
end process FIFO_INTERFACE;

Пишу два пакета по 13 байт - debug_val1 = 26 - логично. а debug_val4 = 0 - ноль записанных слов? почему?

Сообщение отредактировал Jenya7 - Aug 5 2018, 13:48
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Jenya7   FIFO на VHDL   Aug 1 2018, 14:36
- - andk   Эээ.. Что вы имели ввиду под словом "единица...   Aug 1 2018, 16:03
|- - Jenya7   Цитата(andk @ Aug 1 2018, 22:03) Эээ.. Чт...   Aug 2 2018, 05:13
- - Flip-fl0p   Вместо того чтобы выбирать значения из списка можн...   Aug 2 2018, 05:20
|- - Jenya7   Цитата(Flip-fl0p @ Aug 2 2018, 11:20...   Aug 2 2018, 05:22
|- - Flip-fl0p   Цитата(Jenya7 @ Aug 2 2018, 08:22) а как ...   Aug 2 2018, 05:30
||- - Jenya7   Цитата(Flip-fl0p @ Aug 2 2018, 11:30...   Aug 2 2018, 05:34
|- - quato_a   Цитата(Jenya7 @ Aug 2 2018, 08:22) а как ...   Aug 2 2018, 05:40
|- - Jenya7   Цитата(quato_a @ Aug 2 2018, 11:40) Напиш...   Aug 2 2018, 05:56
|- - quato_a   Цитата(Jenya7 @ Aug 2 2018, 08:56) у меня...   Aug 2 2018, 06:02
|- - RobFPGA   Приветствую! Цитата(Jenya7 @ Aug 2 2018,...   Aug 2 2018, 06:15
- - Jenya7   А как вам такое решение? Я создал двухмерный масси...   Aug 2 2018, 06:15
- - andk   И всё таки, что вы хотите сделать? Есть какая-то R...   Aug 2 2018, 20:30
|- - andrew_b   Цитата(andk @ Aug 2 2018, 23:30) Ну а сде...   Aug 3 2018, 04:58
|- - Jenya7   Цитата(andk @ Aug 3 2018, 01:30) И всё та...   Aug 3 2018, 06:28
|- - Flip-fl0p   Цитата(Jenya7 @ Aug 3 2018, 09:28) я приш...   Aug 3 2018, 06:39
|- - Jenya7   Цитата(Flip-fl0p @ Aug 3 2018, 11:39...   Aug 3 2018, 10:47
|- - Flip-fl0p   Цитата(Jenya7 @ Aug 3 2018, 13:47) это я ...   Aug 4 2018, 08:14
|- - Jenya7   Цитата(Flip-fl0p @ Aug 4 2018, 14:14...   Aug 5 2018, 04:45
|- - Flip-fl0p   Цитата(Jenya7 @ Aug 5 2018, 07:45) спасиб...   Aug 5 2018, 10:06
|- - RobFPGA   Приветствую! Цитата(Jenya7 @ Aug 5 2018, ...   Aug 5 2018, 12:07
- - Flip-fl0p   Ничего не понял, что Вы хотите сделать !   Aug 5 2018, 14:21
|- - Jenya7   Цитата(Flip-fl0p @ Aug 5 2018, 20:21...   Aug 5 2018, 14:23
|- - Flip-fl0p   Цитата(Jenya7 @ Aug 5 2018, 17:23) записа...   Aug 5 2018, 14:28
- - Jenya7   кхм...даже стесняюсь спросить...а кто то вообще ра...   Aug 6 2018, 05:57
- - Flip-fl0p   Цитата(Jenya7 @ Aug 6 2018, 08:57) кхм......   Aug 6 2018, 06:12
- - quato_a   Цитата(Jenya7 @ Aug 6 2018, 08:57) кхм......   Aug 6 2018, 07:01
- - RobFPGA   Приветствую! Цитата(Jenya7 @ Aug 6 2018, ...   Aug 6 2018, 07:36
- - Tpeck   Цитата(RobFPGA @ Aug 6 2018, 10:36) Приве...   Aug 7 2018, 07:42


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

 


RSS Текстовая версия Сейчас: 9th August 2025 - 09:27
Рейтинг@Mail.ru


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