Практическая работа №5 Тема: приобретение навыков работы с сапр




Скачати 52.27 Kb.
НазваПрактическая работа №5 Тема: приобретение навыков работы с сапр
Дата конвертації14.07.2013
Розмір52.27 Kb.
ТипПрактическая работа
Практическая работа № 5
Тема: приобретение навыков работы с САПР Quartus II. Создание блок-схемы. Создание описания на языке Verilog HDL.
Цель: рассмотреть этапы создания блок-схемы верхнего уровня иерархии, создание описания на языке Verilog HDL (Создание текстового файла Verilog Design File для блока hvalues и для других блоков).
После создания блока необходимо создать файл описания этого блока (если описание еще не создано). Система Quaitus позволяет сначала создать файл с основной (типовой) структурой описываемого блока, а затем наполнить эту структуру конкретным содержанием.
1. Создание описания блока hvalues на языке Verilog HDL.
Для создания структуры текстового файла Verilog Design File (*v) блока hvalues выполните следующие действия:

1. Выделите блок hvalues.

2. Нажмите правую кнопку мыши и во всплывающем меню выберите команду Create Design File (создать файл проекта).

3. Под надписью File type (тип файла) выберите Verilog HDL (файл на языке Verilog HDL).

4. Включите функцию Add the new design file to the current project (добавить новый файл к текущему проекту).

5. Проверьте, чтобы в строке File name (имя файла) отображался файл hvalues.v, расположенный в рабочем каталоге проекта firjfilter

6. Нажмите кнопку ОК. Система Quartus сообщит об успешном создании файла и автоматически откроет окно текстового редактора (Text Editor) с загруженным в него новым файлом. Фрагмент созданного файла показан ниже Файл включает шаблон объявления модуля с именами портов соответствующим определенным в блоке данным.
В тексте описания собержится несколько пар созданных системой комментариев, которые начинаются со слов "ALTERA" и заканчиваются словами "DO NOT REMOVE THIS LINE!" He вводите текст между этими комментариями, поскольку он впоследствии может быть изменен системой Quartus.


7. Для выполнения описания блока hvalues.v перед выражением endmodule введите следующие строки:

Теперь описание hvalues.v примет следующий вид:




8. Сохраните файл проекта, выбрав в меню File (операции с файлами) команду Save (сохранить).

Описание блока taps:
// Module Declaration

module taps

(

// {{ALTERA_ARGS_BEGIN}} DO NOT REMOVE THIS LINE!

clk, reset, sel, newt, d, x

// {{ALTERA_ARGS_END}} DO NOT REMOVE THIS LINE!

);

// Port Declaration

// {{ALTERA_IO_BEGIN}} DO NOT REMOVE THIS LINE!

input clk;

input reset;

input [1:0] sel;

input newt;

input [7:0] d;

output [7:0] x;

// {{ALTERA_IO_END}} DO NOT REMOVE THIS LINE!
// Wire Declaration

reg [7:0] x, xn, xn_1, xn_2, xn_3;
// Register element

always @(posedge clk or posedge reset)

begin

if (reset)

begin

xn = 8'b00000000;

xn_1 = 8'b00000000;

xn_2 = 8'b00000000;

xn_3 = 8'b00000000;

end

else if (newt)

begin

xn_3 = xn_2;

xn_2 = xn_1;

xn_1 = xn;

xn = d;

end

end
// Mux element
always @(sel or xn or xn_1 or xn_2 or xn_3)

case (sel)

2'b 00: x = xn;

2'b 01: x = xn_1;

2'b 10: x = xn_2;

2'b 11: x = xn_3;

default: x = 8'bXXXXXXXX;

endcase
endmodule

Описание блока state_m:
// Module Declaration

module state_m

(

// {{ALTERA_ARGS_BEGIN}} DO NOT REMOVE THIS LINE!

clk, reset, newt, sel, follow, first

// {{ALTERA_ARGS_END}} DO NOT REMOVE THIS LINE!

);

// Port Declaration

// {{ALTERA_IO_BEGIN}} DO NOT REMOVE THIS LINE!

input clk, reset, newt;

output follow, first;

output [1:0]sel;

// {{ALTERA_IO_END}} DO NOT REMOVE THIS LINE!
// Wire Declaration

reg follow, first;

reg [1:0] sel;

reg [2:0] filter;
parameter idle = 0, tap1 = 1, tap2 = 2, tap3 = 3, tap4 = 4;
always

begin

case (filter)

idle: begin

sel = 2'b0;

follow = 1'b0;

first = 1'b0;

end
tap1: begin

sel = 2'b0;

follow = 1'b0;

first = 1'b1;

end
tap2: begin

sel = 2'b01;

follow = 1'b0;

first = 1'b0;

end
tap3: begin

sel = 2'b10;

follow = 1'b0;

first = 1'b0;

end
tap4: begin

sel = 2'b11;

follow = 1'b1;

first = 1'b0;

end

default : begin

sel = 2'b00;

follow = 1'b0;

first = 1'b0;

end

endcase

end

always @(posedge clk or posedge reset)

begin

if (reset)

filter = idle;

else

case (filter)

idle: begin

if (newt)

filter = tap1;

end

tap1: begin

filter = tap2;

end
tap2: begin

filter = tap3;

end
tap3: begin

filter = tap4;

end
tap4: begin

if (newt)

filter = tap1;

else

filter = idle;

end

endcase
end

endmodule

Описание блока acc:
// Module Declaration

module acc

(

// {{ALTERA_ARGS_BEGIN}} DO NOT REMOVE THIS LINE!

xh, clk, first, yn

// {{ALTERA_ARGS_END}} DO NOT REMOVE THIS LINE!

);

// Port Declaration
// {{ALTERA_IO_BEGIN}} DO NOT REMOVE THIS LINE!

input [10:0] xh;

input clk;

input first;

output [7:0] yn;

// {{ALTERA_IO_END}} DO NOT REMOVE THIS LINE!
reg [7:0]yn;

reg [11:0] ynm, result, a_in;

wire [11:0] inter;
// Describe Multiplexer
always @(first or result)

begin

case (first)

1'b 0: ynm = result;

1'b 1: ynm = 12'b000000000000;

endcase

end

always @(posedge clk)

begin

result = inter;

end
always @(xh)

begin

a_in[10:0] = (xh);

a_in[11] = 0;

end
always @(result)

begin

yn[7:0] = result[11:4];

end
accum inst_1(.dataa(a_in), .datab(ynm), .result(inter));
endmodule

^ 2. Создание функционального блока при помощи мастера мегафункций MegaWizard.
Для рассматриваемого проекта необходимо создать функцию 12-разрядного арифметического сумматора. Вы можете создать ее на основе стандартной мегафункций lpm_add_sub. Например, так создана функция accum, представляемая файлом acc.v. Для создания таких функций удобно пользоваться встроенным в пакет Quartus мастером мегафункций MegaWizard.
Создание текстового Verilog HDL-описания блока на основе мегафункции.
Чтобы создать описание Verilog HDL функционального блока на основе готовой мегафункции lpm_add_sub с помощью мастера MegaWizard выполните следующие действия:

1. В меню ^ Tools (инструментальные средства) выберите команду MegaWizard. Появится окно мастера MegaWizard

2. На вопрос: "Which action do you want to perform?" (какое действие вы хотите выполнить?) выберите Create a new custom megafunction variation (создать новый блок на основе мегафункции), нажмите кнопку Next (следующий шаг).

3. В списке Available Megafunctions (доступные мегафункции) раскройте папку арифметических мегафункции, щелкнув по значку "+", и затем выберите мегафункцию LPM_ADD_SUB (мегафункция сумматора/вычитателя).

4. На вопрос: "Which type of output file do you want to create?" (какой тип выходного файла вы хотите создать?) выберите Verilog HDL.

5. На вопрос: "What name do you want for the output file?" (как вы хотите назвать выходной файл?) введите d:\qdesigns\fir_filter\accum.v и нажмите кнопку Next (следующий шаг).

6. На вопрос: "How wide should the input buses be?" (какова требуемая разрядность входных шин 'dataa' и 'datab'?) введите 8.

7. На вопрос: "Which operating mode do you want for the adder/ subtracter?" (каков требуемый режим работы сумматора/вычитателя) выберите Addition only (только суммирование) и нажмите кнопку Next (следующий шаг).

8. На вопрос: "Is the 'dataa' or 'datab' bus value a constant?" (является ли шина dataa' или datab' константой?) выберите No (нет) — оба значения переменные, и нажмите кнопку Next (следующий шаг).

9. На вопрос: "Do you want any optional inputs or outputs?" (хотите использовать какие-либо дополнительные входы или выходы?) удостоверьтесь, что все дополнительные входы/выходы выключены и нажмите кнопку Next (следующий шаг).

10. На вопрос: "Do you want to pipeline the function?" (хотите реализовать эту функцию с использованием конвейера?) выберите No (нет) и нажмите ^ Next (следующий шаг) Появится итоговая страница со списком файлов созданных встроенным мастером

11. Нажмите кнопку Finish (готово) — мастер MegdWizard создаст файл accum.v, готовый к использованию в вашем проекте.
Подключение к проекту файлов, созданных мастером MegaWizard
Для того чтобы добавить созданные файлы acumen.v и mult.v к проекту fir_filter, выполните следующие действия:

1. В меню Project (проект) выберите команду Add Files to Project (добавить файлы к проекту). Автоматически появится вкладка Add Files.

2. В поле File Name (имя добавляемого файла) введите файл accum.v и, при необходимости, файл mult.v.

3. Нажмите кнопку ОК. Теперь вы создали все необходимые файлы и добавили их к проекту fir_filter.





Схожі:

Практическая работа №5 Тема: приобретение навыков работы с сапр iconПрактическая работа №3 Тема: приобретение навыков работы с сапр
Тема: приобретение навыков работы с сапр quartus II. Работа с графическим редактором и редактором временных диаграмм. Компиляция...
Практическая работа №5 Тема: приобретение навыков работы с сапр iconПрактическая работа №1 Тема: приобретение навыков работы с сапр
Тема: приобретение навыков работы с сапр quartus II. Работа с графическим редактором и редактором временных диаграмм. Компиляция...
Практическая работа №5 Тема: приобретение навыков работы с сапр iconПрактическая работа № Работа с диагностической программой общего назначения
Цель работы: знакомство с классификацией и возможностями диагностических программам общего и специального назначения, приобретение...
Практическая работа №5 Тема: приобретение навыков работы с сапр iconЛабораторная работа
Приобретение студентами практических навыков описания бизнес процессов предприятия на основе стандарта ide получение навыков работы...
Практическая работа №5 Тема: приобретение навыков работы с сапр iconЛабораторная работа №1
Цель работы : Изучение основных элементов рабочего стола и приобретение навыков работы с ними
Практическая работа №5 Тема: приобретение навыков работы с сапр iconЛабораторная робота №5
Приобретение практических навыков разработки сложных цифровых устройств с помощью сапр max+plus ii''
Практическая работа №5 Тема: приобретение навыков работы с сапр iconЛабораторная работа №1 Тема : Планировка
Цель работы: закрепление теоретических знаний о функциональных процессах подготовительного производства, применяемых подъемно-транспортных...
Практическая работа №5 Тема: приобретение навыков работы с сапр iconПрактическая работа №4 Тема: Файлы. Характеристики файлов
Имя может быть до 255 символов и нести логическое направление. Например: Практическая работа №4. Которое характеризует содержимое...
Практическая работа №5 Тема: приобретение навыков работы с сапр iconПрактическая работа №6 Тема: управление процессами
Цель: Изучить организацию размещения файлов на диске и технологию работы с ними в ntfs
Практическая работа №5 Тема: приобретение навыков работы с сапр iconПрактическая работа №6 Тема: компиляция проекта в с сапр
Цель: изучение основных параметров компилятора, рассмотрение определения семейства и типа плис, определения режима компиляции, определения...
Додайте кнопку на своєму сайті:
Школьные материалы


База даних захищена авторським правом © 2013
звернутися до адміністрації
mir.zavantag.com
Головна сторінка