- Python 87.3%
- CSS 6.3%
- Verilog 4.9%
- JavaScript 1.5%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| docs | ||
| scripts | ||
| site | ||
| verilog | ||
| .gitignore | ||
| 01_number-systems-and-binary.md | ||
| 02_logic-gates-and-boolean-basics.md | ||
| 03_bitwise-operations.md | ||
| 04_hex-and-octal.md | ||
| 05_negative-numbers-twos-complement.md | ||
| 06_boolean-algebra-and-karnaugh-map.md | ||
| 07_combinational-circuits.md | ||
| 08_sequential-circuits.md | ||
| 09_floating-point.md | ||
| 10_error-detection-and-correction.md | ||
| 11_cpu-architecture-and-alu.md | ||
| 12_instruction-set-and-assembly.md | ||
| 13_pipelining.md | ||
| 14_memory-hierarchy-and-cache.md | ||
| 15_io-and-interrupts.md | ||
| 16_process-and-threads.md | ||
| 17_cpu-scheduling.md | ||
| 18_memory-management-and-virtual-memory.md | ||
| 19_synchronization-and-deadlock.md | ||
| 20_file-systems.md | ||
| 21_network-models-and-layers.md | ||
| 22_data-link-and-physical-layer.md | ||
| 23_network-layer-and-routing.md | ||
| 24_transport-layer-tcp-udp.md | ||
| 25_application-layer-and-sockets.md | ||
| 26_verilog-basics-and-modules.md | ||
| 27_combinational-design-in-verilog.md | ||
| 28_sequential-design-in-verilog.md | ||
| 29_testbenches-and-simulation.md | ||
| 30_fpga-intro-and-synthesis.md | ||
| README.md | ||
বাইনারি, ডিজিটাল লজিক ও কম্পিউটার আর্কিটেকচার — কলেজ-লেভেল সম্পূর্ণ কোর্স
এই প্রজেক্টটা সংখ্যা পদ্ধতি থেকে শুরু করে সম্পূর্ণ ডিজিটাল লজিক ডিজাইন এবং কম্পিউটার আর্কিটেকচার (memory hierarchy, pipelining, I/O সহ) পর্যন্ত কলেজ-লেভেল গভীরতায় বাংলায় ধাপে ধাপে বুঝিয়েছে। প্রতিটা বিষয়ের সাথে একটা বিস্তারিত মার্কডাউন ব্যাখ্যা ফাইল (সূত্র, প্রমাণ, worked example, অনুশীলনী সহ) এবং একটা ইন্টারেক্টিভ পাইথন স্ক্রিপ্ট আছে।
পড়ার ক্রম (সাজেস্টেড)
পর্ব ১: সংখ্যা পদ্ধতি ও বেসিক লজিক
| # | মার্কডাউন ফাইল | সংশ্লিষ্ট স্ক্রিপ্ট | বিষয় |
|---|---|---|---|
| ১ | 01_number-systems-and-binary.md |
scripts/binary_converter.py |
পজিশনাল নাম্বার সিস্টেম, বাইনারি↔ডেসিমাল, ASCII/Unicode |
| ২ | 02_logic-gates-and-boolean-basics.md |
scripts/logic_gates.py |
AND/OR/NOT/NAND/NOR/XOR, ইউনিভার্সাল গেট, propagation delay |
| ৩ | 03_bitwise-operations.md |
scripts/bitwise_operations.py |
&, |, ^, ~, <<, >>, বিটমাস্কিং |
| ৪ | 04_hex-and-octal.md |
scripts/hex_converter.py |
Base-16/8, রূপান্তর, বাস্তব প্রয়োগ (color code, chmod) |
| ৫ | 05_negative-numbers-twos-complement.md |
scripts/twos_complement.py |
Sign-magnitude, one's/two's complement, overflow |
পর্ব ২: বুলিয়ান অ্যালজেব্রা, কম্বিনেশনাল ও সিকোয়েন্সিয়াল সার্কিট
| # | মার্কডাউন ফাইল | সংশ্লিষ্ট স্ক্রিপ্ট | বিষয় |
|---|---|---|---|
| ৬ | 06_boolean-algebra-and-karnaugh-map.md |
scripts/boolean_algebra.py |
বুলিয়ান নিয়ম, De Morgan, SOP/POS, K-map সরলীকরণ |
| ৭ | 07_combinational-circuits.md |
scripts/combinational_circuits.py |
Half/Full Adder, MUX, Decoder, Encoder, Comparator |
| ৮ | 08_sequential-circuits.md |
scripts/sequential_circuits.py |
Latch, Flip-Flop (D/JK/T), রেজিস্টার, কাউন্টার, FSM |
| ৯ | 09_floating-point.md |
scripts/floating_point.py |
IEEE 754 এনকোডিং, precision সমস্যা |
| ১০ | 10_error-detection-and-correction.md |
scripts/error_detection.py |
Parity, Checksum, CRC, Hamming Code |
পর্ব ৩: কম্পিউটার আর্কিটেকচার
| # | মার্কডাউন ফাইল | সংশ্লিষ্ট স্ক্রিপ্ট | বিষয় |
|---|---|---|---|
| ১১ | 11_cpu-architecture-and-alu.md |
scripts/cpu_simulator.py |
রেজিস্টার, ALU, Fetch-Decode-Execute, Von Neumann |
| ১২ | 12_instruction-set-and-assembly.md |
scripts/isa_assembly_simulator.py |
RISC vs CISC, addressing mode, মিনি অ্যাসেম্বলি |
| ১৩ | 13_pipelining.md |
scripts/pipeline_simulator.py |
৫-স্টেজ পাইপলাইন, hazard (structural/data/control), forwarding |
| ১৪ | 14_memory-hierarchy-and-cache.md |
scripts/cache_simulator.py |
Cache mapping, hit/miss, AMAT, LRU, virtual memory |
| ১৫ | 15_io-and-interrupts.md |
scripts/io_interrupt_simulator.py |
Polling, Interrupt handling, DMA, priority encoder |
পর্ব ৪: অপারেটিং সিস্টেম
| # | মার্কডাউন ফাইল | সংশ্লিষ্ট স্ক্রিপ্ট | বিষয় |
|---|---|---|---|
| ১৬ | 16_process-and-threads.md |
scripts/process_thread_simulator.py |
প্রসেস মেমরি লেআউট, PCB, স্টেট ডায়াগ্রাম, থ্রেড |
| ১৭ | 17_cpu-scheduling.md |
scripts/scheduling_simulator.py |
FCFS, SJF, Round Robin, Priority, Gantt চার্ট |
| ১৮ | 18_memory-management-and-virtual-memory.md |
scripts/memory_management_simulator.py |
Paging, address translation, FIFO/LRU, Belady's Anomaly |
| ১৯ | 19_synchronization-and-deadlock.md |
scripts/synchronization_deadlock_simulator.py |
Race condition, Mutex/Semaphore, Deadlock detection |
| ২০ | 20_file-systems.md |
scripts/file_system_simulator.py |
Inode, ডিরেক্টরি, bitmap free space, journaling |
পর্ব ৫: কম্পিউটার নেটওয়ার্ক
| # | মার্কডাউন ফাইল | সংশ্লিষ্ট স্ক্রিপ্ট | বিষয় |
|---|---|---|---|
| ২১ | 21_network-models-and-layers.md |
scripts/osi_encapsulation_demo.py |
OSI vs TCP/IP মডেল, encapsulation, PDU |
| ২২ | 22_data-link-and-physical-layer.md |
scripts/mac_addressing_demo.py |
MAC address, Ethernet, Switch, CSMA/CD |
| ২৩ | 23_network-layer-and-routing.md |
scripts/ip_subnetting_calculator.py |
IP addressing, CIDR, subnetting, রাউটিং |
| ২৪ | 24_transport-layer-tcp-udp.md |
scripts/tcp_udp_simulator.py |
TCP three-way handshake, retransmission, UDP |
| ২৫ | 25_application-layer-and-sockets.md |
scripts/socket_demo.py |
DNS, HTTP, socket প্রোগ্রামিং (আসল localhost ডেমো সহ) |
পর্ব ৬: ডিজিটাল সার্কিট প্র্যাকটিক্যাল (Verilog/HDL)
| # | মার্কডাউন ফাইল | সংশ্লিষ্ট Verilog ফাইল | বিষয় |
|---|---|---|---|
| ২৬ | 26_verilog-basics-and-modules.md |
verilog/gates.v |
module, wire/reg, always block, blocking/non-blocking |
| ২৭ | 27_combinational-design-in-verilog.md |
verilog/full_adder.v, verilog/mux.v |
Full Adder, Ripple Adder, MUX, Decoder in Verilog |
| ২৮ | 28_sequential-design-in-verilog.md |
verilog/d_flipflop.v, verilog/counter.v, verilog/traffic_light_fsm.v |
D Flip-Flop, Counter, Shift Register, FSM |
| ২৯ | 29_testbenches-and-simulation.md |
(সব টেস্টবেঞ্চ ফাইল, *_tb.v) |
initial block, $display/$monitor, waveform, self-checking |
| ৩০ | 30_fpga-intro-and-synthesis.md |
— (কনসেপচুয়াল) | Simulation vs Synthesis, LUT, FPGA vs ASIC, টুলচেইন |
⚠️ গুরুত্বপূর্ণ — পর্ব ৬ চালাতে Icarus Verilog (iverilog) ইনস্টল থাকতে হবে:
# Ubuntu/Debian
sudo apt-get install iverilog
# macOS (Homebrew)
brew install icarus-verilog
# Windows: https://bleyer.org/icarus/ থেকে ইনস্টলার নামান
ইনস্টল না থাকলে scripts/verilog_runner.py নিজে থেকেই জানিয়ে দেবে এবং ইনস্টলেশন নির্দেশনা দেখাবে। প্রতিটা .v ফাইল সরাসরি পড়েও শেখা যায় (কোড ছোট ও কমেন্ট সহ), শুধু নিজে চালিয়ে দেখতে iverilog লাগবে।
কীভাবে চালাবেন
প্রতিটা স্ক্রিপ্ট আলাদাভাবে টার্মিনালে চালানো যায়:
cd scripts
python3 binary_converter.py
python3 logic_gates.py
python3 bitwise_operations.py
python3 hex_converter.py
python3 twos_complement.py
python3 boolean_algebra.py
python3 combinational_circuits.py
python3 sequential_circuits.py
python3 floating_point.py
python3 error_detection.py
python3 cpu_simulator.py
python3 isa_assembly_simulator.py
python3 pipeline_simulator.py
python3 cache_simulator.py
python3 io_interrupt_simulator.py
python3 process_thread_simulator.py
python3 scheduling_simulator.py
python3 memory_management_simulator.py
python3 synchronization_deadlock_simulator.py
python3 file_system_simulator.py
python3 osi_encapsulation_demo.py
python3 mac_addressing_demo.py
python3 ip_subnetting_calculator.py
python3 tcp_udp_simulator.py
python3 socket_demo.py
python3 verilog_runner.py # (পর্ব ৬-এর জন্য, iverilog ইনস্টল থাকতে হবে — উপরে দেখুন)
verilog/ ফোল্ডারে সব .v ডিজাইন ও টেস্টবেঞ্চ ফাইল আছে, চাইলে সরাসরি পড়ে বা এডিট করেও দেখা যায়।
প্রতিটা স্ক্রিপ্টে একটা মেনু আসবে — নম্বর দিয়ে বেছে নিলে সাথে সাথে ধাপে ধাপে হিসাব/সিমুলেশন দেখাবে।
এক নজরে সম্পূর্ণ চিত্র
পর্ব ১: সংখ্যা ও বেসিক লজিক
বাইনারি/হেক্স/অক্টাল সংখ্যা → লজিক গেট (AND/OR/NOT/NAND/NOR/XOR) → বিটওয়াইজ অপারেশন
↓
Two's Complement (ঋণাত্মক সংখ্যা)
পর্ব ২: বুলিয়ান লজিক ও সার্কিট
বুলিয়ান অ্যালজেব্রা (K-map সরলীকরণ) → কম্বিনেশনাল সার্কিট (Adder, MUX, Decoder)
↓
সিকোয়েন্সিয়াল সার্কিট (Flip-Flop, রেজিস্টার, FSM — মেমরির ভিত্তি)
↓
ফ্লোটিং পয়েন্ট (দশমিক সংখ্যা) ও এরর ডিটেকশন (নির্ভরযোগ্যতা)
পর্ব ৩: কম্পিউটার আর্কিটেকচার
CPU/ALU (Fetch-Decode-Execute) → ISA ও অ্যাসেম্বলি (RISC/CISC) → পাইপলাইনিং (throughput বাড়ানো)
↓
মেমরি হায়ারার্কি ও ক্যাশ (দ্রুত এক্সেস) ↔ I/O ও ইন্টারাপ্ট (বাইরের জগতের সাথে যোগাযোগ)
↓
সবকিছু মিলে → একটা সম্পূর্ণ কার্যকরী কম্পিউটার সিস্টেম
সব কয়টা বিষয় একসাথে মিলেই কম্পিউটার কীভাবে সংখ্যা রাখে, সিদ্ধান্ত নেয়, মনে রাখে, ভুল ধরে, দ্রুত instruction চালায়, এবং বাইরের জগতের (কীবোর্ড, ডিস্ক, নেটওয়ার্ক) সাথে যোগাযোগ করে — তার সম্পূর্ণ ভিত্তিটা তৈরি করে। প্রতিটা পর্ব আগের পর্বের ধারণার উপর ভিত্তি করে তৈরি, তাই ক্রম মেনে পড়লে সবচেয়ে ভালো বোঝা যাবে।
কলেজ-লেভেল কোর্সের সাথে ম্যাপিং
এই প্রজেক্ট এখন কলেজ/বিশ্ববিদ্যালয়ের ৫টা কোর্সের মূল সিলেবাস সম্পূর্ণভাবে কভার করে:
- Digital Logic Design (পর্ব ১-২)
- Computer Organization and Architecture (পর্ব ৩)
- Operating Systems (পর্ব ৪)
- Computer Networks (পর্ব ৫)
- Digital System Design / HDL Lab (পর্ব ৬)
প্রজেক্টটা এখন সম্পূর্ণ — তত্ত্ব (সংখ্যা পদ্ধতি, লজিক গেট) থেকে শুরু করে সিস্টেম-লেভেল (CPU, OS, নেটওয়ার্ক) হয়ে বাস্তব হার্ডওয়্যার বাস্তবায়ন (Verilog/FPGA) পর্যন্ত পুরো চক্রটা কভার হয়েছে। এর বাইরে আরও গভীরে যেতে চাইলে প্রতিটা পর্বের নিজস্ব উচ্চতর কোর্স আছে (Advanced Computer Architecture, Distributed Systems, Advanced VLSI Design ইত্যাদি) — কিন্তু কলেজ-লেভেল ভিত্তি হিসেবে এই ৩০টা বিষয় একটা সম্পূর্ণ, সুসংগত সিলেবাস তৈরি করে।