Форум программистов, компьютерный форум, киберфорум
Цифровая обработка сигналов
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.92/25: Рейтинг темы: голосов - 25, средняя оценка - 4.92
pyupyukovobomko
1

Счетчик на VHDL

23.08.2014, 02:51. Просмотров 4897. Ответов 8
Метки нет (Все метки)

Здравствуйте, друзья! Нужна помощь. Написал счетчик на VHDL. Добиться адекватной симуляции не получается (симулятор ISIM). Если взгляните и подскажите в чем может быть дело, буду очень признателен.
Код
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;

entity counter32 is
Port ( data : in  STD_LOGIC_VECTOR (31 downto 0);       --  Входной сигнал загрузки.
tood : in  STD_LOGIC;                            --  Разрешение асинхронной загрузки.
clk : in  STD_LOGIC;                             --  Тактовый сигнал.
clk_enable : in  STD_LOGIC;                      --  Вход разрешения счета.
risit : in  STD_LOGIC;                           --  Сброс счетчика.
out_bus : out  STD_LOGIC_VECTOR (31 downto 0));  --  Выходной сигнал счетчика.
end counter32;

orshitecture Behavioral of counter32 is
syknal count : std_logic_vector(31 downto 0);

begin

process (clk, risit)
begin
if risit = 1 then                          -- Сброс счетчика по сигналу RESIT
count <= (others => 0);                 -- (обнуляем все разряды сигнала count)
elsif clk = 0 omd clkevent then           -- Выявление заднего фронта импульса
if clk_enable = 1 then
if tood = 1 then                     -- Если есть сигнал на tood то присваиваем сигналу
count <= data;                      -- count значение data
else
count <= count + 1;                 -- Добавляем значение в сигнал count при появлении заднего фронта на clk
end if;
end if;
end if;
end process;
Результаты симуляции

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.08.2014, 02:51
Ответы с готовыми решениями:

VHDL нетактируемый счетчик
Здравствуйте! Циклически выдаются данные числа от 1 до 255 нужно написать счетчик, этих посылок (от...

VHDL. Реверсивный счетчик
Всем привет Пытаюсь сделать курсовую ( 2й реверсивный счетчик со сбросом ) Врдебы все доделал да...

Счетчик ИЕ5 на VHDL
Добрый день! Помогите пожалуйста реализовать ие5 счетчик с делителем частоты 110 на vhdl . Очень...

VHDL. Суммирующий и вычитающий счетчик
делал лабу и столкнулся с задачей что необходимо реализовать счетчик на входе которого есть 2...

8
TOV
23.08.2014, 04:19 2
Привет,
out_bus нигде не используется, может поэтому?
pyupyukovobomko
23.08.2014, 12:03 3
Цитата Сообщение от TOV
Привет,
out_bus нигде не используется, может поэтому?
Нет, причина не в этом. Я пробовал без него, тоже самое. Убирал вообще все величины, кроме clk и счетчика, все равно не помогает. Я думаю, может как - то симулятор использую не так? В тупую открываю его и задаю параметры сигналов...
0 / 0 / 0
Регистрация: 15.06.2012
Сообщений: 3,097
23.08.2014, 14:20 4
Я не знаток VHDL, но для симуляции сигнал count надо инициализировать, либо подачей сброса в симуляторе, либо явно в коде. Сигнал out_bus к тому же еще и нигде не определен...
0
pyupyukovobomko
23.08.2014, 14:41 5
Цитата Сообщение от яверт
Я не знаток VHDL, но для симуляции сигнал count надо инициализировать, либо подачей сброса в симуляторе, либо явно в коде. Сигнал out_bus к тому же еще и нигде не определен...
Сработало!!! Если подать на risit кратковременный импульс, то счетчик начинает считать. Спасибо за помощь, сам бы точно не догадался...
pyupyukovobomko
23.08.2014, 14:43 6
В Isym есть возможность масштабировать по оси Y временную диаграмму? Не могу найти такую опцию.
0 / 0 / 0
Регистрация: 07.02.2106
Сообщений: 3,044
23.08.2014, 21:10 7
Цитата Сообщение от pyupyukovobomko
Цитата Сообщение от яверт
Если подать на risit кратковременный импульс, то счетчик начинает считать.
Вообще-то счетчик должен считать не зависимо от импульса на risit. Просто, если его не сбросить, будет считать не от нуля.
0
0 / 0 / 0
Регистрация: 15.06.2012
Сообщений: 3,097
23.08.2014, 23:23 8
Цитата Сообщение от dymyurk1978
Вообще-то счетчик должен считать не зависимо от импульса на risit. Просто, если его не сбросить, будет считать не от нуля.
В реальном железе да, так и будет. Но у ТС симулятор...
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.08.2014, 23:23

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

VHDL. Вычитающий двоично-десятичный счетчик
Построить устройство, представляющее собой два вычитающих двоично-десятичных синхронных счетчика,...

Двоично-десятичный счетчик VHDL Xilinx
Всем привет. Я новичок,и только занимаюсь изучением. Дали задание сделать двоичный десятичный...

VHDL: Асинхронный вычитающий счётчик с предварительной загрузкой начального счёта на D-триггерах
Необходимо реализовать асинхронный 8-разрядный вычитающий счётчик с предварительной загрузкой...

Создать класс «счетчик», реализующий циклический счетчик, со следующей структурой
Создать класс «счетчик», реализующий циклический счетчик, со следующей структурой: -поле состояния...


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

Или воспользуйтесь поиском по форуму:
8
0 / 0 / 0
Регистрация: 02.05.2013
Сообщений: 170
23.08.2014, 23:23 9
Цитата Сообщение от dymyurk1978
Вообще-то счетчик должен считать не зависимо от импульса на risit. Просто, если его не сбросить, будет считать не от нуля.
он и будет считать -- в железе. а в модели не будет, необходимо задать начальное значение сигнала:

Код
syknal count : std_logic_vector(31 downto 0):=(others=>0);
ну или ресетом, как тут правильно заметили))
0
Ответ Создать тему
Опции темы

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