Розробка спеціалізованого обчислювача

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
ІКТА
Факультет:
Комп'ютерна інженерія
Кафедра:
Кафедра ЕПМС

Інформація про роботу

Рік:
2015
Тип роботи:
Курсова робота
Предмет:
Комп’ютерна схемотехніка
Група:
КІ 26
Варіант:
17 17 9

Частина тексту файла (без зображень, графіків і формул):

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА” Кафедра ЕОМ / КУРСОВА РОБОТА з курсу “Комп’ютерна схемотехніка” і “моделювання комп’ютерних систем.” На тему: «Розробка спеціалізованого обчислювача» ЗМІСТ Завдання……………………………………………………………………………..3 Структурна схема спецобчислювача………………………………………………4 Блок схема алгоритму задачі……………………………………………………….5 Мікропрограма у відповідності із заданим варіантом…………………………….6 Граф МПА…………………………………………………………………………...7 Перевірка правильності роботи обчислювача…………………………………….8 Функціональна схема спеціалізованого обчислювача……………………………9 Принципова схема та її опис…………………….………………………………...10 Обчислення загального часу роботи алгоритму множення……………………..17 Опис автомата керування ………………………………………………………...18 9.1. Таблиця прошиття ПЗП……………………………………………………….19 VHDL реалізація проекту………………………………………………………….20 10.1. Результати моделювання…………………………………………………….20 10.2. VHDL опис використаних пристроїв……………………………………….21 ВИСНОВКИ…………………………………………………………………...………29 Список використаної літератури. ………………………………………..…………..30 Додатки ЗАВДАННЯ: Розробити спеціалізований обчислювач, що має відповідати наступним вимогам : структурна схема обчислювача : мікропрограмний автомат Мілі; робоча формула : див. таблицю (варіант задається керівником проекту); формат даних : 8 бітний доповняльний код інформаційний обмін здійснюється через паралельну 8-ти розрядну двонаправлену шину даних за допомогою додаткових сигналів синхронізації ( рівні сигналів сумісні з ТТЛ ); керуючий автомат реалізувати на основі ПЗП та регістра; напруга живлення та тактові імпульси надходять від зовнішнього джерела а сигнал початкового скидання також формується ззовні. Згідно варіанту 17 формула: (7Хі-Хі+1)/8 К-сть введених значень: 11 Структурна схема спецобчислювача На рис 1. подана структурна схема спецобчислювача. / Рис.1 Структурна схема спецобчислювача Схема складається з двох елементів, а саме операційного пристрою, і пристрою керування. Операційний пристрій виконує обрахунок заданої формули за допомогою значень, що надходять ззовні через двонаправлену шину вводу/виводу даних. Пристрій керування реалізований на автоматі Мілі, він подає відповідні сигнали керування операційному пристрою для коректного опрацювання даних. Блок схема алгоритму задачі  Мікропрограма у відповідності із заданим варіантом Поточний стан Дія Наступний стан Коментар  S0 CLR Йти до S1 Початок  S1 WR_RDY Йти до S2 Дозвіл на запис числа  S2 WR Йти до S3 Запис числа  S3 +1 Йти до S4 Інкремент  S4 I=5 Якщо I<11 йти в S1, Інакше йти в S5 Виставити в лч число  S5 Read RAM Йти до S6 Читання з ОЗП  S6 SUM ALU 7 Йти до S7 7*Хі  S7 Write RAM Йти до S8 Запис в ОЗП  S8 +1 Йти до S9 Інкремент  S9 Read Ram Йти до S10 Читання з ОЗП  S10 NOT Xi+1 Йти до S11 Інверсія B  S11 (NOT Xi+1)+1 Йти до S12 +1 (Доповняльний код)  S12 Write Ram Йти до S13 Запис в ОЗП  S13 -1 Йти до S14 Декремент  S14 Read Ram Йти до S15 Читання з ОЗП  S15 SUM ALU A+B Йти до S16 А+B  S16 RG3 Йти до S17 Зсув регістра 3 рази (A+B)/8  S17 Write RAM Йти до S18 Запис в ОЗП  S18 +1 Йти до S19 Інкремент  S19 Out Якщо І<15 йти в S6, інакше йти до S20 Вивід результату  S20 Restart Йти до S1 Кінець   Граф МПА / Перевірка правильності роботи обчислювача (1;2) = 7∗1−2 8 = 7−2 8 = 00000111−00000010 00001000 = 00000101 00001000 =00 (2;3) = 7∗2−2 8 = 14−3 8 = 00001110−00000011 00001000 = 00001011 00001000 =01 (3;4) = 7∗3−4 8 = 21−4 8 = 00010101−00000100 00001000 = 00010001 00001000 =02 (4;5) = 7∗4−5 8 = 28−5 8 = 00011100−00000101 00001000 = 00010111 00001000 =02 (5;6) = 7∗5−6 8 = 35−6 8 = 00100011−00000110 00001000 = 00011101 00001000 =03 (6;7) = 7∗6−7 8 = 42−7 8 = 00101010−00000111 00001000 = 00100011 00001000 =04 (7;8) = 7∗7−8 8 = 49−8 8 = 00110001−00001000 00001000 = 00101001 00001000 =05 (8;9) = 7∗8−9 8 = 56−9 8 = 00111000−00001001 00001000 = 00101111 00001000 =05 (9;10) = 7∗9−10 8 = 63−10 8 = 00111111−00001010 00001000 = 00110101 00001000 =06 (10;11) = 7∗10−11 8 = 70−11 8 = 01000110−00001011 00001000 = 00111011 00001000 =07 (11;12) = 7∗11−12 8 = 77−12 8 = 01001101−00001100 00001000 = 01000001 00001000 =08 Функціональна схема спеціалізованого обчислювача На рис.2 подана функціональна схема спецобчислювача  Рис.2 Функціональна схема спецобчислювача До складу вищенаведеного спеціалізованого обчислювача входять наступні елементи: ОЗП; Арифметико-логічний пристрій; Регістр зсуву; Лічильник адреси; Буфер виводу; Буфер вводу-виводу; ПЗП; Регістр автомата; Інвертор. Обмін інформацією виконується через паралельну 8-ми розрядну двонаправлену шину даних. Отримавши потрібний сигнал від пристрою керування, дані проходять через буфер вводу/виводу і записуються в пам’ять. Така послідовність дій повторюється N разів (з кожним повтором лічильник адреси збільшується на одиницю). Далі, в залежності від прошиття автомата керування, відбувається читання даних з пам’яті і обрахунок за допомогою цих пристроїв (додавання, ділення зсувом на 2, інверсія, і.т.д.). Після цього через буфер вводу/виводу виводимо дані порціями N разів. Автомат керування реалізований на основі постійно запам’ятовуючого пристрою (ПЗП) і регістра. Для керування спецобчислювача потрібно 16 сигналів, також 8 сигналів потрібно для зворотнього зв’язку. Отож, автомат керування складається з поєднання трьох пар восьмирозрядного регістра і ПЗП. 7. Принципова схема та її опис Принципова схема наведена в додатку А. Оперативно запам’ятовуючий пристрій На рис. 3 поданий оперативно запам’ятовуючий пристрій серії CY7C128A . / 12 – Gnd; 24 - +5V Рис.3. ОЗП ОЗП серії IDT611SA являє собою асинхронну оперативну пам’ять об’ємом 16 кбіт. Організація пам’яті 2К х 8. Таблиця даного ОЗП приведена в таблиці 1. Таблиця 1 Режим CE OE WE DQ  Збереження 0 1 1 Z  Запис 0 0 0 DATAin  Читання 0 0 1 DATAout  Неробочий режим 1 X X Z   Арифметико-логічний пристрій На рис. 4 поданий АЛП серії ТТЛ К155ИП3 / 12 – Gnd; 24 - +5V Рис.4. АЛП Мікросхема ИП3 – 4-розрядний швидкісний АЛП. Він може працювати в двох режимах, виконуючи або 16 логічних, або 16 арифметичних операцій. Для отримання максимальної швидкодії при обробці багаторозрядних цифрових слів в схемі. Таблиця істинності даного АЛП зображена в табл.2. Таблиця 2 Вибір функції Пряма логіка Інверсна логіка   C3  C2  C1  C0 Логічні функції (M=1) Арифметичні функції (M=0) Логічні функції (M=1) Арифметичні функції (M=0)  0 0 0 0      0 0 0 1      0 0 1 0      0 0 1 1      0 1 0 0      0 1 0 1      0 1 1 0      0 1 1 1      1 0 0 0      1 0 0 1      1 0 1 0      1 0 1 1      1 1 0 0      1 1 0 1      1 1 1 0      1 1 1 1       Регістр зсуву На рис. 5 подана мікросхема серії ТТЛ К155ИР13 , яка являє собою універсальний, восьми розрядний, синхронний регістр зсуву / 12 – Gnd; 24 - +5V Рис.5. Універсальний регістр Кожна операція триває в регістрі не більше 20 нс, тому він придатний для обслуговування швидкісних процесорів та ЗУ як буферний накопичувач байта. Синхронну роботу регістру забезпечують спеціальні входи вибору режиму S0 і S1. У таблиці вказані поєднання рівнів на цих входах, що дозволяють переводити регістр в режими: зберігання (на входах S0 і S1 напруги низького рівня), паралельної завантаження (на цих входах напруги високого рівня), зсуву вліво (S1-в, S0-н) та зсуву вправо (S1-н, SO-в). Таблиця істинності даного регістра зображена в табл.3. Таблиця 3 Режим роботи Вхід Вихід   C /R S0 S1 DR DL Q0 Q1-Q6 Q7  Скид x 0 x x x x 0 0-0 0  Зберігання ↑ 1 0 0 x x q0 q1-q6 q7  Зсув вліво ↑ 1 0 0 x 1 q1 q2-q7 0   ↑ 1 1 0 x 1 q1 q2-q7 1  Зсув вправо ↑ 1 0 1 0 x 0 q0-q5 q6   ↑ 1 0 1 1 x 1 q0-q5 q6   Крім універсального регістра зсуву, в схемі є і регістр автомата (D5, D7, D9). Разом з ПЗП вони утворюють керуючий пристрій, який подає відповідні сигнали керування операційному пристрою для коректного опрацювання даних. Лічильник адрес На рис. 6 подана мікросхема серії ТТЛ К155ИЕ7, яка являє собою лічильник. / 8 – Gnd; 16 - +5V Рис.6. Лічильник Лічильник представляє із себе двійковий синхронний лічильник. ИЕ7 має асинхронне скидання і асинхронне початкове завантаження. Таблиця істинності лічильника подана на рис. 7. / Рис.7. Таблиця істинності лічильника Буфер На рис. 8 подана мікросхема серії SN74LV245 , яка являє собою двонаправлений буфер з можливістю переходу в третій стан. / 10 – Gnd; 20 - +5V Рис.8. Буфер Таблиця істинності показана в табл. 4. Таблиця 4 Dir OE   0 0 A<=B  0 1 ZZZZZ  1 0 B<=A  1 1 ZZZZZ   В таблиці 3 символи «ZZZZZ» позначають високий імпеданс. Вирази «A<=B» означає присвоєння сигналу А значення сигналу В. Вирази «B<=A» означає присвоєння сигналу B значення сигналу A Постійний запам’ятовуючий пристрій Запам'ятовуючі пристрої (ЗП) цифрової техніки призначені для запису, зберігання та видачі така інформація, яка неповинна змінюватись, наприклад, константи, табличні значення, коефіцієнти перетворень і т.ін. Така інформація записується у постійний запам'ятовуючий пристрій, для якого дозволяється тільки зчитування інформації, яка в нього занесена. Інформація, що представляється у вигляді цифрового коду. На рис.9 подана мікросхема серії К573РФ2 , яка являє собою постійний запам’ятовуючий пристрій. / Рис. 9 ПЗП В ПЗП за кожною n-розрядною адресою записане одне завчасно визначене m-вимірне слово. Таким чином, ПЗП є перетворювачем коду адреси в код слова, тобто комбінаційною схемою з n входами та m виходами. Накопичувач ПЗП апаратно виконується у вигляді системи взаємно-перпендикулярних шин, на перетині яких або присутній (логічна 1), або відсутній (логічний 0) елемент, що пов'язує між собою відповідні горизонтальну та вертикальну шини. Вибірка слів виконується за допомогою дешифратора. Інвертор На рис.10 подана мікросхема серії ЛН1 (4-НЕ) , яка являє собою інвертор, для зміни цифрового сигналу на протилежний. / Рис.10. Інвертор Таблиця істинності показана в табл. 5. Таблиця 5 / /  0 1  1 0   Обчислення загального часу роботи алгоритму множення Такт вводу: Для того, щоб записати одне число в пам’ять необхідно 3 такти. Ми записуємо 11 чисел, тому для запису чисел необхідно 33 такти. Щоб закінчити цикл вводу, ми переходимо на 2 старші адреси, тому необхідно ще 2 такти. Загалом 35 тактів. Такт виводу: Для того, щоб вивести одне число в пам’ять необхідно 2 такти. Ми виводимо 11 чисел, тому для запису чисел необхідно 22 такти. Щоб закінчити цикл вводу, ми переходимо на 2 старші адреси, тому необхідно ще 2 такти. Загалом 24 такти. Такт обчислення: Для обчислення одного результату необхідно 34 такти. Ми виконуємо 11 обчислень, тому для множення необхідно 374 такти. Щоб закінчити цикл вводу, ми переходимо на 2 старші адреси, тому необхідно ще 2 такти. Загалом 376 тактів. Додаємо ще 2 такти на виставлення адреси початку роботи, та проміжні 2 такти. Загальна к-сть тактів: 439 тактів. Опис автомата керування Структура регістру керування автоматом подана в табл.6. Таблиця 6  Буфер вводу/виводу: Сигнал ОЕ: Якщо сигнал OE = 0,то буфери відкриваються і дані передаються на вихід. Якщо OE =1, то буфери установлюються в Z-стан. Сигнал OE не впливає на стан тригерів та функцію записування інформації. Сигнал DIR: При значенні сигналу DIR = 0, буфери відкриваються і дані передаються на вихід. Якщо DIR =1, то буфери установлюються в Z-стан. Сигнал DIR впливає на стан тригерів та функцію записування інформації. Лічильник: +1 - інкремент -1 - декремент Load – паралельний запис Оперативно запам’товуючий пристрій: WE-режим запису\читання ОЕ-дозвіл виводу на виходи ОЗП Регістр : So – вхід для вибору команди запису/зсуву вправо СLK - синхроімпульс Арифметично-логічний пристрій: S0....S3 – входи вибору функції M – вхід вибору логіки Ро – вхідний перенос Таблиця прошиття ПЗП Таблиця прошиття ПЗП подана в додатку Б. VHDL реалізація проекту / Рис.11 Робоча схема у програмі VHDL Результати моделювання Приклад роботи програми при введенні чисел (2;3): / Рис. 12 Введення даних / Рис. 13 Виведення результату VHDL опис використаних пристроїв Лічильник: library IEEE; use IEEE.STD_LOGIC_1164.all; use IEEE.STD_LOGIC_unsigned.all; entity CNTR is port( L : in STD_LOGIC; INC : in STD_LOGIC; DEC : in STD_LOGIC; R : in STD_LOGIC; D : in STD_LOGIC_VECTOR(3 downto 0); CO : out STD_LOGIC; BO : out STD_LOGIC; Q : out STD_LOGIC_VECTOR(3 downto 0) ); end CNTR; --}} End of automatically maintained section architecture CNTR of CNTR is signal MEM:std_logic_vector(3 downto 0):="0000"; begin process(L,INC,DEC,R,MEM,D) begin if R='1' then MEM<=(others=>'0'); CO<='0'; BO<='0'; Q<=(others=>'0'); else if L='0' then Q<=D; MEM<=D; BO<='0'; CO<='0'; elsif rising_edge(INC) and DEC='1' then MEM<=MEM+1; Q<=MEM+1; elsif rising_edge(DEC) and INC='1' then MEM<=MEM-1; Q<=MEM-1; end if; if INC='1' and MEM="1111" then CO<='1'; else CO<='0'; end if; if DEC='1'and MEM="0000" then BO<='1'; else BO<='0'; end if; end if; end process; end CNTR; ОЗП: library IEEE; use IEEE.STD_LOGIC_1164.all; use IEEE.std_logic_unsigned.all; entity RAM_2k_8 is port( WE : in STD_LOGIC; CE : in STD_LOGIC; OE : in STD_LOGIC; A : in STD_LOGIC_VECTOR(3 downto 0); DQ : inout STD_LOGIC_VECTOR(7 downto 0) ); end RAM_2k_8; architecture RAM_2k_8 of RAM_2k_8 is type MEM_2K_4 is array (0 to 15) of std_logic_vector(7 downto 0); signal RAM_MEM:MEM_2K_4 := ("00000000", "00000000", "00000000", "00000000", "00000000", "00000000", "00000000", "00000000", "00000000", "00000000", "00000000", "00000000", "00000000", "00000000", "00000000", "00000000"); begin process(OE,WE,A) begin if OE='0' then if WE='0' then RAM_MEM(conv_integer(A))<=DQ; end if; if WE='1' then DQ<=RAM_MEM(conv_integer(A)); end if; else DQ<=(others=>'Z'); end if; end process; end RAM_2k_8; АЛП: library IEEE; use IEEE.STD_LOGIC_1164.all; use IEEE.STD_LOGIC_UNSIGNED.all; use ieee.std_logic_arith.all; entity ALU is port ( MC: in STD_LOGIC; Cn: in STD_LOGIC; B: in STD_LOGIC_vector (7 downto 0); A: in STD_LOGIC_vector (7 downto 0); S: in STD_LOGIC_vector (3 downto 0); P: out STD_LOGIC; G: out STD_LOGIC; Cn_plus_4: out STD_LOGIC; AeqB: out STD_LOGIC; F: out STD_LOGIC_vector (7 downto 0) ) end ALU; -}} End of automatically maintained section architecture ALU of ALU is begin process (MC, A, B, Cn, S) begin if MC = '1 'then case S is when "0000" => F <= not A; when "0001" => F <= "ZZZZZZZZ"; when "0010" => F <= "ZZZZZZZZ"; when "0011" => F <= "ZZZZZZZZ"; when "0100" => F <= "ZZZZZZZZ"; when "0101" => F <= not B; - when "0110" => F <= "ZZZZZZZZ"; when "0111" => F <= "ZZZZZZZZ"; when "1000" => F <= "ZZZZZZZZ"; when "1001" => F <= "ZZZZZZZZ"; when "1010" => F <= B; - when "1011" => F <= "ZZZZZZZZ"; when "1100" => F <= "ZZZZZZZZ"; when "1101" => F <= "ZZZZZZZZ"; when "1110" => F <= A + B; when "1111" => F <= A; - when others => F <= "ZZZZZZZZ"; end case; end if; if MC = '0 'and Cn = '0' then case S is when "0000" => F <= A + conv_std_logic_vector (not Cn, 8); - Cn_inner; when "0001" => F <= "ZZZZZZZZ"; when "0010" => F <= "ZZZZZZZZ"; when "0011" => F <= "ZZZZZZZZ"; when "0100" => F <= "ZZZZZZZZ"; when "0101" => F <= "ZZZZZZZZ"; - when "0110" => F <= "ZZZZZZZZ"; when "0111" => F <= "ZZZZZZZZ"; when "1000" => F <= "ZZZZZZZZ"; when "1001" => F <= "ZZZZZZZZ"; when "1010" => F <= "ZZZZZZZZ"; - when "1011" => F <= "ZZZZZZZZ"; when "1100" => F <= "ZZZZZZZZ"; when "1101" => F <= "ZZZZZZZZ"; when "1110" => F <= "ZZZZZZZZ"; when "1111" => F <= "ZZZZZZZZ"; - when others => F <= "ZZZZZZZZ"; end case; end if; end process; end ALU; Універсальний регістр: library IEEE; use IEEE.STD_LOGIC_1164.all; entity RGUn is port ( DR: in STD_LOGIC; DL: in STD_LOGIC; S0: in STD_LOGIC; S1: in STD_LOGIC; R: in STD_LOGIC; C: in STD_LOGIC; D: in STD_LOGIC_VECTOR (8 downto 1); Q: out STD_LOGIC_VECTOR (8 downto 1) ) end RGUn; -}} End of automatically maintained section architecture RGUn of RGUn is begin process (C, R, S0) begin if R = '0 'then Q (8 downto 1) <= "00000000"; elsif rising_edge (C) then - R = '1 ' if S0 = '1 'then Q <= D; else Q (7 downto 1) <= D (8 downto 2); Q (8) <= D (8); end if; end if; end process; - Enter your statements here - end RGUn; Буфер даних: library IEEE; use IEEE.STD_LOGIC_1164.all; entity BUF is port( DIR : in STD_LOGIC; OE : in STD_LOGIC; A : inout STD_LOGIC_VECTOR(7 downto 0); B : inout STD_LOGIC_VECTOR(7 downto 0) ); end BUF; architecture BUF of BUF is begin process(OE,DIR) begin if OE='0' and DIR='0' then A<=B; elsif OE='0' and DIR='1' then B<=A; else A<="ZZZZZZZZ";B<="ZZZZZZZZ"; end if; end process; end BUF; Автомат: library IEEE; use IEEE.STD_LOGIC_1164.all; use IEEE.STD_LOGIC_UNSIGNED.all; use ieee.std_logic_arith.ALL; entity ROM is port( ESE : in STD_LOGIC; A : in std_logic_vector(7 downto 0); AE_15 : in std_logic; D : out STD_LOGIC_VECTOR(23 downto 0) ); end ROM; architecture ROM of ROM is begin process (A) variable A_temp:integer; begin A_temp:= conv_integer(AE_15 & A(7 downto 0)); case A_temp is when 0 => D <= x"01D80F"; when 1 => D <= x"02F80C"; when 2 => D <= x"03600F"; when 3 => D <= x"01F80F"; when 5 => D <= x"06F54F"; when 6 => D <= x"07F77F"; when 7 => D <= x"08F76F"; when 8 => D <= x"09F77F"; when 9 => D <= x"0AF76F"; when 10 => D <= x"0BF77F"; when 11 => D <= x"0CF76F"; when 12 => D <= x"0DF77F"; when 13 => D <= x"0EF76F"; when 14 => D <= x"0FF77F"; when 15 => D <= x"10F76F"; when 16 => D <= x"11F77F"; when 17 => D <= x"12F76F"; when 18 => D <= x"13F77F"; when 19 => D <= x"14FFDB"; when 20 => D <= x"15E7DB"; when 21 => D <= x"167FDF"; when 22 => D <= x"17F2EF"; when 23 => D <= x"18F2FF"; when 24 => D <= x"19F00F"; when 25 => D <= x"1AF01F"; when 26 => D <= x"1BB8CF"; when 27 => D <= x"1CF76F"; when 28 => D <= x"1DF77F"; when 29 => D <= x"1EFFCF"; when 30 => D <= x"1FFFD7"; when 31 => D <= x"20FFCF"; when 32 => D <= x"21FFD7"; when 33 => D <= x"22FFCF"; when 34 => D <= x"23FFD7"; when 35 => D <= x"24FFDB"; when 36 => D <= x"25E7DB"; when 37 => D <= x"26780F"; when 38 => D <= x"05F80F"; when 39 => D <= x"28700F"; when 40 => D <= x"27F80E"; when 42 => D <= x"30F80F"; when 258 => D <= x"04D80F"; when 260 => D <= x"05F80F"; when 280 => D <= x"19D80F"; when 281 => D <= x"27F80F"; when 296 => D <= x"2AD80F"; when 297 => D <= x"29F80F"; when others => D <= "ZZZZZZZZZZZZZZZZZZZZZZZZ"; end case; end process; end ROM; ВИСНОВКИ В результаті виконання даної роботи я спроектував спеціалізований обчислювач, який обчислює наперед задану формулу, використовуючи вхідні дані. Даний обчислювач є восьмирозрядний. Оскільки фізично я його не реалізовував, то для перевірки роботи я промоделював його в середовищі “Active-HDL 9.1”. В результаті моделювання я переконався, що обчислювач спроектований правильно і працює коректно. Список використаної літератури Архітектура комп’ютера ./ Під ред. Мельник А.О., 2008; Datasheets for electronics components www.datasheetcatalog.com Компьютерная схемотехніка, Бабич Н.П., 2004; Structured computer organiztion, Andrew S.Tanenbaum, 2007; Цифровые интегральные схемы: Справочник./ Под ред. П.П. Мальцева. — М.: Радио и связь, 1994; Новейшая энциклопедия компьютера, Леонтьев В.П.,2011; МИКРОЭЛЕКТРОНИКА, А.В. Шарапов, 2007; Схемотехника электронных средств, Лаврентьев Б.Ф., 2010 Цифровая схемотехніка, Угрюмов Е.
Антиботан аватар за замовчуванням

18.11.2017 18:11-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!