50494

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

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

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

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

Русский

2014-01-24

116 KB

16 чел.

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

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


 

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

45745. Символический обмен и смерть 23.5 KB
  Установив этот факт Бодрийяр деконструирует оппозиции заявляя что принцип симуляции правит нами сегодня вместо прежнего принципа реальности. Этот эффект получил название эмансипации знака или симуляции которая характеризует современную эпоху. Отсюда Бодрийяр делает вывод что ни представительная демократия ни социальная революция в эру симуляции невозможна.
45746. Бэкон. Новый органон 28 KB
  Фрэнсис Бэкон 15611626 основатель современного индуктивного метода. Бэкон верил что он имеет метод при помощи которого индукция сможет сделать нечто большее чем это. Одна из наиболее знаменитых частей философии Бэкона это его перечисление того что он называет идолами под которыми подразумевает плохие привычки ума которые приводят людей к ошибкам.Индуктивный метод Бэкона ошибочен изза того что он недостаточно подчеркивал значение гипотез.
45747. Философия Макса Вебера 42.5 KB
  Макс Вебер отмечает несомненное преобладание протестантов среди владельцев капитала и предпринимателей. Книга включает 2 части 5 глав: Постановка проблемы Предварительные замечания и 3 главы; Профессиональная этика аскетического протестантизма 2 главы Вебер – социолог. Вебера показывает взаимосвязь протестантских религиозных ценностей и развития духа капитализма утверждая что в странах где эти ценности доминировали быстрее и легче утверждались капиталистические отношенияъВ книге М. Вебера “ПРОТЕСТАНТСКАЯ ЭТИКА И ДУХ...
45748. Философские исследования 33.5 KB
  Философские исследования - одна из двух наряду с Логико-философским трактатом важнейших работ крупнейшего философа XX века Людвига Витгенштейна суммирующая его поздние взгляды. В отличие от Трактата в данной работе объектом исследования Витгенштейна выступает не идеальный язык язык как картина мира который есть всё то что происходит а обыденный язык человеческого общения. Идеи Витгенштейна нашли отражение и в философии постмодернизма. Кроме того влияние Философских исследований прослеживается в современной литературе...
45749. Истина и метод 25 KB
  Истина и метод Whrheit und Methode 1960. Как и в сфере искусства в историческом познании истина раскрывается не только в научных суждениях выносимых с воображаемой дистанции по отношению к предмету и обеспеченных определенными правилами метода но и благодаря вовлеченности познающего в целостность исторического процесса который самим познающим и совершается. Эстетическая равно как и историческая истина есть истина которую совершают осуществляют.
45750. Гегель. Наука Логики 27.5 KB
  Наука Логики. В этом смысле наука логики есть изложение самой Абсолютной Идеи в ее необходимом развертывании. Именно в этом смысле Наука логики является фундаментом всей системы гегелевской философии. Следует заметить что Наука логики не опровергает формальную логику но по замыслу Гегеля развивает понимание логического до уровня спекулятивного.
45751. Гегель. Кто мыслит абстрактно? 31.5 KB
  Кто мыслит абстрактно в ней речь идетде о метафизике. доказывается что какие бы то ни было объяснения на этот счет совершенно излишни: именно потому что свет прекрасно знает что такое абстрактное он его и избегает. в добропорядочном обществе каждый из присутствующих прекрасно знает что значит мыслить и что такое абстрактно а именно в таком обществе мы и находимся. Вопрос стало быть заключается только в том чтобы показать на того кто мыслит абстрактно.
45752. Гуссерль. Картезианские размышления 40 KB
  Феноменология определяется в данной работе Гуссерля как самоистолкование трансцендентального ego показывающее как оно конституирует в себе трансцендентное; как трансцендентальный идеализм трансцендентальная теория познания в отличие от традиционной где основной проблемой является проблема трансцендентного бессмысленная в феноменологии. Трансцендентальнофеноменологическая редукция эпохé делая мир лишь опытом феноменом обнаруживает что естественному бытию мира в качестве самого по себе более первичного бытия предшествует бытие...