407 / 226 / 43
Регистрация: 10.02.2013
Сообщений: 780
1

VHDL. Суммирующий и вычитающий счетчик

17.02.2014, 21:34. Показов 4257. Ответов 5
Метки нет (Все метки)

делал лабу и столкнулся с задачей что необходимо реализовать счетчик на входе которого есть 2 тактовых сигнала, по одному из которых счетчик будет суммирующим а по другому вычитающим ? нужен совет каким образом реализовать 2 тактовых сигнала в process ? Мои поиски по интернету не к чему толковому не привели поэтому необходим совет

Код
LIBRARY ieee;
USE ieee.std_logic_1164.all;

ENTITY count IS
	PORT 
	(
	clk_1: IN STD_LOGIC;
	clk_2: IN STD_LOGIC;
	clrn: IN STD_LOGIC;
	enab: IN STD_LOGIC;
	out_data: OUT  INTEGER RANGE 0 TO 15
	);
	
END count;
ARCHITECTURE a OF count IS
	SIGNAL	csignal: INTEGER RANGE 0 TO 15;
BEGIN
PROCESS (clk_1, clk_2, clrn, enab)
BEGIN
IF 
	clrn = '0' THEN csignal <= 0;
ELSIF
	enab = '0' THEN csignal <= 0;
END IF;
	IF (clk_1'EVENT AND clk_1 = '1') THEN               ------------------
		csignal <= csignal+1;
	ELSIF (clk_2'EVENT AND clk_2 = '1') THEN          ------------------
		csignal <= csignal-1;
	END IF;
END PROCESS;
out_data<= csignal;
END a;

строки с --------- необходимо как то реализовать, вопрос как ?

заранее спасибо
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.02.2014, 21:34
Ответы с готовыми решениями:

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

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

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

Восьмиразрядный вычитающий счётчик
Задание: На основе T-триггеров создать восьмиразрядный вычитающий счётчик. При компиляции проекта...

5
10218 / 6598 / 495
Регистрация: 28.12.2010
Сообщений: 21,161
Записей в блоге: 1
17.02.2014, 22:29 2
Лучший ответ Сообщение было отмечено shurikspk как решение

Решение

VHDL. Реверсивный счетчик

И вообще, делают не два тактовых сигнала, а один CLK и два входа управления (реверса):
Код
library IEEE;

use IEEE.std_logic_1164.all;

entity count_r is

port(clk : in STD_LOGIC;

up_down : in STD_LOGIC;

q : out INTEGER range 0 to 63);

end count_r;

architecture r of count_r is

begin

process (clk)

variable cnt: INTEGER range 0 to 63;

variable direction : INTEGER;

begin

if (up_down = '1') then

direction := 1;

else

direction := -1;

end if;

if (clk'event and clk = '1') then

cnt := cnt + direction;

end if;

q <= cnt;

end process;

end r;
0
407 / 226 / 43
Регистрация: 10.02.2013
Сообщений: 780
17.02.2014, 23:25  [ТС] 3
ну такой вариант конструкции мне вполне понятен, но вот все равно интересует чтобы было 2 тактовых сигнала такое реально реализовать ?
0
1022 / 157 / 10
Регистрация: 16.01.2013
Сообщений: 544
17.02.2014, 23:38 4
Посмотрите внутреннюю реализацию счетчиков ИЕ6 (74192) и ИЕ7 (74193). хотя бы в Шило или любом другом справочнике.
0
407 / 226 / 43
Регистрация: 10.02.2013
Сообщений: 780
17.02.2014, 23:41  [ТС] 5
Цитата Сообщение от MaslovVG Посмотреть сообщение
Посмотрите внутреннюю реализацию счетчиков ИЕ6 (74192) и ИЕ7 (74193). хотя бы в Шило или любом другом справочнике.
реализацию схемотехнически я вполне знаю, а вот программно написать увы не могу )
0
1022 / 157 / 10
Регистрация: 16.01.2013
Сообщений: 544
18.02.2014, 09:34 6
Попробуйте конструкцию
IF (Clk1 ewent) AND (Clk2=1) THEN Q[...]>=Q[...]+1
IF (Clk2 ewent) AND (Clk1=1) THEN Q[...]>=Q[...]-1
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.02.2014, 09:34

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

Асинхронный суммирующий счетчик на T-триггерах
Добрый день, нужна ваша помощь) Из Т-Триггеров составить и начертить схему суммирующего...

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

Вычитающий счетчик на D-триггерах
Доброго времени суток) Дали задание синтезировать вычитающий счетчик с Kсч.=11 на D-триггерах.....


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

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

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