Форум программистов, компьютерный форум, киберфорум
Программируемая логика: ПЛИС, ПАИС
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 10.08.2017
Сообщений: 6
1

Асинхронный 8-ми разрядный счетчик на вычитание с предварительной загрузкой начального счета

22.12.2017, 18:11. Просмотров 830. Ответов 1

Здравствуйте! У меня возникли проблемы с выполнением задания. Мне нужно выполнить задание на языке vhdl в структурном описании. У меня не получается реализовать счетчик.

Разработать следующие устройства:
1) Базовый триггер D на базе 2-х D-защелок с предварительной установкой (Используется в задании 2);
2) Асинхронный 8-ми разрядный счетчик на вычитание с предварительной загрузкой начального счета.


Код D триггера:
Pascal
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
library ieee;
use ieee.std_logic_1164.all;
 
entity predt is
port(
    s, d, c, r: in std_logic;
    q, nq: out std_logic
);
end predt;
 
architecture struct of predt is
component not_1
port(
    a: in std_logic;
    b: out std_logic
);
end component;
component dt_rs
port(
    s, d, c, r: in std_logic;
    q, nq: out std_logic
);
end component;
signal ns, nr, nc, iq, inq, tmp1, tmp2: std_logic;
begin
    u1: not_1 port map(s, ns);
    u2: not_1 port map(r, nr);
    u3: not_1 port map(c, nc);
 
    u4: dt_rs port map(ns, d, c, nr, tmp1);
    u6: dt_rs port map(ns, tmp1, nc, nr, iq, inq);
    
    q <= iq;
    nq <= not inq;
end struct;
 
configuration con of predt is
    for struct
        for u1, u2, u3: not_1 use entity work.not_1(beh); end for;
        for u4, u6: dt_rs use entity work.dt_rs(struct); end for;
    end for;
end con;
Код счетчика:
Pascal
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
library ieee;
use ieee.std_logic_1164.all;
 
entity subcounter is
generic(n: integer:=8);
port(
    clk, preset: in std_logic;
    d: in std_logic_vector(n-1 downto 0);
    q: out std_logic_vector(n-1 downto 0)
);
end subcounter;
 
architecture struct of subcounter is
component get_rs
port(
    d, e: in std_logic;
    s, r: out std_logic
);
end component;
component predt
port(
    s, d, c, r: in std_logic;
    q, nq: out std_logic
);
end component;
signal i_s, i_r, iq, inq: std_logic_vector(n-1 downto 0);
signal nc: std_logic;
begin
    label1: for i in 0 to n-1 generate
        u1: get_rs port map(d(i), preset, i_s(i), i_r(i));
    end generate;
 
    nc <= not clk;
 
    u2: predt port map(i_s(0), inq(0), nc, i_r(0), iq(0), inq(0));
    label2: for i in 1 to n-1 generate
        u3: predt port map(i_s(i), inq(i), inq(i-1), i_r(i), iq(i), inq(i));
    end generate;
 
    q <= iq;
end struct;
 
configuration con of subcounter is
    for struct
        for label1
            for u1: get_rs use entity work.get_rs(struct); end for;
        end for;
        for u2: predt use entity work.predt(struct); end for;
        for label2
            for u3: predt use entity work.predt(struct); end for;
        end for;
    end for;
end con;
Компонент для предварительной установки:
Pascal
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
29
30
31
32
33
34
35
36
37
38
39
library ieee;
use ieee.std_logic_1164.all;
 
entity get_rs is
port(
    d, e: in std_logic;
    s, r: out std_logic
);
end get_rs;
 
architecture struct of get_rs is
component and_2
port(
    a, b: in std_logic;
    c: out std_logic
);
end component;
component not_1
port(
    a: in std_logic;
    b: out std_logic
);
end component;
signal nd, tmp1, tmp2: std_logic;
begin
    u1: and_2 port map(d, e, tmp1);
    u2: not_1 port map(d, nd);
    u3: and_2 port map(nd, e, tmp2);
 
    s <= tmp1;
    r <= tmp2;
end struct;
 
configuration con of get_rs is
    for struct
        for u2: not_1 use entity work.not_1(beh); end for;
        for u1, u3: and_2 use entity work.and_2(beh); end for;
    end for;
end con;
Правильный ли я выбрал триггер? Правильно ли я сделал предварительную установку? Или ошибка в моём счетчике?
0
Миниатюры
Асинхронный 8-ми разрядный счетчик на вычитание с предварительной загрузкой начального счета   Асинхронный 8-ми разрядный счетчик на вычитание с предварительной загрузкой начального счета   Асинхронный 8-ми разрядный счетчик на вычитание с предварительной загрузкой начального счета  

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

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

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

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

4-х разрядный счетчик на JK-триггерах
Помогите построить подробную схему в logical circuit 4-х разрядного счетчика на JK-триггерах ...

1
0 / 0 / 0
Регистрация: 10.08.2017
Сообщений: 6
31.12.2017, 19:43  [ТС] 2
Сделал сам. Все ошибки устранены
0
Миниатюры
Асинхронный 8-ми разрядный счетчик на вычитание с предварительной загрузкой начального счета  
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.12.2017, 19:43

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

4-разрядный двоичный счётчик
Синтезировать на Т-триггерах 4-разрядный вычитающий двоичный счётчик с последовательным переносом и...

Подскажите 16-20 разрядный двоичный счетчик...
Подумываю над изготовлением устройства захвата для осцилографа.. входная цепь пока простая до АЦП...

помогите с загрузкой счета фактуры в ут отдельным файлом
покупка продукции расширения , разные расширения Xml, xls? mxl , txt


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

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

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