Фрилансеры предложат решение вашей задачи уже через несколько минут!
Публикация заказа не займет много времени.
20 дней назад
Гость
20 дней в сервисе
Был онлайн 19 дней назад
20 дней назад

Нужно сделать следующие вопросы до 06.05.2019
1)  Запропонуйте структурний і поведінковий опис двонаправленого регістру циклічного зсуву.
2)  Запропонуйте структурний і поведінковий опис двонаправленого регістру арифметичного зсуву. Використайте оператори паралельної генерації і параметри настроювання.
3)Виправте помилки та промоделюйте наступну модель:

entity UpDownCount_Bad is
port( clock, reset, up: STD_LOGIC;
D: STD_LOGIC_VECTOR (7 to 0)); end UpDownCount_Bad;
architecture Behave of UpDownCount_Bad is begin  process (clock, reset, up);
begin
if (reset = '0') then D <= '0000000'; elseif (rising_edge(clock)) then  if (up = 1) D <= D+1;
else D <= D-1;
end if;
end if;
end process;
end Behave;

4) Створіть функцію та процедуру за наступною декларацією та перевірте їх роботу:
function Is_X_Zero (signal X : in BIT) return BIT; procedure Is_A_Eq_B (signal A, B : BIT; signal Y : out BIT);
5) Створіть підпрограму, яка виконує перетворення між типами integer і bit_vector. Створіть об'єкт та архітектурне тіло для перевірки цієї функції.
6) Створіть пакет, в якому декларується одна константа і одна функція, і його тіло. Збережіть пакет та його тіло у деякій бібліотеці. Продемонструйте використання операторів опису контексту library та use для використання змісту пакету без префікса.
7) Спробуйте промоделювати наступний фрагмент, поясніть і виправте помилки в ньому:
library ieee; use ieee.std_logic_1164.all; package config is
type type1 is record
f1 : std_logic_vector(31 downto 0);
f2 : std_logic_vector(3 downto 0);
end record;  type type2 is record
f1 : std_logic_vector(31 downto 0);
f2 : std_logic_vector(3 downto 0);
end record; end config;

library ieee;
use ieee.STD_LOGIC_1164.all;
use work.config.all; entity Swap_1 is port ( Data1 : type1; Data2 : type2; sel : STD_LOGIC;  Data1Swap : out type1; Data2Swap : out type2);  end Swap_1;
architecture Behave of Swap_1 is  begin
Swap: process (Data1, Data2, sel) begin
case sel is
when '0' => Data1Swap <= Data1; Data2Swap <= Data2;
when others => Data1Swap <= Data2; Data2Swap <= Data1;
end case;
end process Swap;
end Behave;