Задачи по VHDL
Нужно сделать следующие вопросы до 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;
Current freelance projects in the category Desktop Apps
Add pauses of 10-30 seconds between sending emails.Hello! I am looking for an experienced 1C / BAS (BAF) programmer to promptly resolve a technical issue with email distribution.Problem essence: We use the accounting program BAF (Business Automation Framework), version 2.0. Once a month, there is a need to send about 300 emails… Web Programming, Desktop Apps ∙ 4 days 5 hours back ∙ 10 proposals |
Reverse engineering of console utilities for querying SSD controllers (Flash ID)1. Purpose of the work Extraction of the application programming interface (API) for interaction with SSD/NVMe controllers from the provided set of console utilities (Phison, Silicon Motion, Realtek, Maxiotek, Marvell, JMicron, etc.). The result should be working code in C/C++… C & C++, Desktop Apps ∙ 4 days 16 hours back ∙ 5 proposals |
Modification in the emulator's operation
45 USD
Hello. I downloaded the Gaminator CF Final slot machine emulator from the Internet. I really liked it, but there are some issues. There is an admin panel, but it opens freely and cannot be closed at all. It only closes along with the application. Also, the data does not save… Desktop Apps ∙ 12 days 6 hours back ∙ 10 proposals |