DevioLab CRYPTO TRADING AUTOMATION
LIVE
AUTOMATED CRYPTO TRADING • BINANCE
Автоматизуйте свій криптопортфель
Торгові боти DevioLab аналізують крипторинок, автоматично відкривають і закривають позиції та керують вашим портфелем на Binance 24/7.
CRYPTO 80 Bots
BINANCE Spot Trading
TRADING 24 / 7
Спробувати DevioLab
deviolab.com

Ознайомлення з основними конструкціями мови моделювання System C

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

ВУЗ:
Національний університет Львівська політехніка
Інститут:
О
Факультет:
КН
Кафедра:
Не вказано

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

Рік:
2018
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Комп’ютерні системи

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

Міністерство освіти і науки України Національний університет “Львівська політехніка” / Звіт До лабораторної роботи №2 З дисципліни: «Комп'ютерні системи» на тему: «Ознайомлення з основними конструкціями мови моделювання System C» Мета роботи: Ознайомитися з основними конструкціями мови моделювання System C. Хід роботи Варіант – 6 Х = 6 Y = 167 Реалізувати модулі S1 та S2, разом з логікою їх функціонування згідно варіанту, провести послідовне з’єднання S1 та S2 ініціалізувати необхідні порти на S1. На вхід S2 подати вихідні порти модуля S1. До кожного модуля заводиться зовнішній вхідний для всіх сигнал синхронізації CLK. Результати подати на модуль Display для відображення. S1 2 вихідних порта o1, o2 o1 = X – Y; o2 = (X + Y / 2.0) && (X >> 2); S2 r1 = a * b , r2 = 6; Схема зв’язків модулів Код програми #ifndef TEST_SYSTEMC_S1_H #define TEST_SYSTEMC_S1_H #include "systemc.h" #include "cmath" #include "s2.h" SC_MODULE (S1) { sc_in<int> x; sc_in<int> y; sc_out<int> o1; sc_out<int> o2; sc_in<bool> clk; SC_CTOR(S1) { SC_METHOD(calc_o2); sensitive << x << y; sensitive_pos << clk; SC_METHOD(calc_o1); sensitive << x << y; sensitive_pos << clk; } void calc_o2() { int x_val = x.read(); int y_val = y.read(); double acc = 0; acc += ((x_val + y_val) / 2.0) & (2 >> x_val); o2.write(acc); } void calc_o1() { int x_val = x.read(); int y_val = y.read(); o1.write(x_val - y_val); } }; #endif //TEST_SYSTEMC_S1_H// s2.h #ifndef TEST_SYSTEMC_S2_H #define TEST_SYSTEMC_S2_H #include "systemc.h" SC_MODULE(S2) { sc_in<int> a; sc_in<int> b; sc_out<int> r1; sc_out<int> r2; sc_in<bool> clk; SC_CTOR(S2) { SC_METHOD(calc_r1); sensitive << a << b; sensitive_pos << clk; SC_METHOD(calc_r2) sensitive << a << b; sensitive_pos << clk; } void calc_r1() { int a_val = a.read(); r1.write(a_val * a_val); } void calc_r2() { int b_val = b.read(); r2.write(6); } }; #endif //TEST_SYSTEMC_S2_H // main.cpp #include <iostream> #include <systemc.h> #include "s1.h" #include "s2.h" int sc_main(int argc, char *argv[]) { sc_signal<int> x{"x", 6}; sc_signal<int> y{"y", 167}; sc_signal<int> o2{"o2"}; sc_signal<int> o1{"o1"}; sc_signal<int> r1{"r2"}; sc_signal<int> r2{"r1"}; sc_clock clk("clk", 1, SC_NS, 0.5); S1 s1("s1"); S2 s2("s2"); s1.clk(clk); s2.clk(clk); s1.x(x); s1.y(y); s1.o2(o2); s1.o1(o1); s2.a(o2); s2.b(o1); s2.r1(r1); s2.r2(r2); sc_start(10, SC_NS); std::cout << "x: " << x.read() << std::endl; std::cout << "y: " << y.read() << std::endl; std::cout << "r1: " << r1.read() << std::endl; std::cout << "r2: " << r2.read() << std::endl; return 0; } Результат виконання x: 6 y: 167 r1: 13568067 r2: 6 Висновок: на даній лабораторній роботі я ознайомився з основними конструкціями мови моделювання System C. Створив програму та відлагодив її за допомогою System C .
Антиботан аватар за замовчуванням

24.11.2018 16:25

Коментарі

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

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

Нічого не вибрано
0%

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

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

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

Admin

26.02.2023 12:38

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