50494

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

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

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

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

Русский

2014-01-24

116 KB

19 чел.

Лабораторная работа № 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;

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


 

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

10390. Ізомерія етиленових вуглеводнів, номенклатура. Розв’язування тренувальних вправ на написання ізомерів 36.5 KB
  Тема: Ізомерія етиленових вуглеводнів номенклатура. Розвязування тренувальних вправ на написання ізомерів. Навчальна мета: ознайомити з новим видом ізомерії за положенням кратних звязків, продовжувати розвивати уміння складати структурні формули за назвами речо
10391. Нітратна кислота та її солі - нітрати 84.5 KB
  Мета: поглибити знання учнів про нітратну кислоту розглянути властивості нітратної кислоти зумовлені наявністю в її складі атома Нітрогену у найвищому ступені окиснення а саме її взаємодію з металами підкреслити небезпечність концентро...
10392. Бензен як представник ряду ароматичних вуглеводнів. Його склад, електронна і структурні формули, фізичні властивості. Хімічні властивості бензену 169 KB
  Дата: Тема: Бензен як представник ряду ароматичних вуглеводнів. Його склад електронна і структурні формули фізичні властивості. Хімічні властивості бензену. Тип уроку: урок вивчення нового матеріалу. Навчальна мета: Ознайомити учнів з бензеном як предста...
10393. Будова електронних оболонок атомів елементів перших трьох періодів 97 KB
  Планконспект уроку з хімії На тему: Будова електронних оболонок атомів елементів перших трьох періодів Мета: Розкрити причину періодичної зміни властивостей елементів і їх сполук у світлі закономірної зміни будови електронних оболонок атомів. Розвивати пізнавальну...
10394. Відносна молекулярна маса речовини, обчислення її за хімічною формулою. Масова частка елемента у речовині. Обчислення масової частки елемента у складі речовини 6.95 MB
  Тема: Відносна молекулярна маса речовини обчислення її за хімічною формулою. Масова частка елемента у речовині. Обчислення масової частки елемента у складі речовини. Навчальна мета: 1 закріпити знання про хімічні формули й уміння обчислювати відносну молекулярну масу...
10395. Генетичний звязок між класами органічних сполук 41 KB
  Тема: Генетичний звязок між класами органічних сполук. Навчальна мета: узагальнити знання учнів про класи органічних сполук обґрунтувати твердження про єдність і взаємозвязок усієї живої і неживої природи. Виховна мета: виховувати в учнів самостійність вміння вико...
10396. Либерализм в Европе и США, его сущность и эволюция 39 KB
  Либерализм в Европе и США его сущность и эволюция. Либерализм зародился как идеология восходящего класса буржуазии в XVII в. и окончательно оформился как идейнополитическое течение к середине XIX в. Его основной концепцией была идея индивидуальной свободы разработанная...
10397. Власть как политическое явление легитимность власти 29 KB
  Власть как политическое явление легитимность власти. Политическая власть способность социальной единицы социальной группы класса большинства общества и представляющих её организаций и индивидов проводить свою волю по отношению к другим социальным единицам; осу
10398. Власть и общественные интересы. Формы и средства выражения в политике 28.5 KB
  Власть и общественные интересы. Формы и средства выражения в политике. Понятие власть является одним из центральных в политологии дающим ключ к пониманию политических институтов политических движений и самой политики. Под властью понимают возможность и способно