КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Повний двійковий суматор
Робота повного двійкового суматора описується наступною таблицею істинності (табл.2). Таблиця 2
Логічні рівняння для повного двійкового суматора Рівняння складені за таблицею істинності: , . (1) Виконаємо спрощення рівнянь (1). Рівняння для суми виразимо через функцію додавання за модулем 2, а рівняння для переносу спростимо двома способами: методом К-карт (рис. 1, друга формула в (2)) і на основі властивостей логічних функцій (друга формула в (3)). , ; (2) ; . (3) 2.1. Програма реалізації повного двійкового суматора мовою AHDL з використанням логічних операторів або логічних символів (формули (1))
Символ повного двійкового суматора Результати моделювання
2.2. Схемна реалізація повного двійкового суматора в середовищі MAX+PLUS II на основі формул (1).
Результати моделювання
2.3. Програми реалізації повного суматора мовою AHDL за спрощеними логічними формулами (2) з використанням логічних операторів та логічних символів.
Результати моделювання
Схемна реалізація повного суматора за спрощеними формулами (2) в середовищі MAX+PLUS II.
2.3. Програми реалізації повного суматора мовою AHDL за спрощеними логічними формулами (3) з використанням логічних операторів та логічних символів.
Результати моделювання 2.4. Схемна реалізація повного суматора за спрощеними формулами (3) в середовищі MAX+PLUS II.
2.5. Програмна реалізація повного суматора мовою AHDL з використанням таблиці істинності (табл. 2) SUBDESIGN sm_4 (a,b,Ci:INPUT; S,Co:OUTPUT;) BEGIN TABLE Ci,b,a=>S,Co; 0,0,0=>0,0; 0,0,1=>1,0; 0,1,0=>1,0; 0,1,1=>0,1; 1,0,0=>1,0; 1,0,1=>0,1; 1,1,0=>0,1; 1,1,1=>1,1; END TABLE; END;
Результати моделювання
2.6. Схемна реалізація повного двійкового суматора з використанням символу напівсуматора (hsm) і елемента OR2.
Результати моделювання
3. Схемна реалізація трирозрядного двійкового суматора з використанням символів напівсуматора (hsm) і повного двійкового суматора (sm_1)
Результати моделювання
4. N-розрядний параметризований двійковий суматор
Суматор даного типу ― комбінаційний пристрій, що виконує операцію арифметичного додавання двох N-розрядних двійкових чисел a[], b[] і вхідного коду переносу Сі. Нижче наведено опис такого суматора на вентильному рівні. Примітив CARRY явно вказує компілятору на необхідність використання схеми ланцюгового переносу логічного елемента НВІС сімейства FLEX. При розміщені НВІС сімейства МАХ компілятор ігнорує примітив CARRY.
PARAMETERS (N=7); SUBDESIGN sm_Nr_p (a[N..0], b[N..0], Ci: INPUT; S[N..0], Co: OUTPUT;) VARIABLE C[N+1..0]:NODE; BEGIN C[0]=Ci; FOR i IN 0 TO N GENERATE S[i]=a[i]$b[i]$C[i]; C[i+1]=CARRY(a[i]&b[i]#C[i]&(a[i]#b[i])); END GENERATE; Co=C[N+1]; END; Результати моделювання при
Результати моделювання при
5. Восьмирозрядний двійковий суматор, реалізований на основі операції додавання шин.
SUBDESIGN add_8r ( A[7..0],B[7..0],Ci:INPUT; S[7..0],Co:OUTPUT; ) BEGIN (Co,S[])=(B"0",A[])+(B"0",B[])+(B"00000000",Ci); END;
Результати моделювання
5. N-розрядний параметризований двійковий суматор, реалізований на основі операції додавання шин.
PARAMETERS (N=7); SUBDESIGN add_8r_p ( A[N..0],B[N..0],Ci:INPUT; S[N..0],Co:OUTPUT; ) VARIABLE zero[N..0]:NODE; BEGIN zero[]=0; (Co,S[])=(B"0",A[])+(B"0",B[])+(zero[],Ci); END;
6. Перетворення прямого коду в обернений і навпаки
Параметризована програма переведення прямого коду в обернений.
PARAMETERS (N=7); SUBDESIGN Pr_ob_1 ( A[N+1..0]:INPUT; B[N+1..0]:OUTPUT; ) BEGIN IF A[N+1]==VCC THEN B[N+1]=VCC; B[N..0]=!A[N..0]; ELSE B[]=A[]; END IF; END;
7. Перетворення прямого коду в доповняльний і навпаки
Параметризована програма переведення восьмирозрядного прямого коду в доповняльний.
PARAMETERS (N=7); SUBDESIGN Pr_dop_1 ( A[N+1..0]:INPUT; B[N+1..0]:OUTPUT; ) BEGIN IF A[N+1]==VCC THEN B[N+1]=VCC; B[N..0]=!A[N..0]+B"00000001"; ELSE B[]=A[]; END IF; END;
8. Восьмирозрядний двійковий віднімач, побудований з використанням доповняльного коду
PARAMETERS (N=7); SUBDESIGN sub_8r_1 ( A[N+1..0], B[N+1..0]:INPUT; Sp[N+1..0], Sg, Sd[N+1..0]:OUTPUT; ) VARIABLE R[N+1..0],Co:NODE; BEGIN (Co, R[])=(B"0",A[])+(B"0",!B[])+B"0000000001"; IF R[N+1]==B"1" THEN Sg=B"1"; Sp[]=!R[]+B"000000001"; Sp[N+1]=B"1"; ELSE Sg=B"0"; Sp[]=R[]; END IF; Sd[]=R[]; END; Результати моделювання
9. Восьмирозрядний двійковий віднімач, реалізований на основі операції віднімання
PARAMETERS (N=7); SUBDESIGN sub_8r_p ( A[N..0],B[N..0],Ci:INPUT; S[N..0],Co:OUTPUT; ) VARIABLE zero[N..0]:NODE; BEGIN zero[]=0; (Co,S[])=(B"0",A[])-(B"0",B[])+(zero[],Ci); END;
10. Повний двійковий суматор мовою AHDL з використанням напівсуматорів і вузлів типу NODE (два варіанти)
SUBDESIGN hsm_2 (a,b,Ci:INPUT; S,Co:OUTPUT;) VARIABLE S1,Co1,Co2:NODE; BEGIN Co1=a&b; S1=!a&b#a&!b; S=!Ci&S1#Ci&!S1; Co2=Ci&S1; Co=Co1#Co2; END; Результати моделювання
SUBDESIGN hsm_22 (a,b,Ci:INPUT; S,Co:OUTPUT;) VARIABLE S1,Co1,Co2:NODE; BEGIN Co1=a&b; S1=a$b; S=Ci$S1; Co2=Ci&S1; Co=Co1#Co2; END; Результати моделювання
Дата добавления: 2014-01-11; Просмотров: 2200; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |