Скачиваний:
31
Добавлен:
29.12.2022
Размер:
8.96 Mб
Скачать

Упражнение 7 (задание)

nПосмотреть синтезированную пакетом QII схему (RTL Viewer)

n Осуществить функциональное моделирование n Назначить выводы СБИС

nОсуществить полную компиляцию, программирование платы и проверить работу проекта на плате.

241

© 2014 СПбГПУ, каф. КСПТ, доц. Антонов А.П. ( dilab@scideco.ru )

Порядок выполнения упражнения 7

nСоздайте проект:

-Имя проекта – lab7, имя модуля верхнего уровня иерархии – lab7, Рабочая папка - …\lab 7

-СБИС – EP4CE6E22C8

n Создайте новый файл: File=>New=>Verilog HDL file n Сохраните его под именем lab7.

n Введите текстовое описание модуля на языке Verilog

(коэффициент деления счетчика-делителя для моделирования установите небольшим 4-10)

242

© 2014 СПбГПУ, каф. КСПТ, доц. Антонов А.П. ( dilab@scideco.ru )

Порядок выполнения упражнения 7

nОсуществите компиляцию проекта

(Processing=>Start=>Analysis and Synthesis). При необходимости исправить ошибки.

nПосмотрите синтезированную пакетом схему

(Tools=>Netlist Viewers=>RTL Viewer).

243

© 2014 СПбГПУ, каф. КСПТ, доц. Антонов А.П. ( dilab@scideco.ru )

Порядок выполнения упражнения 7

244

© 2014 СПбГПУ, каф. КСПТ, доц. Антонов А.П. ( dilab@scideco.ru )

Порядок выполнения упражнения 7

nСоздайте файл VWF (File=>New=>University Program VWF).

n Сохранить его под именем lab7

nЗадайте входы, выходы и тестовое воздействие

-Тест должен включать проверку всех входов управления

245

© 2014 СПбГПУ, каф. КСПТ, доц. Антонов А.П. ( dilab@scideco.ru )

Порядок выполнения упражнения 7

nЗадайте выводы СБИС:

-Assignments=>Pin Planer

nОткройте файл lab4.vhd и измените значение константы с 4 на

25_000_000.

nВыполните полную компиляцию проекта Processing=>Start Compilation

246

© 2014 СПбГПУ, каф. КСПТ, доц. Антонов А.П. ( dilab@scideco.ru )

Порядок выполнения упражнения 7

nОткройте программатор и осуществите конфигурирование СБИС: Tools=>Programmer

n Проверьте работу проекта на плате.

Упражнение завершено

247

© 2014 СПбГПУ, каф. КСПТ, доц. Антонов А.П. ( dilab@scideco.ru )

Операторы цикла

248

© 2014 СПбГПУ, каф. КСПТ, доц. Антонов А.П. ( dilab@scideco.ru )

Операторы цикла Loop

n forever loop – выполняется постоянно

n repeat loop – выполняется определенное число раз n while loop – выполняется если выражение истинно

nfor loop – выполняется один раз в начале цикла и затем выполняется если выражение истинно

рОператоры Loop используется для задания повторяющихся операций

forever and repeat Loops

n forever loop – выполняется постоянно

initial begin

clk = 0;

forever #25 clk = ~clk; end

Задает тактовый сигнал с периодом 50 единиц времени

Не синтезируется!

n repeat loop – выполняется определенное число

раз

 

 

if (rotate == 1)

 

 

repeat (8) begin

Сдвиг повторяется

 

tmp = data[15];

 

8 раз

 

data = {data << 1, tmp};

 

 

 

end