Форум программистов, компьютерный форум, киберфорум
Программируемая логика: ПЛИС, ПАИС
Войти
Регистрация
Восстановить пароль
 
0 / 0 / 0
Регистрация: 04.05.2019
Сообщений: 2
1

VHDL. Добавление нулей к сигналу

26.04.2020, 13:21. Просмотров 150. Ответов 3

Доброго времени суток форумчане!
Была поставлена учебная задача.
Надо добавить к концу каждого сигнала ноль(той же разрядности что и вход).
Например: На вход приходит 1 потом 2 потом 3 и тд. (16 разрядные), а на выходе 1 потом 0 потом 2 потом 0 потом 3 и тд. (16 разрядные)
Думал через счетчик на 2, но не получилось.
Код
library ieee;
use ieee.std_logic_1164.all;

entity maper is
	port (
		din : in std_logic_vector (15 downto 0);
		clk : in std_logic;
		res : in std_logic;
		en : in std_logic;
		en_out : out std_logic;
		dout : out std_logic_vector (15 downto 0)
	);
end maper;

architecture behavioral of maper is

	signal dout_tmp : std_logic_vector(15 downto 0);
	signal din_tmp : std_logic_vector(15 downto 0);
	signal cnt : std_logic := '0';

begin

	process (clk)
	begin
	if clk='1' and clk'event then
		if res='1' then
			dout_tmp <= (others => '0');
			cnt <= '0';
		elsif en='1' then
			cnt <= not cnt;
			
			if cnt = '0' then
				dout_tmp <= din_tmp;
			else 
				dout_tmp <= (others => '0');
			end if;
			
		end if;
	end if;
	end process;

en_out <= en;
dout <= dout_tmp;

end behavioral;
Вообщем наставьте на путь истинный.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.04.2020, 13:21
Ответы с готовыми решениями:

Добавление к числу нулей
Не могу найти ответ на простой вопрос. Как сделать, чтобы функция Format к числу добавляла слева...

Добавление нулей перед числом
Здравствуйте! Подскажите пожалуйста, есть ли функция, которая добавляет нули перед числом, если...

Добавление ведущих нулей к строке
Здравствуйте. Как добавить ведущие нули в String. Дело в том, что есть переменная: int i; и...

Добавление столбца из нулей в двумерном массиве
Задание такое : Нужно найти максимальный элемент в двумерном массиве и прибавить после него столбец...

3
14 / 10 / 4
Регистрация: 28.11.2013
Сообщений: 87
26.04.2020, 20:35 2
Сделайте сигнал flag =0. И каждый второй такт его обнуляйте и обнуляйте выходные данные, иначе нормальные данные на выход и flag = 1
0
0 / 0 / 0
Регистрация: 04.05.2019
Сообщений: 2
27.04.2020, 08:11  [ТС] 3
Вот так?
Skryp

Код
	process (clk)
	begin
	if clk='1' and clk'event then
		if res='1' then
			dout_tmp <= (others => '0');
			cnt <= '0';
		elsif en='1' then
			cnt <= not cnt;
			if cnt = '1' then
				flag <= '0';
				dout_tmp <= (others => '0');
			else
				flag <= '1';
				dout_tmp <= din;
			end if;
		end if;
	end if;
	end process;
0
14 / 10 / 4
Регистрация: 28.11.2013
Сообщений: 87
27.04.2020, 11:06 4
Да, только замените все слова cnt на flag, и строку cnt <r cnt +1 удалите. Счётчик тут не нужен.
Код
process (clk)
	begin
	if clk='1' and clk'event then
		if res='1' then
			dout_tmp <= (others => '0');
			
		elsif en='1' then
			 flag <= not flag;
			if  flag = '1' then
				flag <= '0';
				dout_tmp <= (others => '0');
			else
				flag <= '1';
				dout_tmp <= din;
			end if;
		end if;
	end if;
	end process;
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.04.2020, 11:06

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Добавление лидирующих нулей при выводе числа
Всем привет. У меня вопрос, хочу чтобы при выводе в консоль числа 0,1, 2, 3 ... 9 выводились так:...

Не коннектится слот к сигналу
#include &quot;mainwindow.h&quot; #include &lt;QApplication&gt; #include &lt;QObject&gt; int main(int argc, char...

Построение вейвлета по сигналу
Добрый день, коллеги! Добрался я и до вейвлета. Использую функцию, решение которой я знаю....

Создание виджетов по сигналу
допустим на форме есть кнопка , и есть горизонтальная компоновка, добавляю по нажатию кнопки...

Задизаблить кнопку по сигналу
Никак не могу понять, зачем нужны аж две функции, setEnabled и setDisabled, с булевыми параметрами,...

найти самую длинную непрерывную цепочку нулей в последовательности нулей и единиц
Требуется найти самую длинную непрерывную цепочку нулей в последовательности нулей и единиц. В...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.