AO lt;=DRg (19); 10100 = gt; AO lt;=DRg (20); 10101 = gt; AO lt;=DRg (21); 10110 = gt; AO lt;=DRg (22); 10111 = gt; AO lt;=DRg (23); 11000 = gt; AO lt;=DRg (24); 11001 = gt; AO lt;=DRg (25); 11010 = gt; AO lt;=DRg (26); 11011 = gt; AO lt;=DRg (27); 11100 = gt; AO lt;=DRg (28); 11101 = gt; AO lt;=DRg (29); 11110 = gt; AO lt;=DRg (30); 11111 = gt; AO lt;=DRg (31); others= gt; AO lt;=(others= gt; 0 ); case; AO lt;=(others= gt; 0 ); if; process RD_AO;
- вибір джерела та підключення його до шині ВО _BO: process (EN_BO, ADR_BO, DRg) EN_BO= 1 thenADR_BO (4 downto 0) is 00000 = gt; BO lt;=DRg (0); 00001 = gt; BO lt;=DRg (1); 00010 = gt; BO lt;=DRg (2); 00011 = gt; BO lt;=DRg (3); 00100 = gt; BO lt;=DRg (4); 00101 = gt; BO lt;=DRg (5); 00110 = gt; BO lt;=DRg (6); 00111 = gt; BO lt;=DRg (7); 01000 = gt; BO lt;=DRg (8); 01001 = gt; BO lt;=DRg (9); 01010 = gt; BO lt;=DRg (10); 01011 = gt; BO lt;=DRg (11); 01100 = gt; BO lt;=DRg (12); 01101 = gt; BO lt;=DRg (13); 01110 = gt; BO lt;=DRg (14); 01111 = gt; BO lt;=DRg (15); 10000 = gt; BO lt;=DRg (16); 10001 = gt; BO lt;=DRg (17); 10010 = gt; BO lt;=DRg (18); 10011 = gt; BO lt;=DRg (19); 10100 = gt; BO lt;=DRg (20); 10101 = gt; BO lt;=DRg (21); 10110 = gt; BO lt;=DRg (22); 10111 = gt; BO lt;=DRg (23); 11000 = gt; BO lt;=DRg (24); 11001 = gt; BO lt;=DRg (25); 11010 = gt; BO lt;=DRg (26); 11011 = gt; BO lt;=DRg (27); 11100 = gt; BO lt;=DRg (28); 11101 = gt; BO lt;=DRg (29); 11110 = gt; BO lt;=DRg (30); 11111 = gt; BO lt;=DRg (31); others= gt; BO lt;=(others= gt; 0 ); case; BO lt;=(others= gt; 0 ); if; process RD_BO; RON;
Одержаний параметричний блок РОН 32 на 8:
Результат функціонування РОН:
Схема вхідного арифметичного універсального циклічного сдвігатель на 4 розрядів:
бібліотека запам'ятовуючий пристрій мікропроцесор
VHDL код вхідного свдігателя:
library ieee;
use ieee.std_logic_1164.all; ieee.std_logic_arith.all; ieee.std_logic_signed.all; Shift_OUT is (FI: in std_logic_vector (8 downto 6) ;: in std_logic_vector (1 downto 0) ;: in std_logic_vector (7 downto 0) ;: in std_logic_vector (2 downto 0) ;: out std_logic_vector ( 7 downto 0)
); Shift_OUT; SHIFT of Shift_OUT is: process (FI, MI, DI, NI) MF: std_logic_vector (4 downto 0); BUF: std_logic_vector (7 downto 0);
begin:=MI amp; FI;
- зрушення вправоMF= 01101 thenNI is 001 = gt; BUF:=DI (0) amp; DI (7 downto 1); 010 = gt; BUF:=DI (1 downto 0) amp; DI (7 downto 2); 011 = gt; BUF:=DI (2 downto 0) amp; DI (7 downto 3); 100 = gt; BUF:=DI (3 downto 0) amp; DI (7 downto 4); others= gt; BUF:=DI; case;
- зрушення влевоMF= 01111 thenNI is 001 = gt; BUF:=DI (6 downto 0) amp; DI (7); 010 = gt; BUF:=DI (5 downto 0) amp; DI (7 downto 6); 011 = gt; BUF:=DI (4 downto 0) amp; DI (7 downto 5); 100 = gt; BUF:=DI (3 downto 0) amp; DI (7 downto 4); others= gt; BUF:=DI; case;:=DI; if; lt;=BUF; process; SHIFT; library ieee; ieee.std_logic_1164.all; ieee.std_logic_arith.all; ieee.std_logic_signed.all; Shift_OUT is (FI: in std_logic_vector (8 downto 6) ;: in std_logic_vector (1 downto 0) ;: in std_logic_vector (7 downto 0) ;: in std_logic_vector (2 downto 0) ;: out std_logic_vector ( 7 downto 0)
); Shift_OUT; SHIFT of Shift_OUT is: process (FI, MI, DI, NI) MF: std_logic_vector (4 downto 0); BUF: std_logic_vector (7 downto 0);
begin:=MI amp; FI;
- зрушення вправоMF= 01101 thenNI is 001 = gt; BUF:=DI (0) amp; DI (7 downto 1); 010 = gt; BUF:=DI (1 downto 0) amp; DI (7 downto 2); 011 = gt; BUF:=DI (2 downto 0) amp; DI (7 downto 3); 100 = gt; BUF:=DI (3 downto 0) amp; DI (7 downto 4); others= gt; BUF:=DI; case;
- зрушення влевоMF= 01111 thenNI is 001 = gt; BUF:=DI (6 downto 0) amp; DI (7); 010 = gt; BUF:=DI (5 downto 0) amp; DI (7 downto 6); 011 = gt; BUF:=DI (4 downto 0) amp; DI (7 downto 5); 100 = gt; BUF:=DI (3 downto 0) amp; DI (7 downto 4); others= gt; BUF:=DI; case;:=DI; if; lt;=BUF; process; SHIFT;
Схема РЗУ:
VHDL код РЗУ:
- Copyright (C) 1991-2010 Altera Corporation
- Your use of Altera Corporation's design tools, logic functions
- and other software and tools, and i...