Rəqəmsal elektrik sxemini nəzərdən keçirək, hansı ki, diskret zamanda ikili siqnallarla işləyir. Bu sxem giriş siqnalları, naqillər, birləşmələr və məntiqi elementlərdən ibarətdir. Biz altı növ məntiqi elementdən istifadə edəcəyik: NOT, AND, NAND, OR, NOR, DFF. Hər biri bir çıxış siqnalı qaytarır. Giriş siqnallarının sayı və qaytarılan dəyər haqqında məlumat aşağıdakı cədvəldə verilmişdir:
NOT: 1 giriş. Giriş siqnalının əks dəyəri;
AND: 1 və ya daha çox giriş. Giriş siqnallarının konjunksiyası;
NAND: 1 və ya daha çox giriş. Giriş siqnallarının konjunksiyasının inkarı;
OR: 1 və ya daha çox giriş. Giriş siqnallarının dizjunksiyası;
NOR: 1 və ya daha çox giriş. Giriş siqnallarının dizjunksiyasının inkarı;
DFF: 1 giriş. Giriş siqnalı ilə eyni dəyər, lakin diskret zamanın bir tik gecikməsi ilə qaytarılır;
Sxem aşağıdakı kimi işləyir: Diskret zamanın ilk tikindən əvvəl hər bir DFF elementi sıfır dəyəri ilə başlanğıc vəziyyətinə gətirilir. Sonra bir neçə tik ərzində bəzi birləşmələrə (giriş kontaktlarına) giriş dəyərləri veriləcəkdir. Siz müəyyən bir düyünlər dəsti (çıxış birləşmələri) üzərində ikili dəyərləri hesablayan proqram yazmalısınız.
Proqrama məntiqi sxemin təsviri, maraqlandığımız keçidlər dəsti və hər bir ardıcıl diskret zaman tiku üçün giriş dəyərləri veriləcəkdir.
İki blokdan ibarətdir. Birinci blok bir neçə sətirdən ibarətdir. Əgər sətirin ilk simvolu diyez (#) isə, bu sətir şərhdir. Onu nəzərə almayın. Boş sətirləri də nəzərə almayın. Giriş siqnallarını təsvir edən sətir INPUT(junction) kimi görünür, burada junction - birləşmənin adıdır. Maraqlanan birləşmələri təsvir edən sətir OUTPUT(junction) kimi görünür, burada junction - birləşmənin adıdır. Birləşmənin adı böyük və kiçik latın hərflərindən, rəqəmlərdən və alt xətt simvolundan ( _ ) ibarətdir. Adın uzunluğu 64 simvoldan azdır.
Birinci blokun qalan bütün sətirləri yeni birləşmələrin təsvirini ehtiva edir. Belə bir sətir j1 = op(j2) kimi görünür, burada j1 və j2 - birləşmələrin adlarıdır, op isə ya NOT ya da DFF-dir. O, həmçinin j1 = op(j2[, j3...]) kimi görünə bilər, burada j-lər birləşmələrin adlarıdır və op ya AND, NAND, OR və ya NOR-a bərabərdir. 5000-dən çox birləşmə yoxdur.
İkinci giriş bloku INPUT VALUES sətiri ilə başlayır. Növbəti sətirlərin hər biri sıfır və birlərin ardıcıllığını ehtiva edir. Rəqəmlərin sayı giriş siqnallarının sayına bərabərdir. Siz bu ikili dəyərləri girişdəki ardıcıllığına uyğun olaraq giriş siqnalları ilə uyğunlaşdırmalısınız. Blok 500 sətirdən çox deyil. Daha ətraflı məlumat üçün nümunələrə baxın.
Giriş məlumatlarının düzgün olduğunu qəbul edin. Verilən sxemin düzgün işləyəcəyini qəbul edin.
Hər bir giriş siqnalları dəyərləri üçün bir sətir çıxarın, sıfır və birləri ehtiva edən. Rəqəmlər çıxış siqnallarının dəyərlərinə uyğun olmalıdır, onların giriş ardıcıllığını saxlayaraq.
Nümunə 1
Nümunə 2