«…лишь недалекие люди боятся конкуренции, а люди подлинного творчества ценят общение с каждым талантом…» А. Бек, Талант.

Спец курс (Избранные главы VHDL)/Лабораторные работы — различия между версиями

Материал из Wiki
Перейти к: навигация, поиск
(Задание 1-2)
(Задание 2-1)
Строка 83: Строка 83:
 
* Перед стартом передачи данных посылать SOF
 
* Перед стартом передачи данных посылать SOF
  
[[Файл:Sof_1-4_kod.jpg|600px]]
+
[[Файл:Sof_1-4_kod.jpg|300px]]
  
 
* После завершения передачи данных EOF
 
* После завершения передачи данных EOF
  
[[Файл:Eof_1-256.jpg|600px]]
+
[[Файл:Eof_1-256.jpg|300px]]
  
 
==Задание 2-2==
 
==Задание 2-2==

Версия 16:55, 17 октября 2012

Содержание

Общие требования

  1. Разработать VHDL-описание.
    1. Название entity - coder,decoder.
    2. Название architecture - beh.
    3. Название портов in - D_I, clk, rst.
    4. Название портов out - D_O.
    5. Внутренние сигналы называть так, чтобы было интуитивно понятно его название.
  2. Разработать тестовое окружение для запуска моделирования.
    1. На языке SystemC(+) или VHDL.
    2. Название entity - tb (если тестовое окружение на VHDL).
    3. Название architecture - beh (если тестовое окружение на VHDL).
    4. Название блока генерации тактового сигнала clk_gen (beh)
    5. Название блока генерации сигнала сброса rst_gen (beh).
    6. Функция чтения из файла должна быть написана по примеру из VHDL. Эффективное использование при проектировании цифровых систем 2006 или Зеркало для скачивания
    7. Функция записи в файл должна быть написана по примеру из VHDL. Эффективное использование при проектировании цифровых систем 2006 или Зеркало для скачивания
    8. Должна быть возможность стыковки tb блока кодирования и декодирования, для верификации.
  3. Синтезировать полученную схему в LeonardoSpectrum.
  4. Подготовить лог синтеза, в котором отображаются число элементов или площадь, и максимальное быстродействие схемы.
  5. Провести моделирование синтезированной схемы.

Задание 1-1

  1. Разработать синтезируемое VHDL-описание блока кодирования данных.
    1. Входные порты: D_I, clk, rst.
    2. Выходные порты: D_O, возможно добавление доп. сигналов обратной связи.
  2. Разработать тестовое окружение для запуска моделирования и проверки корректности передаваемых данных (Можно на SystemC, можно и на VHDL).
    1. Тестовое окружение содержит в себе блок чтения данных из файла и подачи данных на D_I.
    2. Блок формирования тактового сигнала.
    3. Блок формирования сигнала сброса по питанию.
  3. Запуск моделирования, добавления сигналов и выполнение должны быть автоматизированны (script).

1-265 кодировка.jpg

  • Частота тактового сигнала 13.56 MHz
  • Перед стартом передачи данных посылать SOF

Sof 1-256 kod.jpg

  • После завершения передачи данных EOF

Eof 1-256.jpg

Задание 1-2

  1. Разработать синтезируемое VHDL-описание блока декодирования данных.
    1. Входные порты: D_I, clk, rst.
    2. Выходные порты: D_O, возможно добавление доп. сигналов обратной связи.
  2. Разработать тестовое окружение для запуска моделирования и проверки корректности передаваемых данных. (Можно на SystemC, можно и на VHDL).
    1. Тестовое окружение содержит в себе блок записи принимаемых данных в файл.
    2. Блок формирования тактового сигнала.
    3. Блок формирования сигнала сброса по питанию.
  3. Запуск моделирования, добавления сигналов и выполнение должны быть автоматизированны (script).

1-265 кодировка.jpg

  • Частота тактового сигнала 13.56 MHz
  • Прием данных начинать после получения SOF

Символ SOF

  • Прекращать прием после прихода символа EOF

Символ EOF

Задание 2-1

  1. Разработать синтезируемое VHDL-описание блока кодирования данных.
    1. Входные порты: D_I, clk, rst.
    2. Выходные порты: D_O, возможно добавление доп. сигналов обратной связи.
  2. Разработать тестовое окружение для запуска моделирования и проверки корректности передаваемых данных (Можно на SystemC, можно и на VHDL).
    1. Тестовое окружение содержит в себе блок чтения данных из файла и подачи данных на D_I.
    2. Блок формирования тактового сигнала.
    3. Блок формирования сигнала сброса по питанию.
  3. Запуск моделирования, добавления сигналов и выполнение должны быть автоматизированны (script).

1-4 кодировка.jpg

  • Частота тактового сигнала 13.56 MHz
  • Перед стартом передачи данных посылать SOF

Sof 1-4 kod.jpg

  • После завершения передачи данных EOF

Eof 1-256.jpg

Задание 2-2

  1. Разработать синтезируемое VHDL-описание блока декодирования данных.
    1. Входные порты: D_I, clk, rst.
    2. Выходные порты: D_O, возможно добавление доп. сигналов обратной связи.
  2. Разработать тестовое окружение для запуска моделирования и проверки корректности передаваемых данных. (Можно на SystemC, можно и на VHDL).
    1. Тестовое окружение содержит в себе блок записи принимаемых данных в файл.
    2. Блок формирования тактового сигнала.
    3. Блок формирования сигнала сброса по питанию.
  3. Запуск моделирования, добавления сигналов и выполнение должны быть автоматизированны (script).

1-4 кодировка.jpg

  • Частота тактового сигнала 13.56 MHz
  • Перед стартом передачи данных посылать SOF

Sof 1-4 kod.jpg

  • После завершения передачи данных EOF

Eof 1-256.jpg

Задание 3-1

  1. Разработать синтезируемое VHDL-описание блока кодирования данных.
    1. Входные порты: D_I, clk, rst.
    2. Выходные порты: D_O, возможно добавление доп. сигналов обратной связи.
  2. Разработать тестовое окружение для запуска моделирования и проверки корректности передаваемых данных (Можно на SystemC, можно и на VHDL).
    1. Тестовое окружение содержит в себе блок чтения данных из файла и подачи данных на D_I.
    2. Блок формирования тактового сигнала.
    3. Блок формирования сигнала сброса по питанию.
  3. Запуск моделирования, добавления сигналов и выполнение должны быть автоматизированны (script).

Manchester cod.jpg

  • Частота тактового сигнала 13.56 MHz
  • Перед стартом передачи данных посылать SOF

Sof manchester kod.jpg

  • После завершения передачи данных EOF

Eof manchester kod.jpg

Задание 3-2

  1. Разработать синтезируемое VHDL-описание блока декодирования данных.
    1. Входные порты: D_I, clk, rst.
    2. Выходные порты: D_O, возможно добавление доп. сигналов обратной связи.
  2. Разработать тестовое окружение для запуска моделирования и проверки корректности передаваемых данных. (Можно на SystemC, можно и на VHDL).
    1. Тестовое окружение содержит в себе блок записи принимаемых данных в файл.
    2. Блок формирования тактового сигнала.
    3. Блок формирования сигнала сброса по питанию.
  3. Запуск моделирования, добавления сигналов и выполнение должны быть автоматизированны (script).

Manchester cod.jpg

  • Частота тактового сигнала 13.56 MHz
  • Прием данных начинать после получения SOF

Символ SOF

  • Прекращать прием после прихода символа EOF

Символ EOF

Задание 4-1

  1. Разработать синтезируемое VHDL-описание блока кодирования данных.
    1. Входные порты: D_I, clk, rst.
    2. Выходные порты: D_O, возможно добавление доп. сигналов обратной связи.
  2. Разработать тестовое окружение для запуска моделирования и проверки корректности передаваемых данных (Можно на SystemC, можно и на VHDL).
    1. Тестовое окружение содержит в себе блок чтения данных из файла и подачи данных на D_I.
    2. Блок формирования тактового сигнала.
    3. Блок формирования сигнала сброса по питанию.
    4. Выходной порт DATA_O, для выдачи закодированных данных
  3. Запуск моделирования, добавления сигналов и выполнение должны быть автоматизированны (script).

FM0 кодировка.jpg

  • Число передаваемых данных задается generic паратмером NUM_SEND_BIT
  • Частота тактового сигнала 1.98 MHz
  • Частота закодированных данных 640 KHz
  • Перед стартом передачи данных посылать SOF

Sof FM0 kod.jpg

  • После завершения передачи данных, посылать EOF

Eof FM0.jpg

Задание 4-2

  1. Разработать синтезируемое VHDL-описание блока декодирования данных.
    1. Входные порты: D_I, clk, rst.
    2. Выходные порты: D_O, возможно добавление доп. сигналов обратной связи.
  2. Разработать тестовое окружение для запуска моделирования и проверки корректности передаваемых данных. (Можно на SystemC, можно и на VHDL).
    1. Тестовое окружение содержит в себе блок записи принимаемых данных в файл.
    2. Блок формирования тактового сигнала.
    3. Блок формирования сигнала сброса по питанию.
  3. Запуск моделирования, добавления сигналов и выполнение должны быть автоматизированны (script).

FM0 кодировка.jpg

  • Число принимаемых данных задается в generic параметре NUM_GET_BIT!
  • Частота тактового сигнала 1.98 MHz
  • Частота закодированных данных 640 KHz
  • Прием данных начинать после получения SOF

Символ SOF

  • Прекращать прием после прихода символа EOF или после получения заданного числа бит.

Символ EOF

Задание 5-1

  1. Разработать синтезируемое VHDL-описание блока кодирования данных.
    1. Входные порты: D_I, clk, rst.
    2. Выходные порты: D_O, возможно добавление доп. сигналов обратной связи.
  2. Разработать тестовое окружение для запуска моделирования и проверки корректности передаваемых данных (Можно на SystemC, можно и на VHDL).
    1. Тестовое окружение содержит в себе блок чтения данных из файла и подачи данных на D_I.
    2. Блок формирования тактового сигнала.
    3. Блок формирования сигнала сброса по питанию.
    4. Выходной порт DATA_O, для выдачи закодированных данных
  3. Запуск моделирования, добавления сигналов и выполнение должны быть автоматизированны (script).

Миллер кодировка.jpg Миллер кодировка состояния.jpg

  • Число передаваемых данных задается в generic параметре NUM_SEND_BIT !
  • Частота тактового сигнала 1.98 MHz
  • Частота закодированных данных 320 KHz (два такта выходной частоты на один бит данных, см. рис.)
  • Перед стартом передачи данных посылать SOF

Sof миллер kod.jpg

  • После завершения передачи данных посылать EOF

Eof миллер.jpg

Задание 5-2

  1. Разработать синтезируемое VHDL-описание блока декодирования данных.
    1. Входные порты: D_I, clk, rst.
    2. Выходные порты: D_O, возможно добавление доп. сигналов обратной связи.
  2. Разработать тестовое окружение для запуска моделирования и проверки корректности передаваемых данных. (Можно на SystemC, можно и на VHDL).
    1. Тестовое окружение содержит в себе блок записи принимаемых данных в файл.
    2. Блок формирования тактового сигнала.
    3. Блок формирования сигнала сброса по питанию.
    4. Входной порт DATA_I, для принимаемых от кодера данных
  3. Запуск моделирования, добавления сигналов и выполнение должны быть автоматизированны (script).

Миллер кодировка.jpg Миллер кодировка состояния.jpg

  • Число принимаемых данных задается в generic параметре NUM_GET_BIT!
  • Частота тактового сигнала 1.98 MHz
  • Частота закодированных данных 320 KHz (два такта выходной частоты на один бит данных, см. рис.)
  • Прием данных начинать после получения SOF

Символ SOF

  • Прекращать прием после прихода символа EOF или после приема NUM_GET_BIT

Символ EOF

Задание 6-1

  1. Разработать синтезируемое VHDL-описание блока кодирования данных.
    1. Входные порты: D_I, clk, rst.
    2. Выходные порты: D_O, возможно добавление доп. сигналов обратной связи.
  2. Разработать тестовое окружение для запуска моделирования и проверки корректности передаваемых данных (Можно на SystemC, можно и на VHDL).
    1. Тестовое окружение содержит в себе блок чтения данных из файла и подачи данных на D_I.
    2. Блок формирования тактового сигнала.
    3. Блок формирования сигнала сброса по питанию.
    4. Выходной порт DATA_O, для выдачи закодированных данных
  3. Запуск моделирования, добавления сигналов и выполнение должны быть автоматизированны (script).

Input 18000 кодировка.jpg

  • Число передаваемых данных задается в generic параметре NUM_SEND_BIT !
  • Частота тактового сигнала 8 MHz
  • Tari= 6.25us (см. рис.)
  • RTcal= (Data-0) + (Data-1)=3 * Tari = 18.75us
  • Перед стартом передачи данных посылать SOF

Sof input 18000 kod.jpg

  • Завершение передачи данных после посылки NUM_SEND_BIT бит данных.

Задание 6-2

  1. Разработать синтезируемое VHDL-описание блока кодирования данных.
    1. Входные порты: D_I, clk, rst.
    2. Выходные порты: D_O, возможно добавление доп. сигналов обратной связи.
  2. Разработать тестовое окружение для запуска моделирования и проверки корректности передаваемых данных (Можно на SystemC, можно и на VHDL).
    1. Тестовое окружение содержит в себе блок чтения данных из файла и подачи данных на D_I.
    2. Блок формирования тактового сигнала.
    3. Блок формирования сигнала сброса по питанию.
    4. Входной порт DATA_I, для принимаемых от кодера данных
  3. Запуск моделирования, добавления сигналов и выполнение должны быть автоматизированны (script).

Input 18000 кодировка.jpg

  • Число принимаемых данных задается в generic параметре NUM_GET_BIT!
  • Частота тактового сигнала 1.98 MHz
  • Tari= 6.25us (см. рис.)
  • RTcal= (Data-0) + (Data-1)=3 * Tari = 18.75us
  • Данные декодировать после получения SOF

Sof input 18000 kod.jpg

  • Полученный символ кодирует 1, если его длинна больше RTcal/2, если меньше, то кодирует логический 0.
  • Завершение передачи данных после посылки NUM_SEND_BIT бит данных.

Задание 7-1

  1. Разработать синтезируемое VHDL-описание блока кодирования данных.
    1. Входные порты: D_I, clk, rst.
    2. Выходные порты: D_O, возможно добавление доп. сигналов обратной связи.
  2. Разработать тестовое окружение для запуска моделирования и проверки корректности передаваемых данных (Можно на SystemC, можно и на VHDL).
    1. Тестовое окружение содержит в себе блок чтения данных из файла и подачи данных на D_I.
    2. Блок формирования тактового сигнала.
    3. Блок формирования сигнала сброса по питанию.
    4. Выходной порт DATA_O, для выдачи закодированных данных
  3. Запуск моделирования, добавления сигналов и выполнение должны быть автоматизированны (script).

Wrie mode raduga1.jpg

  • Число передаваемых данных задается в generic параметре NUM_SEND_BIT !
  • Частота тактового сигнала 125 КHz
  • Для кодирования данных смотри таблицу
  • Старт передачи данных - первая пауза.

Wrie mode raduga1 table.jpg

  • Завершение передачи данных после посылки NUM_SEND_BIT бит данных.

Задание 7-2

  1. Разработать синтезируемое VHDL-описание блока декодирования данных.
    1. Входные порты: D_I, clk, rst.
    2. Выходные порты: D_O, возможно добавление доп. сигналов обратной связи.
  2. Разработать тестовое окружение для запуска моделирования и проверки корректности передаваемых данных (Можно на SystemC, можно и на VHDL).
    1. Тестовое окружение содержит в себе блок чтения данных из файла и подачи данных на D_I.
    2. Блок формирования тактового сигнала.
    3. Блок формирования сигнала сброса по питанию.
    4. Выходной порт DATA_O, для выдачи закодированных данных
  3. Запуск моделирования, добавления сигналов и выполнение должны быть автоматизированны (script).

Wrie mode raduga1.jpg

  • Число передаваемых данных задается в generic параметре NUM_SEND_BIT !
  • Частота тактового сигнала 125 КHz
  • Для декодирования данных смотри таблицу
  • Старт приема данных - первая пауза D_I равен 0.

Wrie mode raduga1 table.jpg

  • Завершение приема данных после получения NUM_SEND_BIT бит данных.