Перейти к содержанию
    

вопросик по синтаксису VHDL

Привожу кусок кода:

entity TxUnit is
  port (
     Clk    : in  Std_Logic;
     TxD    : out Std_Logic;
     ...);
end entity;

architecture Behaviour of TxUnit is
   signal TReg     : Std_Logic_Vector(7 downto 0); -- transmit register
   signal BitCnt   : Unsigned(3 downto 0);         -- bit counter
   ...
begin
process(Clk,Reset,Enable,Load,DataO,TBuff,TReg,tmpTRegE,tmpTBufE)
   constant CntOne    : Unsigned(3 downto 0):="0001";
   ...
begin
   ...
   case BitCnt is
   ...
      when "0001" | "0010" | "0011" |
               "0100" | "0101" | "0110" |
               "0111" | "1000" =>
          TxD <= TReg(0);
          TReg <= '1' & TReg(7 downto 1);
          BitCnt <= BitCnt + CntOne;
   end case;
   ...
end process;
end Behaviour;

Что означает строка:

      TReg <= '1' & TReg(7 downto 1);

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

      TReg <= '1' & TReg(7 downto 1);

 

 

В трег записать вектор вида 1 и оставшаяся часть Трег, без младшего разряда, я так понимаю просто сдвиг вправо с заединичивание старшего разряда.

& - оператор составления, то есть '1'&"001"&'0' будет вектор "10010"

Изменено пользователем Golikov A.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Что означает строка:

      TReg <= '1' & TReg(7 downto 1);

 

Это описание регистра сдвига, 8-и разрядного, сдвигающегося в сторону младших разрядов (0) с заполнением "1"-ми.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

сдвиг TReg вправо на один разряд с записью единицы в старший разряд.

& - операция конкатенации

 

 

я первый:)!!!!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

сдвиг TReg вправо на один разряд с записью единицы в старший разряд.

& - операция конкатенации

 

 

я первый:)!!!!

:biggrin::biggrin::biggrin: проси в свои =))))))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...