Форум программистов, компьютерный форум, киберфорум
Наши страницы

Программируемая логика: ПЛИС, ПАИС

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 32, средняя оценка - 4.94
PaVLLeTTo
14 / 14 / 0
Регистрация: 13.05.2010
Сообщений: 139
#1

VHDL. Вычитающий двоично-десятичный счетчик - Программируемая логика

01.06.2012, 01:35. Просмотров 4510. Ответов 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. Вычитающий двоично-десятичный счетчик (Программируемая логика):

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

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

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

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

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

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

8
raxp
10180 / 6563 / 481
Регистрация: 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
10180 / 6563 / 481
Регистрация: 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
10180 / 6563 / 481
Регистрация: 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
10180 / 6563 / 481
Регистрация: 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 схему двоично-десятичного таймера минут с функциями &quot;установка десятков...

Алгоритм преобразования двоичного в двоично-десятичный код - Программируемая логика
Добрый день! Передо мной стоит задача реализовать на VHDL это устройство. Я вроде не нуб в учёбе, на других языках это легко...

Двоично-десятичный вычитатель 8-ми разрядных чисел на AHDL - Программируемая логика
В общем нужно: Разработать в AHDL схему двоично-десятичного вычитателя восьмиразрядных чисел с магистральным вводом-выводом данных. Рабочая...

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


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

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

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