🗊Презентация Технологии проектирования компьютерных систем. Типы данных. (Лекция 4)

Нажмите для полного просмотра!
Технологии проектирования компьютерных систем. Типы данных. (Лекция 4), слайд №1Технологии проектирования компьютерных систем. Типы данных. (Лекция 4), слайд №2Технологии проектирования компьютерных систем. Типы данных. (Лекция 4), слайд №3Технологии проектирования компьютерных систем. Типы данных. (Лекция 4), слайд №4Технологии проектирования компьютерных систем. Типы данных. (Лекция 4), слайд №5Технологии проектирования компьютерных систем. Типы данных. (Лекция 4), слайд №6Технологии проектирования компьютерных систем. Типы данных. (Лекция 4), слайд №7Технологии проектирования компьютерных систем. Типы данных. (Лекция 4), слайд №8Технологии проектирования компьютерных систем. Типы данных. (Лекция 4), слайд №9Технологии проектирования компьютерных систем. Типы данных. (Лекция 4), слайд №10Технологии проектирования компьютерных систем. Типы данных. (Лекция 4), слайд №11Технологии проектирования компьютерных систем. Типы данных. (Лекция 4), слайд №12Технологии проектирования компьютерных систем. Типы данных. (Лекция 4), слайд №13Технологии проектирования компьютерных систем. Типы данных. (Лекция 4), слайд №14Технологии проектирования компьютерных систем. Типы данных. (Лекция 4), слайд №15Технологии проектирования компьютерных систем. Типы данных. (Лекция 4), слайд №16Технологии проектирования компьютерных систем. Типы данных. (Лекция 4), слайд №17Технологии проектирования компьютерных систем. Типы данных. (Лекция 4), слайд №18Технологии проектирования компьютерных систем. Типы данных. (Лекция 4), слайд №19Технологии проектирования компьютерных систем. Типы данных. (Лекция 4), слайд №20Технологии проектирования компьютерных систем. Типы данных. (Лекция 4), слайд №21

Содержание

Вы можете ознакомиться и скачать презентацию на тему Технологии проектирования компьютерных систем. Типы данных. (Лекция 4). Доклад-сообщение содержит 21 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Технологии проектирования компьютерных систем
Описание слайда:
Технологии проектирования компьютерных систем

Слайд 2





Определение

Тип - это множество значений с общим признаком. 
VHDL - строго типизированный язык. Каждый объект объявляется со своим типом и может присваивать значение только данного типа. Благодаря этой особенности, программы VHDL имеют высокую надежность и обеспечивают экономию времени при отладке.
 Подтип - подмножество значений данного типа.
Выделяют следующие типы данных языка VHDL:
-  скалярные (scalar_type);
- составные (composite_ type);
- указатели (access_type);
- файлы (file_type);
- защишенные (рrotected_type). 

В лекции рассматриваются только те данных, которые поддерживаются средствами синтеза ПЛИС.
Описание слайда:
Определение Тип - это множество значений с общим признаком. VHDL - строго типизированный язык. Каждый объект объявляется со своим типом и может присваивать значение только данного типа. Благодаря этой особенности, программы VHDL имеют высокую надежность и обеспечивают экономию времени при отладке. Подтип - подмножество значений данного типа. Выделяют следующие типы данных языка VHDL: - скалярные (scalar_type); - составные (composite_ type); - указатели (access_type); - файлы (file_type); - защишенные (рrotected_type). В лекции рассматриваются только те данных, которые поддерживаются средствами синтеза ПЛИС.

Слайд 3





Скалярные типы

Скалярные типы создают значения, которые нельзя разбить на отдельные элементы или поля.
scalar_type_definition ::=  
 enumeration_type_definition 	-- перечисления;
 | integer_type_definition		-- целые значения; 
 | floating_type_definition         	-- действительные значения;
 | physical_type_definition	-- значения,  имеющие размерность.
Все скалярные типы и их подтипы определяются через диапазон своих значений.
Описание слайда:
Скалярные типы Скалярные типы создают значения, которые нельзя разбить на отдельные элементы или поля. scalar_type_definition ::=  enumeration_type_definition -- перечисления;  | integer_type_definition -- целые значения;  | floating_type_definition -- действительные значения;  | physical_type_definition -- значения, имеющие размерность. Все скалярные типы и их подтипы определяются через диапазон своих значений.

Слайд 4





Перечисления
Перечисления состоят из списка значений, которые могут быть символами или идентификаторами.
enumeration_type_definition ::= 
(enumeration _literal { , enumeration _literal } )

 enumeration _literal ::= identifier | character_literal
В САПР Quartus  перечисления описывают по шаблону:
TYPE <name> IS (<enum_literal>, <enum_literal>, ...);
Например: TYPE LOGIC_VOLT IS ('0', '5', 'z',  'x');
TYPE MULTI_LEVEL_LOGIC is (LOW, HIGH, RISING, FALLING);
Вводимые имена перечислений не должны совпадать с предопределенными в языке именами перечислимых типов.
Значения перечислений не должны совпадать.
Описание слайда:
Перечисления Перечисления состоят из списка значений, которые могут быть символами или идентификаторами. enumeration_type_definition ::= (enumeration _literal { , enumeration _literal } )  enumeration _literal ::= identifier | character_literal В САПР Quartus перечисления описывают по шаблону: TYPE <name> IS (<enum_literal>, <enum_literal>, ...); Например: TYPE LOGIC_VOLT IS ('0', '5', 'z', 'x'); TYPE MULTI_LEVEL_LOGIC is (LOW, HIGH, RISING, FALLING); Вводимые имена перечислений не должны совпадать с предопределенными в языке именами перечислимых типов. Значения перечислений не должны совпадать.

Слайд 5





Перечисления 
Весь список значений пронумерован слева направо, начиная с нуля, то есть каждое значение имеет соответствующую позицию в списке:



Значения в разных перечислениях могут совпадать.
Описание слайда:
Перечисления Весь список значений пронумерован слева направо, начиная с нуля, то есть каждое значение имеет соответствующую позицию в списке: Значения в разных перечислениях могут совпадать.

Слайд 6





Предопределенные перечисления 
Предопределенными перечислениями являются CHARACTER, BIT, BOOLEAN, SEVERITY_LEVEL, FILE_OPEN_KIND, и FILE_OPEN_STATUS, специфицированные в пакете "standard":

TYРЕ CHАRАCTЕR IS (NUL, SОH, ...);
TYРЕ BIT IS ('0', 'l');
TYРЕ BООLЕАN IS (FАLSЕ, TRUЕ);
TYРЕ SЕVЕRITY_LЕVЕL IS (NОTЕ, WARNING,  ERROR,  FAILURE);
TYPE FILE_OPEN_KIND is (READ_MODE, WRITE_MODE,                 APPEND_MODE);
TYPE FILE_OPEN_STATUS is (OPEN_OK, STATUS_ERROR, NAME_ERROR,  MODE_ERROR);
 
Примечание -  Значения bооlеаn (ложный и истинный) не идентичны логическим '0' и '1'.
Описание слайда:
Предопределенные перечисления Предопределенными перечислениями являются CHARACTER, BIT, BOOLEAN, SEVERITY_LEVEL, FILE_OPEN_KIND, и FILE_OPEN_STATUS, специфицированные в пакете "standard": TYРЕ CHАRАCTЕR IS (NUL, SОH, ...); TYРЕ BIT IS ('0', 'l'); TYРЕ BООLЕАN IS (FАLSЕ, TRUЕ); TYРЕ SЕVЕRITY_LЕVЕL IS (NОTЕ, WARNING, ERROR, FAILURE); TYPE FILE_OPEN_KIND is (READ_MODE, WRITE_MODE, APPEND_MODE); TYPE FILE_OPEN_STATUS is (OPEN_OK, STATUS_ERROR, NAME_ERROR, MODE_ERROR);   Примечание - Значения bооlеаn (ложный и истинный) не идентичны логическим '0' и '1'.

Слайд 7





Перечисления для цифровой техники
В пакете «std1164» предопределены перечисления std_ulogic (неразрешимый логический тип с девятизначным алфавитом) и  разрешимый подтип std_logic.
Описание слайда:
Перечисления для цифровой техники В пакете «std1164» предопределены перечисления std_ulogic (неразрешимый логический тип с девятизначным алфавитом) и разрешимый подтип std_logic.

Слайд 8





Перечисления STD_ULOGIC и STD_LOGIC
Описание слайда:
Перечисления STD_ULOGIC и STD_LOGIC

Слайд 9





Целые числа
Тип целого задается через диапазон целых чисел.
integer_type_definition ::=  range_constraint
Обычно этот диапазон находится между -2.147.483.648 и +2.147.483.647 (диапазон 32-разрядного целого).
В САПР  QUARTUS целые числа описывают по шаблону:
TYPE <name> IS RANGE  <low>  TO   <high>;
Пример описания целых чисел:
TYPE GROUP_INTEGER IS RANGE -1025 TO 1025;
Предопределенным целым типом является integer,  который специфицирован в пакете "standard" как:
TYРЕ INTEGER IS RANGE -2147483648 TO 2147483647.
Описание слайда:
Целые числа Тип целого задается через диапазон целых чисел. integer_type_definition ::= range_constraint Обычно этот диапазон находится между -2.147.483.648 и +2.147.483.647 (диапазон 32-разрядного целого). В САПР QUARTUS целые числа описывают по шаблону: TYPE <name> IS RANGE <low> TO <high>; Пример описания целых чисел: TYPE GROUP_INTEGER IS RANGE -1025 TO 1025; Предопределенным целым типом является integer, который специфицирован в пакете "standard" как: TYРЕ INTEGER IS RANGE -2147483648 TO 2147483647.

Слайд 10





Целые числа
В пакете "standard» специфицированы и предопределенные подтипы natural и positive по шаблону:

SUBTYPE __subtype name IS __type_name RANGE __low_value TO __high_value;
SUBTYPE NATURAL IS INTEGER RANGE 0 TO INTEGER'HIGH; 
SUBTYPE POSITIVE IS INTEGER RANGE 1 TO INTEGER'HIGH.
Нельзя использовать имена предопределенных типов и подтипов для собственных определений.
Описание слайда:
Целые числа В пакете "standard» специфицированы и предопределенные подтипы natural и positive по шаблону: SUBTYPE __subtype name IS __type_name RANGE __low_value TO __high_value; SUBTYPE NATURAL IS INTEGER RANGE 0 TO INTEGER'HIGH; SUBTYPE POSITIVE IS INTEGER RANGE 1 TO INTEGER'HIGH. Нельзя использовать имена предопределенных типов и подтипов для собственных определений.

Слайд 11





Числа с плавающей запятой
Числа с плавающей запятой обеспечивают приближения к вещественным числам. Числа с плавающей запятой применяют для моделей, в которых погрешность вычисления значений не важна или не определена.
floating_type_definition ::=  range_constraint
 
Примеры описания чисел с плавающей точкой: 
TYРЕ RESULT IS RANGE 0.0 TO 11063.5;
SUBTYРЕ Р_RЕSULT IS RESULT RANGE 2765.88 TO 8297.63.
Предопределенным типом с плавающей точкой является real, который специфицирован в пакете "standard" как:
TYРЕ RЕАL IS RANGE    -1.0Е38 TO 1.0Е38.
Тип real обеспечивает 64-разрядное представление чисел с плавающей точкой (1 разряд - знак числа, 11 разрядов - порядок, 52 разряда - мантисса).
Описание слайда:
Числа с плавающей запятой Числа с плавающей запятой обеспечивают приближения к вещественным числам. Числа с плавающей запятой применяют для моделей, в которых погрешность вычисления значений не важна или не определена. floating_type_definition ::= range_constraint Примеры описания чисел с плавающей точкой: TYРЕ RESULT IS RANGE 0.0 TO 11063.5; SUBTYРЕ Р_RЕSULT IS RESULT RANGE 2765.88 TO 8297.63. Предопределенным типом с плавающей точкой является real, который специфицирован в пакете "standard" как: TYРЕ RЕАL IS RANGE -1.0Е38 TO 1.0Е38. Тип real обеспечивает 64-разрядное представление чисел с плавающей точкой (1 разряд - знак числа, 11 разрядов - порядок, 52 разряда - мантисса).

Слайд 12





Физические типы
Физические типы создают числа с реальными размерностями,  кратными некоторой базовой единице. Множество допустимых значений задается как диапазон целых чисел (базовых единиц).
Формат описания физических типов.
physical_type_definition ::= 
	range_constraint 
 		units 
 		bаsе_unit_dеclаrаtiоn { sеcоndаry_unit_dеclаrаtiоn } 
 		еnd units;
 
bаsе_unit_dеclаrаtiоn ::=  idеntifiеr ;

sеcоndаry_unit_dеclаrаtiоn ::=  idеntifiеr  =  рhysicаl_litеrаl;

рhysicаl_litеrаl ::=  [ аbstrаct_litеrаl ] unit_nаmе.
Описание слайда:
Физические типы Физические типы создают числа с реальными размерностями, кратными некоторой базовой единице. Множество допустимых значений задается как диапазон целых чисел (базовых единиц). Формат описания физических типов. physical_type_definition ::= range_constraint   units   bаsе_unit_dеclаrаtiоn { sеcоndаry_unit_dеclаrаtiоn }   еnd units;   bаsе_unit_dеclаrаtiоn ::= idеntifiеr ; sеcоndаry_unit_dеclаrаtiоn ::= idеntifiеr = рhysicаl_litеrаl; рhysicаl_litеrаl ::= [ аbstrаct_litеrаl ] unit_nаmе.

Слайд 13





Физические типы
При объявлении физического типа сначала указывают базовую единицу размерности, а затем последующие единицы размерности как кратные базовой или предшествующим единицам.
Физические типы при описании устройств на ПЛИС обычно не применяются из-за сложности конструктивной реализации. Применяются при создании векторов входных воздействий.
Предопределенным физическим типом является time, который  специфицирован в пакете "standard«.
 
Описание слайда:
Физические типы При объявлении физического типа сначала указывают базовую единицу размерности, а затем последующие единицы размерности как кратные базовой или предшествующим единицам. Физические типы при описании устройств на ПЛИС обычно не применяются из-за сложности конструктивной реализации. Применяются при создании векторов входных воздействий. Предопределенным физическим типом является time, который специфицирован в пакете "standard«.  

Слайд 14





Предопределенный тип TIME

TYРЕ TIME IS RANGE -9223372036854775808 TO 9223372036854775807
UNITS
fs;			-- femtosecond
 ps  =  1000 fs; 	-- picosecond
 ns  =  1000 ps;	-- nаnоsеcоnd
 us  =  1000 ns;	-- microsecond
 ms =  1000 us;	-- millisecond
 sеc =  1000 ms;	-- second
 min=  60 sеc;	-- minute
 hr  =  60 min;	-- hour
END UNITS;
 
Описание слайда:
Предопределенный тип TIME TYРЕ TIME IS RANGE -9223372036854775808 TO 9223372036854775807 UNITS fs; -- femtosecond  ps = 1000 fs; -- picosecond  ns = 1000 ps; -- nаnоsеcоnd  us = 1000 ns; -- microsecond  ms = 1000 us; -- millisecond  sеc = 1000 ms; -- second  min= 60 sеc; -- minute  hr = 60 min; -- hour END UNITS;  

Слайд 15





Составные типы

Составной тип - это группа значений под одним именем.
composite_type_definition ::= 
 	array_type_definition		-- массивы; 
 	record_type_definition		-- записи.
Описание слайда:
Составные типы Составной тип - это группа значений под одним именем. composite_type_definition ::=   array_type_definition -- массивы;   record_type_definition -- записи.

Слайд 16





Массивы
Массивы объединяют элементы одного типа. Массивы могут иметь любую размерность. Тип элемента массива не может быть file. Можно задать тип массива как с неопределенными, так и с определенными границами. Задание типа с неопределенными границами дает возможность создавать массивы, имеющие один и тот же тип, но различные границы индексов.
array_type_definition ::=   
unconstrained_array_definition|constrained_array_definition
Описание слайда:
Массивы Массивы объединяют элементы одного типа. Массивы могут иметь любую размерность. Тип элемента массива не может быть file. Можно задать тип массива как с неопределенными, так и с определенными границами. Задание типа с неопределенными границами дает возможность создавать массивы, имеющие один и тот же тип, но различные границы индексов. array_type_definition ::= unconstrained_array_definition|constrained_array_definition

Слайд 17





Описание массивов
Массивы рекомендуется описывать по шаблону:
TYPE __array_type_name IS ARRAY (INTEGER RANGE <>) ОF __type_name;
TYPE __array_type_name IS АRRАY (__integer DOWNTO __integer) ОF __type_name;
Пример двух эквивалентных описаний двумерного массива 3*4: 
TYPE ARRAY_M IS ARRAY (l TO 3, 7 DOWNTO 4) OF POSITIVE;
TYPE ARRAY_M IS ARRAY (INTEGER RANGE 1 TO 3, INTEGER RANGE 7 DOWNTO 4) OF POSITIVE;                                                
Каждая пара границ массива должна иметь одинаковый тип. Элемент массива в свою очередь может быть массивом.
Описание слайда:
Описание массивов Массивы рекомендуется описывать по шаблону: TYPE __array_type_name IS ARRAY (INTEGER RANGE <>) ОF __type_name; TYPE __array_type_name IS АRRАY (__integer DOWNTO __integer) ОF __type_name; Пример двух эквивалентных описаний двумерного массива 3*4: TYPE ARRAY_M IS ARRAY (l TO 3, 7 DOWNTO 4) OF POSITIVE; TYPE ARRAY_M IS ARRAY (INTEGER RANGE 1 TO 3, INTEGER RANGE 7 DOWNTO 4) OF POSITIVE; Каждая пара границ массива должна иметь одинаковый тип. Элемент массива в свою очередь может быть массивом.

Слайд 18





Описание массивов
Задание типа с неопределенными границами - очень удобная возможность для описания аппаратуры. Это дает как полную совместимость объектов данного типа, так и большую гибкость в параметризации описания. Примерами таких типов могут служить предопределенные типы bit_vector и string, специфицированные в пакете "standard»:
TYPE BIT_VECTOR IS ARRAY (NATURAL RANGE <>) OF BIT;

TYPE STRING IS ARRAY (POSITIVE RANGE <>) OF CHARACTER;
Направление и границы диапазона индексов не содержатся в определении указанных типов и должны быть указаны непосредственно при объявлении объектов данных типов.
Описание слайда:
Описание массивов Задание типа с неопределенными границами - очень удобная возможность для описания аппаратуры. Это дает как полную совместимость объектов данного типа, так и большую гибкость в параметризации описания. Примерами таких типов могут служить предопределенные типы bit_vector и string, специфицированные в пакете "standard»: TYPE BIT_VECTOR IS ARRAY (NATURAL RANGE <>) OF BIT; TYPE STRING IS ARRAY (POSITIVE RANGE <>) OF CHARACTER; Направление и границы диапазона индексов не содержатся в определении указанных типов и должны быть указаны непосредственно при объявлении объектов данных типов.

Слайд 19





Записи
Записи - это составной тип данных, элементы которых могут иметь различные типы.

record_type_definition ::=     
	record
 		element_declaration
 		{ element_declaration } 
 	end record
Все имена элементов (полей) записи должны быть различными.
Описание слайда:
Записи Записи - это составной тип данных, элементы которых могут иметь различные типы. record_type_definition ::= record   element_declaration   { element_declaration }   end record Все имена элементов (полей) записи должны быть различными.

Слайд 20





Записи
Пример описания данных составного типа:

TYPE rec_type IS RECORD
 	hour 		: INTEGER RANGE 0 TO 24;
 	min		: INTEGER RANGE 0 TO 60;
	per		: day;
END RECORD;
Тип данных day  описан как:
TYPE day IS (morn, din, evn, night);
Описание слайда:
Записи Пример описания данных составного типа: TYPE rec_type IS RECORD   hour : INTEGER RANGE 0 TO 24;   min : INTEGER RANGE 0 TO 60; per : day; END RECORD; Тип данных day описан как: TYPE day IS (morn, din, evn, night);

Слайд 21





Функции преобразования типов данных
Пакет arith  содержит четыре функции для преобразования типов данных signed, unsigned, integer и std_ulogic.
Функция conv_integer преобразует типы данных integer, unsigned, signed или std_ulogic к типу integer. Значения  операндов функции conv_integer ограничивается диапазоном от -2147483647 до 2147483647, т.е. 31-битное представление значения unsigned или  32-битное представление значения  signed.
Функция conv_unsigned преобразует типы данных integer, unsigned, signed или std_ulogic в тип unsigned с указанием разрядности.
Функция conv_signed преобразует типы данных integer, unsigned, signed или std_ulogic в тип signed с указанием разрядности.
Функция conv_std_logic_vector преобразует типы данных integer, unsigned, signed или std_logic в тип std_logic_vector с указанием разрядности.
Описание слайда:
Функции преобразования типов данных Пакет arith содержит четыре функции для преобразования типов данных signed, unsigned, integer и std_ulogic. Функция conv_integer преобразует типы данных integer, unsigned, signed или std_ulogic к типу integer. Значения операндов функции conv_integer ограничивается диапазоном от -2147483647 до 2147483647, т.е. 31-битное представление значения unsigned или 32-битное представление значения signed. Функция conv_unsigned преобразует типы данных integer, unsigned, signed или std_ulogic в тип unsigned с указанием разрядности. Функция conv_signed преобразует типы данных integer, unsigned, signed или std_ulogic в тип signed с указанием разрядности. Функция conv_std_logic_vector преобразует типы данных integer, unsigned, signed или std_logic в тип std_logic_vector с указанием разрядности.



Похожие презентации
Mypresentation.ru
Загрузить презентацию