50494

Проектирование 4-разрядного сумматора

Лабораторная работа

Информатика, кибернетика и программирование

Открыть VHDL файл и записать в него прогр. Сохранить файл под именем dd1 и установить его старшим в иерархии проекта. Список файлов открывается средней клавишей Files. VHDL файлы относятся файлам образующим проект.

Русский

2014-01-24

116 KB

17 чел.

Лабораторная работа № 3

Проектирование 4-разрядного сумматора.

Цель работы: Получение навыков работы в пакете Quartus; построение многоуровнего проекта, изучение функционирования простейшего КЦУ.

Задание на работу в лаборатории. Построить  схему четырехразрядного сумматора, взяв за основу схемы полусумматора и полного одноразрядного сумматора. В редакторе временных диаграмм задать форму входных сигналов и получить диаграммы выходов.

Порядок выполнения работы.

  1.  Через ярлык  на рабочем столе произвести загрузку пакета Quartus.
  2.  Создать новый проект в своей папке xx, назвав его summ.
  3.  Открыть VHDL файл и записать в него прогр. 1. Сохранить файл под именем add1 и установить его старшим в иерархии проекта. Для этого проделать путь от верхнего меню View –> Utility Windows –> Project Navigator. В левой верхней части экрана откроется окно навигатора. Список файлов открывается средней клавишей (Files). VHDL – файлы относятся файлам, образующим проект. Чтобы установить файл старшим в иерархии, необходимо выбрать его и кликом правой клавишей мыши выбрать Set a Top-Level Entity.
  4.  Откомпилировать файл. Во время компиляции обращайте внимание на сообщения компилятора, где указывается имя проекта и компилируемого файла. Эта информация всегда поможет вам избежать ошибок.
  5.  Пользуясь методикой работы 1, открыть файл временных диаграмм и построить диаграммы полусумматора, взяв интервал для a1 - 20ns, а для b1 – 30ns. Сохранить файл.  Для симуляции временного файла надо воспользоваться строчкой Simulator Tool меню Processing. Через поиск найти название последнего временного файла и нажать Start. Просмотреть результат, нажав в том же окне справа Simulator Report. Проанализируйте полученный результат, запишите задержку.
  6.  Открыть новый VHDL файл и записать в него прогр. 2. Сохранить файл под именем add11 и установить его старшим в иерархии проекта. Откомпилировать файл.
  7.   Построить временные диаграммы одноразрядного сумматора, взяв интервалы для a1 - 20ns, для b1 – 30ns, для c1 – 50ns. Проанализировать  результат симуляции.
  8.  Открыть новый VHDL файл и записать в него прогр. 3. Сохранить файл под именем add4 и установить его старшим в иерархии проекта. Откомпилировать файл.
  9.  Построить временные диаграммы четырехразрядного сумматора. При построении воспользуйтесь клавишей бокового меню, позволяющей  изображать произвольные временные интервалы, на ней изображены два фронта со стрелкой в две стороны. Число a установить равным 10 на интервале 30ns и, затем, на интервале 50ns равным 3. Число b установить равным 7 на интервале 50ns и, затем на интервале 50ns равным 13. Для появления всех разрядов шины на диаграмме кликнуть на + возле имени шины. Проанализируйте результат симуляции.
  10.   Создать библиотечный модуль 4-разрядного сумматора. Для этого открыть VHDL-файл с прогр. 3, в меню File выберите последовательно Create/Update и Create Symbol Files for Current File.
  11.   Далее вам необходимо включить в свой проект два файла периферийных устройств. Имена файлов multiplexor, decoder. Все файлы лежат в папке материалы. Ваши действия: File – Open производите поиск afs – dcti.sut.ru – matherials – sk -3kursдалее до списка файлов. Выбираете multiplexor, записываете в проект File Save As производите поиск– afsdcti.sut.ruhomestudents и далее к своему проекту. Для записанного файла создайте библиотечный модуль. Аналогичные действия проделайте для файла decoder.
  12.   Открыть файл графического редактора FileNewBlock Diagram/Schematic File. Двумя кликами мыши в поле листа вызвать библиотеку символов и последовательно вывести на лист редактора модули add4, multiplexor, decoder. Кроме этих символов вывести из библиотеки на лист символы gnd, input и output. Входы модуля add4 a[3..0], b[3..0] соединить с примитивами input, выходы суммы S[3..0] - со входами data0[…..] модуля multiplexor, а выход c вывести и назвать линию c[0]. К примитиву gnd подвести 3 линии, поименовав их c[1], c[2] и c[3]. Вход data1 модуля multiplexor вывести и поименовать шину c[3..0]. Вход clk модуля multiplexor вывести через input. Выходы модуля multiplexor columns[3..0], определяющие количество используемых сегментных индикаторов, вывести и поименовать линию col[3..0], а выходы outputdata[] соединить со входами indata[3..0] модуля decoder. В таблицу значений параметров модуля multiplexor в строке значений WIDTH заменить 15 на 4. Для обозначения количества индикаторов взять отдельный примитив output. Выходы модуля decoder  соединить с примитивом output. Поименовать входы и выходы полученного устройства. Для этого необходимо произвести два клика на названии pin name примитива input и output. Название может не совпадать с именем выводов модулей, но должно содержать одинаковое количество переменных. Например: A[3..0], B[3..0] для обозначения входов, COL[1..0], OUT[8..0] – для обозначения выходов.
  13.   Созданный файл графического редактора сохранить под именем проекта summ, установить старшим в иерархии и откомпилировать.
  14.   Открыть Pin Planner и произвести разводку выводов. Входы A[3..0] и  B[3..0] соединить с тумблерами (38, 40, 42, 48; 50, 52, 56, 58), вход clk с генератором тактовой частоты макета(16). Выходы   COL[1..0] с питанием индикаторов (109, 110), а выходы OUT[8..0] с сегментами, начиная с нулевого (74, 73, 72, 70, 61, 79, 75, 69, 71). Откомпилировать файл планировщика.
  15.   Подключить макет. Вызвать программатор и, убедившись что загружен нужный файл, подключен требуемый тип кристалла и ByteBlaster, поставить галочку в клетку Program/Configure и нажать Start. Продемонстрировать преподавателю работу устройства на макете.

Прогр. 1

library ieee;

use ieee.std_logic_1164.all;

entity add1 is

port(a1,b1:in BIT;c1,s1:out BIT);

end add1;

architecture struct_1 of add1 is

begin

s1<= ((a1 and (not b1)) or ((not a1) and b1));

c1<= a1 and b1;

end struct_1;

Прогр. 2

library ieee;

use ieee.std_logic_1164.all;

entity add11 is

port(a2,b2,c1:in BIT;c2,s2:out BIT);

end add11;

architecture struct_1 of add11 is

begin

s2<=(a2 xor b2) xor c1;

c2<= (a2 and b2) or ((a2 xor b2)and c1);

end struct_1;

Прогр.3

library ieee;

use ieee.std_logic_1164.all;

entity add4 is

port(a,b:in bit_vector(3 downto 0);

s:out bit_vector(3 downto 0);

c : out bit);

end add4;

architecture structural of add4 is

component add1

port(a1,b1:in BIT;c1,s1:out BIT);

end component;

component add11

port (c1,a2,b2:in BIT; c2,s2:out BIT);

end component;

signal c_in: bit_vector(2 downto 0);

begin

p0: add1

port map(a1=>a(0),b1=>b(0),c1=>c_in(0),s1=>s(0));

p1: add11

port map(c1=>c_in(0),a2=>a(1),b2=>b(1),c2=>c_in(1),s2=>s(1));

p2: add11

port map(c1=>c_in(1),a2=>a(2),b2=>b(2),c2=>c_in(2),s2=>s(2));

p3: add11

port map(c1=>c_in(2),a2=>a(3),b2=>b(3),c2=>c,s2=>s(3));

end structural;

Отчет должен содержать программы работы устройств с их названиями и временными диаграммами их работы.


 

А также другие работы, которые могут Вас заинтересовать

19959. Исследовательский реактор СМ-2- пример достижения максимально возможных значений плотностей нейтронных потоков 214.92 KB
  Познакомить слушателей с техническими характеристиками исследовательского реактора CМ-2, устройством активной зоны и его возможностями для проведения реакторных испытаний. Рассмотреть картограмму активной зоны и распределения потоков излучений по экспериментальным каналам.
19960. Исследовательский реактор БР-10 – база проверки работоспособности элементов активных зон быстрых реакторов 33.21 KB
  Познакомить слушателей с техническими характеристиками исследовательских реакторов БР-10 и МИР, устройством их активных зон, их возможностями для проведения реакторных испытаний. Рассмотреть картограммы активных зон и распределения потоков излучений по экспериментальным каналам.
19961. Общая схема последовательности стадий разработки облучательного устройства 28.5 KB
  Познакомить слушателей с вопросами разработки и конструирования облучательных устройств для пассивных и активных реакторных испытаний. Обратить внимание на специфику конструкторских разработок облучательных устройств, последовательность проведения этой работы. Выделить наиболее важную задачу для разработки конструкции облучательного устройства- расчет поля температуры по его элементам. Приступить к постановке задачи расчета температурного поля.
19962. Вывод уравнения теплового баланса для любого элемента облучательного устройства 24.63 KB
  Вывести уравнения теплового баланса для любого элемента облучательного устройства. Обратить внимание слушателей, что после проведения соответствующих алгебраических операций решение задачи о поле температуры сводится к решению системы обыкновенных дифференциальных уравнений с постоянными коэффициентами второго порядка и может быть представлено в гиперболических функциях.
19963. Схема тепловых расчетов для конкретной экспериментальной установки 29.19 KB
  Рассмотреть конкретный пример использования методики расчета температурного поля облучательного устройства. В качестве примера предлагается облучательное устройство Ритм, предназначенное для комплексного исследования пластических свойств ядерного топлива и газовыделения при одновременной регистрации акустической эмиссии в процессе облучения.
19964. Пастановка задачи о радиальном распределении температуры в облучательном устройстве при отсутствии утечек тепла в торцы 31.07 KB
  Поставить и решить задачу о радиальном распределении температуры в облучательном устройстве при отсутствии утечек тепла в торцы. Обратить внимание на то, что для этого случая можно получить аналитическое решение, пригодное для оценочных расчетов радиального поля температуры по элементам облучательного устройства, тепловой изоляции или определения местоположения и мощности нагревателя для создания нужного температурного режима на облучаемом образце.
19965. Решение задачи о поле температуры в облучательном устройстве при отсутствии утечек тепла в торцы 39.33 KB
  Поставить и решить вспомогательную задачу Б и закончить рассмотрение задачи о радиальном распределении температуры в облучательном устройстве при отсутствии утечек тепла в торцы. Обосновать необходимость использования метода конечных элементов (МКЭ) для расчета полей температуры в облучаемых образцах. Приступить к постановке задачи расчета поля температуры МКЭ для цилиндрического образца.
19966. Методика представления системы уравнений тепловых балансов в матричной форме 30.08 KB
  Познакомить слушателей с методикой представлением системы уравнений тепловых балансов в матричной форме. Отметить, что это представление основывается на предположениях о малых размерах элементов, геометрии рассматриваемой задачи и возможности использования линейных связей между тепловыми потоками и температурой.
19967. Проблема выбора конструкционных материалов для изделий ядерной энерготехники 21.18 KB
  Познакомить слушателей с проблемой выбора конструкционных материалов для изделий, работающих в поле нейтронного излучения. Обратить особое внимание на пострадиационные технологические операции с изделием (в нашем случаем с облучательным устройством) по его радиационно-безопасном «захоронении».