Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Разработка структурной VHDL-модели микросхемы





Структурная модель описывает состав компонентов проекта, типы компонентов, соединения выходов одних компонентов с входами других. Благодаря этому свойству структурная модель является основным средством формального детального описания проекта в следующих случаях:

● в конце процесса проектирования, когда строится или генерируется детальное описание проекта, представляющее собой реализацию исходной спецификации поведенческого уровня;

● при иерархической многоуровневой декомпозиции сложного проекта на части, представленные в свою очередь на структурном уровне, либо представленные на поведенческом или потоковом уровне.

Разработаем структурную VHDL-модель микросхемы КР1533ИР8, функциональная схема которой представлена на рис.2.1. На рис. 2.2 представляем функциональную схему D-триггера, как основной функциональной составляющей микросхемы регистра.

Функциональная схема состоит из логических элементов: буферный логический элемент НЕ-НЕ, инвертор логического сигнала- элемент НЕ, один двухвходовый элемент И, восемь D-триггеров. Большинство связей между элементами являются прямыми. Обратные связи направлены от выходов триггеров младших разрядов к D-входам триггеров следующего разряда. Рассматриваем функциональную схему для одного D-триггера

(один разряд регистра), который включает в себя 6 логических элементов 3И-НЕ.

Структурная VHDL-модель микросхемы представлена на рис.2.3. Это VHDL-модуль architecture структурного уровня. Уровень модуля опеределяется наличием в нем таких типично «структурных» конструкций, как объявление компонента и конкретизация компонента. Объявление выполняется для каждого нового типа компонента. Конкретизация выполняется для каждой отдельной копии компонента в структуре. В рассматриваемую микросхему входят пять типов и шестнадцать копий компонентов. Типы компонентов именуются идентификаторами Not_Not, Not, And2, And3_Not. Копии компонентов именуются идентификаторами Comp1,…,Comp9. Связи между входами и выходами копий компонентов представляются сигналами

 

 

Рис. 2.1 Функциональная схема микросхемы КР1533ИР8

 

 

 

Рис. 2.2 Функциональная схема D-триггера.

 

 

 

architecture Structure of KP1533ИР8 is component Not_Not port(A:in Bit; Y:out Bit); end component; component Not port(A:in Bit; Y:out Bit); end component; component And2 port(A,B:in Bit; Y:out Bit); end component; component And3_Not port(A,B,C:in Bit; Y:out Bit); end component; signal s1,s2,s3,s4,s5,s6,s8,s9: Bit; signal S: Bit:='1'; begin Comp1:Not_Not port map(R,s1); Comp2:Not port map(C,s2); Comp3:And2 port map(A,B,s3); Comp4:And3_Not port map(S,s5,s7,s4); Comp5:And3_Not port map(s4,s1,s2,s5); Comp6:And3_Not port map(s5,S,s7,s6); Comp7:And3_Not port map(s6,s1,s3,s7); Comp8:And3_Not port map(S,s5,s9,s8); Comp9:And3_Not port map(s8,s1,S6,s9); Q1<=s8; end Structure; Рис.2.3. Структурная VHDL-модель одного разряда микросхемы entity Not_Not is port(A:in Bit; Y:out Bit); end Not_Not;   architecture DF_Not_Not ofNot_Not is begin Y <= not A not; end DF_Not_Not;   entity Not is port(A:in Bit; Y:out Bit); end Not;   architecture DF_Not of Not is begin Y<=not A; end DF_Not;   entity And2 is port(A,B:in Bit; Y:outBit); end And2;   architecture DF_AndofAnd is begin Y<=(A and B) after 1ps; end DF_And;   entity And3_Not is port(A,B,C:in Bit; Y:outBit); end And3_Not;   architecture DF_And3_Not of And3_Not is begin Y<= not(AandB and C) after 2ps; end DF_And3_Not;  

Рис.2.4. VHDL-модели компонентов структуры

 

Объявление компонента начинается с зарезервированного слова component, за которым следует имя компонента. Далее объявляются формальные параметры настройки (generic) и порты (port) компонента. Для каждого указываются имя, режим (in, out, inout) и тип или подтип. Объявление заканчивается парой зарезервированных слов end component. Так, третий объявляемый компонент имеет имя And2 и формальные порты A, B, Y. Все порты имеют тип Bit. Первые два являются входными (режим in), третий – выходным (режим out). За объявлением компонентов следует объявление сигналов, используемых для представления связей между входами и выходами компонентов. В рассматриваемой структурной модели связи представляются сигналами s1,…,s9. Объявление сигналов начинается с зарезервированного слова signal, за которым следуют имена сигналов, их тип Bit. Начальное значение сигналов устанавливается по умолчанию. Им является первое значение перечислимого типа Bit, т.е. значение ‘0’.

Конкретизация компонента начинается с определения имени для копии компонента. За именем копии через символ ‘:’ следует имя компонента, введенное в его объявлении. Описание отображения параметров настройки начинается зарезервированными словами generic map, отображения портов – зарезервированными словами port map. Параметры настройки являются для компонента константами, порты – сигналами. Отображение назначает формальным параметрам или портам фактические константы или сигналы, объявленные за пределами компонента. Назначение может быть позиционным, ключевым или смешанным. Позиционное назначение использовано при конкретизации компонента Comp1.

Компонентам архитектурного тела структурного уровня ставятся в соответствие объекты проекта следующего уровня иерархии. Соответствие устанавливается с помощью VHDL-модуля configuration. Каждый объект описывается двумя модулями: модулем entity и модулем architecture. Имена модулей отличаются в общем случае от имени, используемом в объявлении компонента. Имена параметров настройки и портов модуля entity также отличны (но не обязательно) от имен формальных параметров и портов компонента. Проиллюстрируем сказанное на примере. Компоненту с именем And3_Not, объявленному в архитектуре с именем Structure, ставятся в соответствие одноименный модуль entity и модуль architecture с именем DF_And3_Not. Формальные порты A, B, C, D, Y компонента совпадают по имени с фактическими портами модуля entity. Соответствие между формальными и фактическими портами позиционное. Модуль architecture включает единственный параллельный оператор назначения сигнала, устанавливающий в качестве значения выходного порта Y значение выражения not (A and B and C and D) после 2ps.

 

Date: 2016-07-25; view: 1106; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.005 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию