Нужна помощь параллельно серийный модуль VHDL

M

missbirdie

Guest
Привет
У меня есть вопрос по поводу следующего кода VHDL конвертировать из параллельно серийный номер:

библиотека IEEE;
IEEE.STD_LOGIC_1164.ALL использования;
IEEE.STD_LOGIC_ARITH.ALL использования;
IEEE.STD_LOGIC_UNSIGNED.ALL использования;

организация является PAR2SER
Порт (DIN: в STD_LOGIC;
MODE: в STD_LOGIC;
CLK: в STD_LOGIC;
RESET: в STD_LOGIC;
SDOUT: из STD_LOGIC);
конец PAR2SER;

- Цель: Реализация основных архитектуры PAR2SER

ПОВЕДЕНИЕ архитектуры в PAR2SER является

сигнал IDATA: std_logic_vector (7 downto 0); - внутренние данные

начало - поведение

- Цель: Главная процесса

процесс (CLK, RESET)
начало - процесс
- Деятельность, вызванные асинхронным сброса (активный высокий)
Если RESET = 1, то
SDOUT <= 0;
IDATA <= "00000000";

- Деятельность, вызванного ростом краю часы

ELSIF CLK события и CLK = 1, то
MODE случае является
, когда "00" => - без операции
нуль;
, когда "01" => - на холостом ходу
IDATA <= DIN;
, когда "10" => - сдвиг влево
SDOUT <= IDATA (7);
для mloop в 6 downto 0 цикла
IDATA (mloop 1) <= IDATA (mloop);
Конец цикла; - mloop
когда другие => - в противном случае никаких действий
нуль;
конец делу;
конец, если;
окончания процесса;
конец поведению;

Я может звучать глупо, но что режим штифт для??

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

Но код синтаксической ошибке, режим ввода причиной является один бит std_logic, но используется в качестве вектора.Она не может собирать, как есть.

 
Правда то, что МКО говорит.
Кроме того я вам сказать, что это очень плохой способ код VHDL.
Построить ДЛЯ никогда не используется: это не "C".

Это можно сделать во многих разному, тем лучше я считаю экземпляр счетчика и использования регистра сдвига.
В VHDL вы, чтобы выяснить, что вы реализации с флип-флоп.

 
Цикл в этом месте все в порядке, это просто еще один (длинные намотанной) способ записи регистра сдвига.Это те же функции, в одну строку:
Код:

IDATA (7 downto 1) <= IDATA (6 downto 0);
 

Welcome to EDABoard.com

Sponsor

Back
Top