Перейти к содержанию

Счетчик На Vhdl


S_Sereban

Рекомендуемые сообщения

Здравствуйте.

Задание: реализовать на языке vhdl асинхронный суммирующий счетчик со сквозным переносом. Реализовать нужно с помощью структурного описания.

Вот как я пытался это сделать.

JK-триггер:

library ieee;
use ieee.std_logic_1164.ALL;

entity jk is
port(j, k, clk, r : in std_logic;
	 q : buffer std_logic
	);
end jk;
architecture arch_jk of jk is
signal sq : std_logic;
begin
process (j, k, clk, r)
begin
	if r = '0' then
		sq <= '0';
	elsif (clk'event and clk = '1') then
		if (j = '0' and k = '0') then
			sq <= q;
		elsif (j = '0' and k = '1') then
			sq <= '0';
		elsif (j = '1' and k = '0') then
			sq <= '1';
		elsif (j = '1' and k = '1') then
			sq <= not q;
		end if;
	end if;
	q <= sq;
end process;
end arch_jk;

Элемент 2И:

library ieee;
use ieee.std_logic_1164.ALL;

entity my_and2 is
port(in1, in2 : in std_logic;
	 q : out std_logic
	);
end my_and2;
architecture arch_my_and2 of my_and2 is
begin
q <= in1 and in2;
end arch_my_and2;

Сам счетчик:

library ieee;
use ieee.std_logic_1164.ALL;

entity assumskvper is
port(clk, r : in std_logic;
	 p : out std_logic_vector(2 downto 0);
	 q : out std_logic_vector(2 downto 0)
	);
end assumskvper;
architecture arch_assumskvper of assumskvper is
component jk
port(j, k, clk, r : in std_logic;
	 q : buffer std_logic
	);
end component;
component my_and2
port(in1, in2 : in std_logic;
	 q : out std_logic
	);
end component;
signal pp : std_logic_vector(2 downto 0);
signal qq : std_logic_vector(2 downto 0);
begin
for1:
for i in 0 to 2 generate
if1:
if i = 0 generate
	jk_1: jk port map('1','1',clk,r,qq(i));
	and2_1: my_and2 port map(clk,qq(i),pp(i));
end generate;
if2:
if i > 0 generate
	jk_2: jk port map('1','1',pp(i-1),r,qq(i));
	and2_2: my_and2 port map(pp(i-1),qq(i),pp(i));
end generate;
end generate;

p <= pp;
q <= qq;

end arch_assumskvper;

Реализовать нужно именно таким образом, с помощью компонент, и связать их. Так в задании написано.

Но при такой реализации все три выхода счетчика (q0,q1,q2) переключаются одновременно. Прикрепляю временные диаграммы

Помогите, пожалуйста. Буду очень благодарен.

Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

ВременнЫх диаграмм не вижу. Одновременное переключение выходов - это совсем без задержки или все-таки 2/3/5/10 nS имеется? В RTL не смотрели, как компилятор синтезировал код в схему?

Ссылка на комментарий
Поделиться на другие сайты

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Сравнительное тестирование аккумуляторов EVE Energy и Samsung типоразмера 18650

Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650. 

Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...