Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программируемая логика: ПЛИС, ПАИС
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.92/25: Рейтинг темы: голосов - 25, средняя оценка - 4.92
PaVLLeTTo
14 / 14 / 0
Регистрация: 13.05.2010
Сообщений: 139
#1

VHDL. Вычитающий двоично-десятичный счетчик

01.06.2012, 01:35. Просмотров 4594. Ответов 8
Метки нет (Все метки)

Построить устройство, представляющее собой два вычитающих двоично-десятичных синхронных счетчика, работающие с разными частотами. Смена состояний первого счетчика происходит через 0,25 секунды, его показания выводятся на правый сегментный индикатор. Смена состояния второго счетчика происходит после прохождения полного цикла первого, его показания выводятся на левый индикатор. Синхросигнал на первый счетчик подается от внутреннего генератора через понижающий счетчик. Имеется возможность остановки счета с помощью тумблера.

Не понимаю как в итоге должна работать схема, как построена. Есть только VHDL счетчика, и то я не знаю возможно ли ее использовать в данном задании:

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
library ieee;
    use ieee.std_logic_arith.all;
    use ieee.std_logic_1164.all;
    use ieee.std_logic_unsigned.all;
 
entity Dec_counter is
    port (CLK : in std_logic; 
          DATA_OUT : out std_logic_vector (3 downto 0));
    end Dec_counter;
 
 
architecture Behavioral of Dec_counter is 
    signal internal_state : std_logic_vector (3 downto 0):= "1001";
    begin
        counter_up:
        process (CLK)
            begin
                if rising_edge (CLK) then
                    if internal_state = "0000" then
                        internal_state <= "1001";
                        else
                        internal_state <= internal_state - 1;
                    end if;
                end if;
            end process;
        counter_assign:
        DATA_OUT <= internal_state;
    end Behavioral;
Объясните хоть что-нибудь, пожалуйста.
Заранее спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.06.2012, 01:35
Ответы с готовыми решениями:

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

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

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

Синхронный вычитающий счетчик на JK
Добрый день. Помогите построить счетчик. Используя необходимое количество...

Вычитающий счетчик с предустановкой
Здравствуйте! Задание состоит в том, чтобы сделать таймер. Для этого сделал...

8
raxp
10182 / 6565 / 492
Регистрация: 28.12.2010
Сообщений: 21,166
Записей в блоге: 1
01.06.2012, 15:53 #2
Литература по программированию в электронике, микроконтроллеры и ПЛИС
0
PaVLLeTTo
14 / 14 / 0
Регистрация: 13.05.2010
Сообщений: 139
01.06.2012, 18:03  [ТС] #3
Я понимал, что разжевывать мне никто ничего здесь не будет еще во время создания данной темы. Да мне и не нужно. Просто наставьте на путь истинный: подойдет ли вышеупомянутый vhdl для данной задачи? И что такое понижающий счетчик?
0
raxp
10182 / 6565 / 492
Регистрация: 28.12.2010
Сообщений: 21,166
Записей в блоге: 1
01.06.2012, 18:59 #4
...запустите ISE или квартус, вставьте вышеприведенный код в HDL-редактор, откомпилируйте и отсимулируйте что будет на его выходе при подаче тактов и периодической подаче сигнала на вход вычитания. Так и проверите.

И что такое понижающий счетчик?
не понижающий, а вычитающий. В вычитающем счетчике состояние счетчика (двоичный код на его выходах) с каждым импульсом уменьшается на единицу, а перенос от разряда берется не с единичных, а с нулевых выходов триггеров. В синхронном счетчике все делается синхронно с тактами.

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

Среди недвоичных счетчиков в отдельный класс выделяют двоично - десятичные счетчики с N=10, которые строятся на основе четырех триггерных двоичных счетчиков исключением шести состояний.

В разных вариантах схем одним и тем же десятичным числам могут соответствовать различные четырехразрядные кодовые комбинации в зависимости от исключенных состояний. Иными словами такие счетчики работают в различных двоично - десятичных кодах.
0
PaVLLeTTo
14 / 14 / 0
Регистрация: 13.05.2010
Сообщений: 139
01.06.2012, 20:00  [ТС] #5
Временные диограммы как у двоично-десятичного(вроде бы).
VHDL. Вычитающий двоично-десятичный счетчик

не понижающий, а вычитающий.
Т.е. в задании сказано, что один вычитающий счетчик просто подключен к другому?
Синхросигнал на первый счетчик подается от внутреннего генератора через понижающий счетчик.
0
raxp
10182 / 6565 / 492
Регистрация: 28.12.2010
Сообщений: 21,166
Записей в блоге: 1
01.06.2012, 20:48 #6
...имеется ввиду дополнительный делитель, для этого берем еще один счетчик.

Вам нужно взять генератор с частотой 4 Гц (0.25 секунды период), т.е. поделить частоту внутреннего генератора до 4 Гц и подать эти 4 Гц на вход первого вычитающего счетчика, перенос разряда с его нулевого выхода (когда он достиг полного цикла) подать на вычитающий вход второго счетчика. Синхроимпульсы подать от того же внутреннего генератора тоже через делитель. Останов счетчика можно релизовать разрывом подачи синхроимпульсов или импульсов счета 4 Гц. Разрыв этот можно реализовать обычным "И", а в VHDL коде это введение дополнительного сигнала управления и добавления "И" (умножения) с одним из сигналов.
1
PaVLLeTTo
14 / 14 / 0
Регистрация: 13.05.2010
Сообщений: 139
01.06.2012, 21:15  [ТС] #7
...имеется ввиду дополнительный делитель, для этого берем еще один счетчик.
какой именно счетчик?

Это конечно будет наглостью, но не могли бы вы исправить VHDL, как описали это в последнем предложении?
0
raxp
10182 / 6565 / 492
Регистрация: 28.12.2010
Сообщений: 21,166
Записей в блоге: 1
02.06.2012, 07:20 #8
какой именно счетчик?
не могу знать-с. Для этого надо знать частоту вашего внутреннего генератор и поделить его соответственно.
0
PaVLLeTTo
14 / 14 / 0
Регистрация: 13.05.2010
Сообщений: 139
02.06.2012, 07:29  [ТС] #9
20 МГц.
Спасибо Вам огромное - Вы мне очень помогаете
0
02.06.2012, 07:29
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.06.2012, 07:29

AHDL. Двоично-десятичный секундомер
Здравствуйте! Помогите пожалуйста разработать схему в AHDL двоично-десятичного...

Двоично-десятичный таймер минут. AHDL
если кто-то вдруг знает,понимает, то надо разработать на AHDL схему...

Асинхронный вычитающий недвоичный счетчик на основе синхронных JK-триггеров
Помогите, пожалуйста, выполнить задание


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

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

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