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

Регистр сдвига

Помогите изменить регистр сдвига. Нужно сделать в левую сторону

Library ieee; 
Use ieee.std_logic_1164.all; 

Entity shift is 
  Port(C, SI : in  std_logic; 
        SO : out std_logic); 
End shift; 

Architecture archi of shift is 
  Signal tmp: std_logic_vector(6 downto 0); 
  Begin 
    Process (C) 
      Begin 
        If (c'event and C='1') then 
          For i in 0 to 5 loop 
            Tmp(i+1) <= tmp(i); 
          End loop; 
          Tmp(0) <= SI; 
        End if; 
    End process; 
    SO <= tmp(6); 
End archi;

Изменено пользователем nvpwybxd

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


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

Вот как более правильно описывать сдвиговые регистры:

 

library ieee;
    use ieee.std_logic_1164.all;

entity shift_reg is
    port
    (
        clk      : in  std_logic;                            
        data_in  : in  std_logic;                         
        data_out : out std_logic                            
    );
end entity;

architecture RTL of shift_reg is
    signal reg : std_logic_vector(7 downto 0) := (others => '0');     
begin

    shift_reg_proc : process(clk)
    begin
        if (rising_edge(clk)) then                 -- по каждому переднему фронту 
            reg <= data_in & reg(7 downto 1);      -- Сдвинем данные вправо на 1 разряд. 
        end if;
    end process;
    
    data_out <= reg(0);                       

end architecture;

 

Ваше описание ужас.

 

Я специально скинул сдвиговый регистр вправо. Разберетесь и поймете как он работает, то написать сдвиговый регистр влево - дело 15 секунд. За вас тут никто лабораторные делать не будет. Для этого есть другая тема : "Предлагаю работу".

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


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

Боже мой как здесь редактировать тему, это просто ужас!
А какие проблемы? Сколько пользуюсь, ни разу вопросов не возникало!

 

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


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

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

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

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

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

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

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

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

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

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