- •Панов, В.А.
- •2.1.2. Лексические элементы языка
- •2.1.2.1. Используемые символы
- •2.1.2.2. Идентификаторы
- •2.1.2.З. Комментарий
- •2.1.2.4. Литералы
- •2.1.3. Модели данных
- •2.1.З.1. Скалярные типы
- •2.1.З.2. Целый тип
- •2.1.З.З. Тип с плавающей точкой
- •2.1.З.4. Перечислительные типы
- •2.1.З.5. Физические типы
- •2.1.4. Операции
- •2.1.5. Операторы управления
- •2.1.6. Пакеты
- •3.2.2. Верификация
- •3.3.2. Стратегии проектирования
- •4.2.1.5. Декодер Меггита для укороченного кода
- •4.2.2. Групповые систематические коды (ГСК)
- •4.2.2.1. Построение кодеров ГСК
- •6.2.1. Декодер помехоустойчивого кода (канальный декодер)
- •6.2.2. Оборудование группообразования приемника
- •6.2.3. Тестирование приемника
- •6.3. Модель цифрового канала связи с помехой
- •7.1.7. Тестирование КПД
- •7.2.1. Расчет основных параметров
- •7.2.2. Проектирование передатчика
- •7.2.4. Формирователь КИ
- •7.2.5. Шифратор единичного кода в двоичный
- •7.2.6. Мультиплексор
- •7.2.9. Проектирование приемника
- •7.2.10. Тестирование приемника
- •7.2.12. Тестирование КПД
- •8. ВАРИАНТЫ ЗАДАНИЙ ДЛЯ КУРСОВОГО ПРОЕКТИРОВАНИЯ
- •9. СОДЕРЖАНИЕ ОТЧЕТА
- •СПИСОК ЛИТЕРАТУРЫ
- •2. Проектирование графического проекта на основе созданных на VHDL устройств
- •2. Описание на языке VHDL счетчика импульсов (до 19) передатчика
- •1. Описание на языке VHDL шифратора единичного кода в двоичный (длина единичного кода = 7)
- •2. Описание на языке VHDL шифратора единичного кода в двоичный (длина единичного кода = 10)
- •Описание на языке VHDL дешифратора двоичного кода в единичный
- •2. Описание на языке VHDL мультиплексора 10x1
- •2. Описание на языке VHDL последовательной реализации кодера ГСК (11,7,3)
- •Описание на языке VHDL устройства управления кодером ЦСК по g(x)
- •Описание на языке VHDL кодера ЦСК по h{x)
- •2. Описание на языке VHDL последовательной реализации декодера ГСК (11,7,3)
- •Описание на языке VHDL устройств управления декодером неукороченного кода ЦСК
- •Описание на языке VHDL устройств управления декодером укороченного кода ЦСК
- •2. Описание на языке VHDL демультиплексора 1x10
- •Описание на языке VHDL устройства, моделирующего ЦКС с помехой
- •1. Временная диаграмма моделирования работы КПД (код ЦСК)
- •2. Временная диаграмма моделирования работы КПД (код ГСК)
- •Оглавление
2. Описание на языке VHDL счетчика импульсов (до 19) передатчика
library ieee;
use ieee. std_logic__1164 .all; use ieee.std_logic_arith.all;
entity counter is port (
elk, reset: in std__logic;
—число тактов 11+7+1=19:
q:out integer range 0 to 18
); end counter/
architecture behaviour of counter is begin
process (elk,reset) variable i: integer;
begin
—сброс счетчика
if reset='0' then q <= 18;
i := 18;
elsif rising_edge(elk) then
—переполнение: if i=18 then
i:=0; else
i:=i+l;
end if; q <= i;
end if; end process;
end behaviour;
library ieee;
use ieee.std_iogic_1164.all; use ieee.std_logic_arith.all;
entity counter is |
|
|
port ( |
in |
std_logic; |
elk,reset: |
||
— число тактов |
2*n=26: |
|
q: |
out |
integer range 0 to 2*13-1 |
) ; |
|
|
end counter; |
|
|
architecture behaviour of counter is begin
process (elk,reset) variable i: integer;
begin
— сброс счетчика в начальное положение if reset='0' then
q <= 2*13-1; i := 2*13-1;
elsif falling_edge(elk) then
— переполнение: if i=2*13-l then :=0;
else
i:*i+l; end if;
q <= i; end if;
end process; end behaviour;
library ieee;
use ieee.std_logic_1164.all; use ieee.std_logic_arith.all;
entity counter_rx is port (
elk,reset: in std_logic;
— число импульсов 19=11+7+1: q: out integer range 0 to 18
);
end counter_rx;
architecture behaviour of counter_rx is begin
process (elk,reset) variable i: integer;
begin
— сброс
if reset='0' then q <= 18;
i := 18;
elsif falling_edge(elk) then --переполнение:
if i=18 then i :=0 ;
else i:=i+l;
end if; q <= i;
end if; end process;
end behaviour;
library ieee; |
|
|
|
|
|
use |
ieee.std_logic__1164 .all; |
||||
entity ts_former is |
|
||||
port ( |
|
|
in |
std_logic; |
|
|
elk,reset: |
|
|||
|
--число |
КИ: N=7 |
std_logic_vector(6 downto 0) |
||
|
q: |
|
|
out |
|
end |
) ; |
|
|
|
|
ts_former; |
|
|
|
||
architecture behaviour of ts_former is |
|||||
|
signal d: std_logic_vector(6 downto 0); |
||||
begin |
|
|
|
|
|
|
q <= d; |
(elk, |
reset) |
||
|
process |
||||
|
begin |
reset='0' |
then |
||
|
if |
||||
|
|
d |
<= |
"1000000"; |
|
|
elsif |
falling_edge(elk) then — по заднему фронту |
|||
|
|
— |
кольцевой счетчик: |
||
|
|
for i in 1 to 6 loop |
|||
|
|
end |
d(i) <= d(i-l); |
||
|
|
loop; |
|||
|
|
d (0) |
<= |
d (6); |
end if; end process; end behaviour;
library ieee;
use ieee.std_logic_1164.all;
entity ts_former is port (
elk,reset:in std_logic;
— число канальных интервалов: N=10 q:out std_logic_vector(9 downto 0)
) ;
end ts_former;
architecture behaviour of ts_former is signal d: std_logic_vector(9 downto 0) ;
begin
q <= d;
process (elk, reset) begin
if reset='0' then
d <= "1000000000";
elsif falling_edge(elk) then — по заднему фронту
—кольцевой счетчик: for i in 1 to 9 loop
d(i) <= d(i-l); end loop;
d (0) <= d (9); end if;
end process; end behaviour;