«Случай — это псевдоним Бога, когда Он не хочет подписываться своим собственным именем.» А. Франс

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

Материал из Wiki
Перейти к: навигация, поиск
(Общие требования)
 
(не показаны 8 промежуточных версий 2 участников)
Строка 1: Строка 1:
 +
{{ИГСАПР_TOC}}
 
==Общие требования ==
 
==Общие требования ==
 
# Разработать VHDL-описание.
 
# Разработать VHDL-описание.
Строка 5: Строка 6:
 
## Название портов in - '''D_I, clk, rst'''.
 
## Название портов in - '''D_I, clk, rst'''.
 
## Название портов out - '''D_O'''.
 
## Название портов out - '''D_O'''.
## Внутренние сигналы называть так, чтобы было интуитивно понятно его название.
+
## Внутренние сигналы называть так, чтобы было интуитивно понятно их названия.
 
# Разработать тестовое окружение для запуска моделирования.
 
# Разработать тестовое окружение для запуска моделирования.
 
## На языке SystemC(+) или VHDL.
 
## На языке SystemC(+) или VHDL.
Строка 12: Строка 13:
 
## Название блока генерации тактового сигнала '''clk_gen (beh)'''
 
## Название блока генерации тактового сигнала '''clk_gen (beh)'''
 
## Название блока генерации сигнала сброса '''rst_gen (beh)'''.
 
## Название блока генерации сигнала сброса '''rst_gen (beh)'''.
## Функция чтения из файла должна быть написана по примеру из [http://gen.lib.rus.ec/book/index.php?md5=EAAEE213147830644F0B955075496847 VHDL. Эффективное использование при проектировании цифровых систем 2006] или [[Файл:Бибило_П.Н.,_Авдеев_Н.А._VHDL._Эффективное_использование_при_проектировании_цифровых_систем_2006.djvu | Зеркало для скачивания ]]
+
## Функция чтения из файла должна быть написана по примеру из [http://gen.lib.rus.ec/book/index.php?md5=EAAEE213147830644F0B955075496847 VHDL. Эффективное использование при проектировании цифровых систем 2006] или [[media:Бибило_П.Н.,_Авдеев_Н.А._VHDL._Эффективное_использование_при_проектировании_цифровых_систем_2006.djvu | Зеркало для скачивания ]]
## Функция записи в файл должна быть написана по примеру из [http://gen.lib.rus.ec/book/index.php?md5=EAAEE213147830644F0B955075496847 VHDL. Эффективное использование при проектировании цифровых систем 2006] или [[Файл:Бибило_П.Н.,_Авдеев_Н.А._VHDL._Эффективное_использование_при_проектировании_цифровых_систем_2006.djvu | Зеркало для скачивания ]]
+
## Функция записи в файл должна быть написана по примеру из [http://gen.lib.rus.ec/book/index.php?md5=EAAEE213147830644F0B955075496847 VHDL. Эффективное использование при проектировании цифровых систем 2006] или [[media:Бибило_П.Н.,_Авдеев_Н.А._VHDL._Эффективное_использование_при_проектировании_цифровых_систем_2006.djvu | Зеркало для скачивания ]]
 
## Должна быть возможность стыковки tb блока кодирования и декодирования, для верификации.
 
## Должна быть возможность стыковки tb блока кодирования и декодирования, для верификации.
 
# Синтезировать полученную схему в LeonardoSpectrum.
 
# Синтезировать полученную схему в LeonardoSpectrum.
Строка 36: Строка 37:
 
* Перед стартом передачи данных посылать SOF
 
* Перед стартом передачи данных посылать SOF
  
[[Файл:Sof_1-256_kod.jpg|600px]]
+
[[Файл:Sof_1-256_kod.jpg|300px]]
  
 
* После завершения передачи данных EOF
 
* После завершения передачи данных EOF
  
[[Файл:Eof_1-256.jpg|600px]]
+
[[Файл:Eof_1-256.jpg|300px]]
  
 
==Задание 1-2 ==
 
==Задание 1-2 ==
Строка 59: Строка 60:
 
* Прием данных начинать после получения SOF
 
* Прием данных начинать после получения SOF
  
[[Файл:Sof_1-256_kod.jpg|600px| Символ SOF]]
+
[[Файл:Sof_1-256_kod.jpg|300px| Символ SOF]]
  
 
* Прекращать прием после прихода символа EOF
 
* Прекращать прием после прихода символа EOF
  
[[Файл:Eof_1-256.jpg|600px| Символ EOF]]
+
[[Файл:Eof_1-256.jpg|300px| Символ EOF]]
  
 
==Задание 2-1==
 
==Задание 2-1==
Строка 83: Строка 84:
 
* Перед стартом передачи данных посылать 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==
Строка 106: Строка 107:
 
* Перед стартом передачи данных посылать 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]]
  
 
==Задание 3-1==
 
==Задание 3-1==
Строка 199: Строка 200:
  
 
* Число принимаемых данных задается в generic параметре NUM_GET_BIT!
 
* Число принимаемых данных задается в generic параметре NUM_GET_BIT!
* Частота тактового сигнала 1.98 MHz
+
* Частота тактового сигнала 1.92 MHz
 
* Частота закодированных данных 640 KHz
 
* Частота закодированных данных 640 KHz
 
* Прием данных начинать после получения SOF
 
* Прием данных начинать после получения SOF
Строка 305: Строка 306:
  
 
* Число принимаемых данных задается в generic параметре NUM_GET_BIT!
 
* Число принимаемых данных задается в generic параметре NUM_GET_BIT!
* Частота тактового сигнала 1.98 MHz
+
* Частота тактового сигнала 1.92 MHz
 
* Tari= 6.25us (см. рис.)
 
* Tari= 6.25us (см. рис.)
 
* RTcal= (Data-0) + (Data-1)=3 * Tari = 18.75us
 
* RTcal= (Data-0) + (Data-1)=3 * Tari = 18.75us

Текущая версия на 17:36, 16 декабря 2013

Лекции ИГСАПР

Лекции

Практические
Тесты

Лабораторные
  • Лабораторные работы

Табель

Доп. материалы

Содержание

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

  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.92 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.92 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 бит данных.