🗊Презентация Основные конструкции языка VHDL

Нажмите для полного просмотра!
Основные конструкции языка VHDL, слайд №1Основные конструкции языка VHDL, слайд №2Основные конструкции языка VHDL, слайд №3Основные конструкции языка VHDL, слайд №4Основные конструкции языка VHDL, слайд №5Основные конструкции языка VHDL, слайд №6Основные конструкции языка VHDL, слайд №7Основные конструкции языка VHDL, слайд №8Основные конструкции языка VHDL, слайд №9Основные конструкции языка VHDL, слайд №10Основные конструкции языка VHDL, слайд №11Основные конструкции языка VHDL, слайд №12Основные конструкции языка VHDL, слайд №13Основные конструкции языка VHDL, слайд №14Основные конструкции языка VHDL, слайд №15Основные конструкции языка VHDL, слайд №16Основные конструкции языка VHDL, слайд №17Основные конструкции языка VHDL, слайд №18Основные конструкции языка VHDL, слайд №19Основные конструкции языка VHDL, слайд №20Основные конструкции языка VHDL, слайд №21Основные конструкции языка VHDL, слайд №22Основные конструкции языка VHDL, слайд №23Основные конструкции языка VHDL, слайд №24Основные конструкции языка VHDL, слайд №25Основные конструкции языка VHDL, слайд №26Основные конструкции языка VHDL, слайд №27Основные конструкции языка VHDL, слайд №28Основные конструкции языка VHDL, слайд №29Основные конструкции языка VHDL, слайд №30Основные конструкции языка VHDL, слайд №31Основные конструкции языка VHDL, слайд №32Основные конструкции языка VHDL, слайд №33Основные конструкции языка VHDL, слайд №34

Содержание

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

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


Слайд 1





Основные конструкции языка VHDL
Описание слайда:
Основные конструкции языка VHDL

Слайд 2





Программные блоки VHDL
Описание слайда:
Программные блоки VHDL

Слайд 3





Блок Entity
Описание слайда:
Блок Entity

Слайд 4





Блок Architecture
Описание слайда:
Блок Architecture

Слайд 5





Подключение внешних библиотек и пакетов	
Подключение библиотеки:
LIBRARY library_name;
library_name – имя подключаемой библиотеки
Подключение пакетов из библиотеки:
USE library_name.packet_name.(identifier | character_literal | operator_symbol | ALL);
packet_name – имя пакета из библиотеки library_name.
Последний идентификатор определяет что именно надо подключить из пакета (идентификатор ALL указывает, что всё).
Описание слайда:
Подключение внешних библиотек и пакетов Подключение библиотеки: LIBRARY library_name; library_name – имя подключаемой библиотеки Подключение пакетов из библиотеки: USE library_name.packet_name.(identifier | character_literal | operator_symbol | ALL); packet_name – имя пакета из библиотеки library_name. Последний идентификатор определяет что именно надо подключить из пакета (идентификатор ALL указывает, что всё).

Слайд 6





Элементы языка VHDL
Комментарии . Начинаются с --
Идентификаторы. my_signal, My_Signal – одно и тоже. Нету разницы между регистром букв. Можно использовать и цифры в назаниях: my_signal1, my_SIGnal03…
Зарезервированные слова. Выделяются другим цветом
Числа: присвоение значений сигналам типа integer 
	signal a: integer; 
	a <= 5, 0, 89E7;
	Присвоение значений сигналам типа std_logic_vector:
	signal vec: std_logic_vector (7 downto 0);
	vec <= “11110111”; -- в двоичном формате
	vec <= X”F7”;  (либо 16#F7#)-- в 16-ом формате
Объекты:
	-- signal
	-- variable
	-- constant
Описание слайда:
Элементы языка VHDL Комментарии . Начинаются с -- Идентификаторы. my_signal, My_Signal – одно и тоже. Нету разницы между регистром букв. Можно использовать и цифры в назаниях: my_signal1, my_SIGnal03… Зарезервированные слова. Выделяются другим цветом Числа: присвоение значений сигналам типа integer signal a: integer; a <= 5, 0, 89E7; Присвоение значений сигналам типа std_logic_vector: signal vec: std_logic_vector (7 downto 0); vec <= “11110111”; -- в двоичном формате vec <= X”F7”; (либо 16#F7#)-- в 16-ом формате Объекты: -- signal -- variable -- constant

Слайд 7





Использование signal в Architecture
ARCHITECTURE <Identifier> OF<Entity_identifier>IS
	SIGNAL clk: bit;
BEGIN
	Concurrent Statements
END ARCHITECTURE; 

Структура описания сигнала: Object_name: <Type> := <Value>; 
	Object_name: имя
	<Type>: тип
	<Value>: инициализирующее значение
Описание слайда:
Использование signal в Architecture ARCHITECTURE <Identifier> OF<Entity_identifier>IS SIGNAL clk: bit; BEGIN Concurrent Statements END ARCHITECTURE; Структура описания сигнала: Object_name: <Type> := <Value>; Object_name: имя <Type>: тип <Value>: инициализирующее значение

Слайд 8





Использование signal в Architecture
Формат: Z <= A; (А называют драйвером Z)
	<signal_name> <= <expression>;
Пример:
Описание слайда:
Использование signal в Architecture Формат: Z <= A; (А называют драйвером Z) <signal_name> <= <expression>; Пример:

Слайд 9





Основные конструкции языка VHDL
Описание слайда:
Основные конструкции языка VHDL

Слайд 10





Пример задания архитектуры
Описание слайда:
Пример задания архитектуры

Слайд 11





Использование сигналов
Описание слайда:
Использование сигналов

Слайд 12





Типы данных VHDL
Integer: от (-231-1) до (231-1). Представляется как 32-х битный массив
Bollean : (true, false)
Bit : (‘0’, ‘1’)
Bit_vector – массив значений типа Bit
В пакете std_logic_1164 определены дополнительные типы
std_logic: (‘U’, ‘X’, ‘0’, ‘1’, ‘Z’, ‘W’, ‘L’, ‘H’, ‘-’)
	Значения для синтеза: 
‘0’, ‘1’ – тоже что и в типе bit – обыкновенные ‘0’ и ‘1’ 
‘Z’ – состояние с высоким импедансом
	Значения для моделирования:
‘L’, ‘H’ – слабый ‘0’, слабая ‘1’ (имеется в виду слабый ток)
‘X’, ‘W’ – неизвестное, слабое неизвестное
‘U’ – неинициализированное 
‘-’ – неважное значение 
std_logic_vector – массив значение типа std_logic
Описание слайда:
Типы данных VHDL Integer: от (-231-1) до (231-1). Представляется как 32-х битный массив Bollean : (true, false) Bit : (‘0’, ‘1’) Bit_vector – массив значений типа Bit В пакете std_logic_1164 определены дополнительные типы std_logic: (‘U’, ‘X’, ‘0’, ‘1’, ‘Z’, ‘W’, ‘L’, ‘H’, ‘-’) Значения для синтеза: ‘0’, ‘1’ – тоже что и в типе bit – обыкновенные ‘0’ и ‘1’ ‘Z’ – состояние с высоким импедансом Значения для моделирования: ‘L’, ‘H’ – слабый ‘0’, слабая ‘1’ (имеется в виду слабый ток) ‘X’, ‘W’ – неизвестное, слабое неизвестное ‘U’ – неинициализированное ‘-’ – неважное значение std_logic_vector – массив значение типа std_logic

Слайд 13





Задание диапазона
RANGE–задает диапазон изменения индексов в массиве
Диапазон может быть задан: 
–ввозрастающей последовательности (ascending) 
	RANGE left_bound TO right_bound
–в убывающей последовательности (descending). 
	RANGE left_bound DOWNTO right_bound
Описание слайда:
Задание диапазона RANGE–задает диапазон изменения индексов в массиве Диапазон может быть задан: –ввозрастающей последовательности (ascending) RANGE left_bound TO right_bound –в убывающей последовательности (descending). RANGE left_bound DOWNTO right_bound

Слайд 14





Одинаково или нет?
Описание слайда:
Одинаково или нет?

Слайд 15





Операторы VHDL
Описание слайда:
Операторы VHDL

Слайд 16





Операторы VHDL
Описание слайда:
Операторы VHDL

Слайд 17





Приоритеты операторов
Описание слайда:
Приоритеты операторов

Слайд 18





Арифметический сдвиг sla, sra
Описание слайда:
Арифметический сдвиг sla, sra

Слайд 19





Присвоение значения массиву
Описание слайда:
Присвоение значения массиву

Слайд 20





Преобразование типов
Пакет std_logic_1164
to_bitvector – преобразование из std_logic_vector в bit_vector
to_stdlogicvector – преобразование из bit_vector в std_logic_vector
to_bit – преобразование из std_logic в bit.
Пакеты std_logic_arith и std_logic_unsigned (либо std_logic_signed)
conv_integer – преобразование из std_logic_vector в integer
conv_std_logic_vector – преобразование из integer в std_logic_vector. Первый аргумент – само число, второй – ширина выходной шины.
Описание слайда:
Преобразование типов Пакет std_logic_1164 to_bitvector – преобразование из std_logic_vector в bit_vector to_stdlogicvector – преобразование из bit_vector в std_logic_vector to_bit – преобразование из std_logic в bit. Пакеты std_logic_arith и std_logic_unsigned (либо std_logic_signed) conv_integer – преобразование из std_logic_vector в integer conv_std_logic_vector – преобразование из integer в std_logic_vector. Первый аргумент – само число, второй – ширина выходной шины.

Слайд 21





Схема определения четности
Описание слайда:
Схема определения четности

Слайд 22





Схема определения четности
Описание слайда:
Схема определения четности

Слайд 23





Схема определения четности. Структурное описание
Описание слайда:
Схема определения четности. Структурное описание

Слайд 24





Схема определения четности. Структурное описание
Описание слайда:
Схема определения четности. Структурное описание

Слайд 25





Схема определения четности. Структурное описание
Описание слайда:
Схема определения четности. Структурное описание

Слайд 26





Практика
Описание слайда:
Практика

Слайд 27





Сумматор
Описание слайда:
Сумматор

Слайд 28





Моделирование. Добавление элемента
-- Instantiate the Unit Under Test (UUT)
   uut: comb_02_adder PORT MAP (
          switch_in => switch_in,
          leds_out => leds_out
        );
Описание слайда:
Моделирование. Добавление элемента -- Instantiate the Unit Under Test (UUT) uut: comb_02_adder PORT MAP ( switch_in => switch_in, leds_out => leds_out );

Слайд 29





Моделирование процесс задания сигналов
switch_in	<= B & A;
   -- Stimulus process
   stim_proc: process
   begin		
		A <= "0000";
		B <= "0000";
      wait for 100 ns;	
		A <= "0001";
		B <= "0100";
      wait for 100 ns;	
wait;
end process;
Описание слайда:
Моделирование процесс задания сигналов switch_in <= B & A; -- Stimulus process stim_proc: process begin A <= "0000"; B <= "0000"; wait for 100 ns; A <= "0001"; B <= "0100"; wait for 100 ns; wait; end process;

Слайд 30





Моделирование
Задание: написать testbench (adder_1_tb.vhd) для 8-ми битного сумматора
Описание слайда:
Моделирование Задание: написать testbench (adder_1_tb.vhd) для 8-ми битного сумматора

Слайд 31





Реализация сумматора на плате Atlys
Создайте проект для реализации сумматора: входы к переключателям, а выходы – к диодам. 
Для подключения потребуется ucf файл, в котором указано к каким ножкам необходимо подключить линии данных.
Описание слайда:
Реализация сумматора на плате Atlys Создайте проект для реализации сумматора: входы к переключателям, а выходы – к диодам. Для подключения потребуется ucf файл, в котором указано к каким ножкам необходимо подключить линии данных.

Слайд 32





Входы
# onBoard switch  
NET "switch_in<0>" LOC = "A10";  
NET "switch_in<1>" LOC = "D14";  
NET "switch_in<2>" LOC = "C14";  
NET "switch_in<3>" LOC = "P15";  
NET "switch_in<4>" LOC = "P12";  
NET "switch_in<5>" LOC = "R5";   
NET "switch_in<6>" LOC = "T5";  
NET "switch_in<7>" LOC = "E4";
Описание слайда:
Входы # onBoard switch NET "switch_in<0>" LOC = "A10"; NET "switch_in<1>" LOC = "D14"; NET "switch_in<2>" LOC = "C14"; NET "switch_in<3>" LOC = "P15"; NET "switch_in<4>" LOC = "P12"; NET "switch_in<5>" LOC = "R5"; NET "switch_in<6>" LOC = "T5"; NET "switch_in<7>" LOC = "E4";

Слайд 33





Выходы
# onBoard leds_outs 
NET "leds_out<0>" LOC = "U18";  
NET "leds_out<1>" LOC = "M14"; 
NET "leds_out<2>" LOC = "N14";
NET "leds_out<3>" LOC = "L14";  
NET "leds_out<4>" LOC = "M13";  
NET "leds_out<5>" LOC = "D4";   
NET "leds_out<6>" LOC = "P16";  
NET "leds_out<7>" LOC = "N12";
Описание слайда:
Выходы # onBoard leds_outs NET "leds_out<0>" LOC = "U18"; NET "leds_out<1>" LOC = "M14"; NET "leds_out<2>" LOC = "N14"; NET "leds_out<3>" LOC = "L14"; NET "leds_out<4>" LOC = "M13"; NET "leds_out<5>" LOC = "D4"; NET "leds_out<6>" LOC = "P16"; NET "leds_out<7>" LOC = "N12";

Слайд 34





For generate
g1: for i in 0 to 3 generate
begin
	b: full_adder_1 port map (
			a 		=> A(i),
			b 		=> B(i),
			c_in 		=> C(i),
			s 		=> S(i),
			c_out 		=> C(i+1)
			); 
end generate g1;
Описание слайда:
For generate g1: for i in 0 to 3 generate begin b: full_adder_1 port map ( a => A(i), b => B(i), c_in => C(i), s => S(i), c_out => C(i+1) ); end generate g1;



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