├── 1_computer_org_lab ├── readme.md ├── adc │ ├── adc_nedir.png │ ├── adc-sekil2.png │ ├── adc_working.jpg │ ├── pastexams │ │ ├── 21g-adc.txt │ │ ├── 17g-adc.pdf │ │ ├── 18g-digiac.png │ │ ├── 19b-hidroelectric.png │ │ ├── 23-24-f_organizasyon-lab-final_sorular.pdf │ │ ├── readme.md │ │ └── 20g-test-aiken_format.txt │ ├── 8bit_adc_block_diagram.png │ └── readme.md └── serial_input_output │ └── readme.md ├── 0_logic_design_lab ├── 21-22-s_Final_Cevaplar-Sayısal-Tasarım-Lab..pdf ├── _vhdl_ile_devre_tasarimi │ ├── vhdl_ornek_rapor.pdf │ ├── VHDL_ile_Devre_Tasarimi.pdf │ ├── VHDL_deney_rapor_sablonu.pdf │ ├── encoder_decoder_tutorial.pdf │ ├── combinational_circuits │ │ ├── imgs │ │ │ ├── 1.jpg │ │ │ ├── 10.jpg │ │ │ ├── 11.jpg │ │ │ ├── 12.jpg │ │ │ ├── 13.jpg │ │ │ ├── 14.jpg │ │ │ ├── 15.jpg │ │ │ ├── 16.jpg │ │ │ ├── 17.jpg │ │ │ ├── 18.jpg │ │ │ ├── 19.jpg │ │ │ ├── 2.jpg │ │ │ ├── 20.jpg │ │ │ ├── 21.jpg │ │ │ ├── 22.jpg │ │ │ ├── 23.jpg │ │ │ ├── 3.jpg │ │ │ ├── 4.jpg │ │ │ ├── 5.jpg │ │ │ ├── 6.jpg │ │ │ ├── 7.jpg │ │ │ ├── 8.jpg │ │ │ ├── 9.jpg │ │ │ └── logo.jpg │ │ ├── 8bit-tek-parity_ornek_rapor.pdf │ │ ├── Or_gate.vhd │ │ ├── 1bit-full-adder.vhd │ │ ├── 1-4_decoder.vhd │ │ ├── 4bit-odd-parity.vhd │ │ ├── 8-3_encoder.vhd │ │ ├── 2bit-halfadder.vhd │ │ ├── 1bit-halfadder.vhd │ │ ├── 00_parity.vhd │ │ ├── 05_binary_to_gray.vhd │ │ ├── 8bit_4-1mux.vhd │ │ ├── 16bit-even-parity.vhd │ │ ├── 16bit-evenparity.vhd │ │ ├── 4-2_encoder.vhd │ │ ├── 8-3_encoder_.vhd │ │ ├── 4bit_hamming.vhd │ │ ├── 4-1_mux_.vhd │ │ ├── 2bit-full-adder.vhd │ │ ├── 8-to-3_encoder.vhd │ │ ├── 3-8_decoder_.vhd │ │ ├── demux_1to4.vhd │ │ ├── 8bit_encryption.vhd │ │ ├── 8bit-odd_parity.vhd │ │ ├── 16bit-odd_parity.vhd │ │ ├── 3-to-8_decoder.vhd │ │ ├── 1-4_demux_with_process.vhd │ │ ├── 16-4_encoder.vhd │ │ ├── ALU.vhd │ │ ├── 4-1mux.vhd │ │ ├── 16-to-4_encoder.vhd │ │ ├── 3-8_decoder_with_process.vhd │ │ ├── 1bit-fulladder.vhd │ │ ├── 8bit_full_adder.vhd │ │ ├── 4-16_decoder.vhd │ │ ├── 4-to-16_decoder.vhd │ │ ├── 8bit-halfadder_bit_by_bit.vhd │ │ └── encoder_decoder.md │ ├── sequential_circuits │ │ ├── parking_automation │ │ │ ├── durumdiagramı.jpg │ │ │ ├── readme.md │ │ │ └── sdm.vhd │ │ ├── washing_machines.vhd │ │ ├── camasir_makinesi.vhd │ │ ├── 01_traffic_lambs.vhd │ │ ├── eSDM.vhd │ │ └── parking_automation.vhd │ └── readme.md ├── 21-22-s_Bütünleme_Sorular-Sayısal-Tasarım-Lab.pdf ├── 1_vhdl_ile_kombinasyonel_devre_tasarimi │ ├── combinational_circuits │ │ ├── imgs │ │ │ ├── 1.jpg │ │ │ ├── 10.jpg │ │ │ ├── 11.jpg │ │ │ ├── 12.jpg │ │ │ ├── 13.jpg │ │ │ ├── 14.jpg │ │ │ ├── 15.jpg │ │ │ ├── 16.jpg │ │ │ ├── 17.jpg │ │ │ ├── 18.jpg │ │ │ ├── 19.jpg │ │ │ ├── 2.jpg │ │ │ ├── 20.jpg │ │ │ ├── 21.jpg │ │ │ ├── 22.jpg │ │ │ ├── 23.jpg │ │ │ ├── 3.jpg │ │ │ ├── 4.jpg │ │ │ ├── 5.jpg │ │ │ ├── 6.jpg │ │ │ ├── 7.jpg │ │ │ ├── 8.jpg │ │ │ ├── 9.jpg │ │ │ └── logo.jpg │ │ ├── 8bit-tek-parity_ornek_rapor.pdf │ │ ├── Or_gate.vhd │ │ ├── 1bit-full-adder.vhd │ │ ├── 1-4_decoder.vhd │ │ ├── 4bit-odd-parity.vhd │ │ ├── 8-3_encoder.vhd │ │ ├── 2bit-halfadder.vhd │ │ ├── 1bit-halfadder.vhd │ │ ├── 00_parity.vhd │ │ ├── 05_binary_to_gray.vhd │ │ ├── 8bit_4-1mux.vhd │ │ ├── 16bit-even-parity.vhd │ │ ├── 16bit-evenparity.vhd │ │ ├── 4-2_encoder.vhd │ │ ├── 8-3_encoder_.vhd │ │ ├── 4bit_hamming.vhd │ │ ├── 4-1_mux_.vhd │ │ ├── 2bit-full-adder.vhd │ │ ├── 8-to-3_encoder.vhd │ │ ├── 3-8_decoder_.vhd │ │ ├── demux_1to4.vhd │ │ ├── 8bit_encryption.vhd │ │ ├── 8bit-odd_parity.vhd │ │ ├── 16bit-odd_parity.vhd │ │ ├── 3-to-8_decoder.vhd │ │ ├── 1-4_demux_with_process.vhd │ │ ├── 16-4_encoder.vhd │ │ ├── ALU.vhd │ │ ├── 4-1mux.vhd │ │ ├── 16-to-4_encoder.vhd │ │ ├── 3-8_decoder_with_process.vhd │ │ ├── 1bit-fulladder.vhd │ │ ├── 8bit_full_adder.vhd │ │ ├── 4-16_decoder.vhd │ │ ├── 4-to-16_decoder.vhd │ │ ├── 8bit-halfadder_bit_by_bit.vhd │ │ └── encoder_decoder.md │ ├── eVeya.vhd │ ├── eParity.vhd │ ├── eHam.vhd │ ├── genel_bilgiler.md │ └── readme.md ├── readme.md └── 2_vhdl_ile_ardisil_devre_tasarimi │ ├── eSDM.vhd │ ├── eSDM2.vhd │ └── readme.md ├── 2_computer_networks_lab ├── 2_Wireless_Sensor_Networks │ ├── ağlab-ornek-rapor-MehmedEmreAkdin.pdf │ ├── Example-of-a-wireless-sensor-network-based-on-the-Berkeley-mote-platform-The-circles.png │ ├── uzem.md │ └── readme.md └── 5_Session_Initiation_Protokol-SIP │ └── readme.md └── README.md /1_computer_org_lab/readme.md: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /1_computer_org_lab/adc/adc_nedir.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyavuz610/labs_inKTU/HEAD/1_computer_org_lab/adc/adc_nedir.png -------------------------------------------------------------------------------- /1_computer_org_lab/adc/adc-sekil2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyavuz610/labs_inKTU/HEAD/1_computer_org_lab/adc/adc-sekil2.png -------------------------------------------------------------------------------- /1_computer_org_lab/adc/adc_working.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyavuz610/labs_inKTU/HEAD/1_computer_org_lab/adc/adc_working.jpg -------------------------------------------------------------------------------- /1_computer_org_lab/adc/pastexams/21g-adc.txt: -------------------------------------------------------------------------------- 1 | final|bütünleme sınavındaki sorular geçmiş yıllardaki soruların mantığında olacaktır. -------------------------------------------------------------------------------- /1_computer_org_lab/adc/pastexams/17g-adc.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyavuz610/labs_inKTU/HEAD/1_computer_org_lab/adc/pastexams/17g-adc.pdf -------------------------------------------------------------------------------- /1_computer_org_lab/adc/pastexams/18g-digiac.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyavuz610/labs_inKTU/HEAD/1_computer_org_lab/adc/pastexams/18g-digiac.png -------------------------------------------------------------------------------- /1_computer_org_lab/adc/8bit_adc_block_diagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyavuz610/labs_inKTU/HEAD/1_computer_org_lab/adc/8bit_adc_block_diagram.png -------------------------------------------------------------------------------- /1_computer_org_lab/adc/pastexams/19b-hidroelectric.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyavuz610/labs_inKTU/HEAD/1_computer_org_lab/adc/pastexams/19b-hidroelectric.png -------------------------------------------------------------------------------- /0_logic_design_lab/21-22-s_Final_Cevaplar-Sayısal-Tasarım-Lab..pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyavuz610/labs_inKTU/HEAD/0_logic_design_lab/21-22-s_Final_Cevaplar-Sayısal-Tasarım-Lab..pdf -------------------------------------------------------------------------------- /0_logic_design_lab/_vhdl_ile_devre_tasarimi/vhdl_ornek_rapor.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyavuz610/labs_inKTU/HEAD/0_logic_design_lab/_vhdl_ile_devre_tasarimi/vhdl_ornek_rapor.pdf -------------------------------------------------------------------------------- /0_logic_design_lab/21-22-s_Bütünleme_Sorular-Sayısal-Tasarım-Lab.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyavuz610/labs_inKTU/HEAD/0_logic_design_lab/21-22-s_Bütünleme_Sorular-Sayısal-Tasarım-Lab.pdf -------------------------------------------------------------------------------- /0_logic_design_lab/_vhdl_ile_devre_tasarimi/VHDL_ile_Devre_Tasarimi.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyavuz610/labs_inKTU/HEAD/0_logic_design_lab/_vhdl_ile_devre_tasarimi/VHDL_ile_Devre_Tasarimi.pdf -------------------------------------------------------------------------------- /0_logic_design_lab/_vhdl_ile_devre_tasarimi/VHDL_deney_rapor_sablonu.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyavuz610/labs_inKTU/HEAD/0_logic_design_lab/_vhdl_ile_devre_tasarimi/VHDL_deney_rapor_sablonu.pdf -------------------------------------------------------------------------------- /0_logic_design_lab/_vhdl_ile_devre_tasarimi/encoder_decoder_tutorial.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyavuz610/labs_inKTU/HEAD/0_logic_design_lab/_vhdl_ile_devre_tasarimi/encoder_decoder_tutorial.pdf -------------------------------------------------------------------------------- /1_computer_org_lab/serial_input_output/readme.md: -------------------------------------------------------------------------------- 1 | # Seri Giriş Çıkış Deneyi 2 | 3 | Bu deneyle ilgili içerikler ilerleyen zamanlarda eklenecektir. Ders web sayfasını ve yarıyıl planını takip ediniz. 4 | -------------------------------------------------------------------------------- /1_computer_org_lab/adc/pastexams/23-24-f_organizasyon-lab-final_sorular.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyavuz610/labs_inKTU/HEAD/1_computer_org_lab/adc/pastexams/23-24-f_organizasyon-lab-final_sorular.pdf -------------------------------------------------------------------------------- /0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/imgs/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyavuz610/labs_inKTU/HEAD/0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/imgs/1.jpg -------------------------------------------------------------------------------- /0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/imgs/10.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyavuz610/labs_inKTU/HEAD/0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/imgs/10.jpg -------------------------------------------------------------------------------- /0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/imgs/11.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyavuz610/labs_inKTU/HEAD/0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/imgs/11.jpg -------------------------------------------------------------------------------- /0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/imgs/12.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyavuz610/labs_inKTU/HEAD/0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/imgs/12.jpg -------------------------------------------------------------------------------- /0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/imgs/13.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyavuz610/labs_inKTU/HEAD/0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/imgs/13.jpg -------------------------------------------------------------------------------- /0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/imgs/14.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyavuz610/labs_inKTU/HEAD/0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/imgs/14.jpg -------------------------------------------------------------------------------- /0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/imgs/15.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyavuz610/labs_inKTU/HEAD/0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/imgs/15.jpg -------------------------------------------------------------------------------- /0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/imgs/16.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyavuz610/labs_inKTU/HEAD/0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/imgs/16.jpg -------------------------------------------------------------------------------- /0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/imgs/17.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyavuz610/labs_inKTU/HEAD/0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/imgs/17.jpg -------------------------------------------------------------------------------- /0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/imgs/18.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyavuz610/labs_inKTU/HEAD/0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/imgs/18.jpg -------------------------------------------------------------------------------- /0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/imgs/19.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyavuz610/labs_inKTU/HEAD/0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/imgs/19.jpg -------------------------------------------------------------------------------- /0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/imgs/2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyavuz610/labs_inKTU/HEAD/0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/imgs/2.jpg -------------------------------------------------------------------------------- /0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/imgs/20.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyavuz610/labs_inKTU/HEAD/0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/imgs/20.jpg -------------------------------------------------------------------------------- /0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/imgs/21.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyavuz610/labs_inKTU/HEAD/0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/imgs/21.jpg -------------------------------------------------------------------------------- /0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/imgs/22.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyavuz610/labs_inKTU/HEAD/0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/imgs/22.jpg -------------------------------------------------------------------------------- /0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/imgs/23.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyavuz610/labs_inKTU/HEAD/0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/imgs/23.jpg -------------------------------------------------------------------------------- /0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/imgs/3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyavuz610/labs_inKTU/HEAD/0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/imgs/3.jpg -------------------------------------------------------------------------------- /0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/imgs/4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyavuz610/labs_inKTU/HEAD/0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/imgs/4.jpg -------------------------------------------------------------------------------- /0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/imgs/5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyavuz610/labs_inKTU/HEAD/0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/imgs/5.jpg -------------------------------------------------------------------------------- /0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/imgs/6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyavuz610/labs_inKTU/HEAD/0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/imgs/6.jpg -------------------------------------------------------------------------------- /0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/imgs/7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyavuz610/labs_inKTU/HEAD/0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/imgs/7.jpg -------------------------------------------------------------------------------- /0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/imgs/8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyavuz610/labs_inKTU/HEAD/0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/imgs/8.jpg -------------------------------------------------------------------------------- /0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/imgs/9.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyavuz610/labs_inKTU/HEAD/0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/imgs/9.jpg -------------------------------------------------------------------------------- /0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/imgs/logo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyavuz610/labs_inKTU/HEAD/0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/imgs/logo.jpg -------------------------------------------------------------------------------- /2_computer_networks_lab/2_Wireless_Sensor_Networks/ağlab-ornek-rapor-MehmedEmreAkdin.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyavuz610/labs_inKTU/HEAD/2_computer_networks_lab/2_Wireless_Sensor_Networks/ağlab-ornek-rapor-MehmedEmreAkdin.pdf -------------------------------------------------------------------------------- /0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/imgs/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyavuz610/labs_inKTU/HEAD/0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/imgs/1.jpg -------------------------------------------------------------------------------- /0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/imgs/10.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyavuz610/labs_inKTU/HEAD/0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/imgs/10.jpg -------------------------------------------------------------------------------- /0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/imgs/11.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyavuz610/labs_inKTU/HEAD/0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/imgs/11.jpg -------------------------------------------------------------------------------- /0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/imgs/12.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyavuz610/labs_inKTU/HEAD/0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/imgs/12.jpg -------------------------------------------------------------------------------- /0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/imgs/13.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyavuz610/labs_inKTU/HEAD/0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/imgs/13.jpg -------------------------------------------------------------------------------- /0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/imgs/14.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyavuz610/labs_inKTU/HEAD/0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/imgs/14.jpg -------------------------------------------------------------------------------- /0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/imgs/15.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyavuz610/labs_inKTU/HEAD/0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/imgs/15.jpg -------------------------------------------------------------------------------- /0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/imgs/16.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyavuz610/labs_inKTU/HEAD/0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/imgs/16.jpg -------------------------------------------------------------------------------- /0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/imgs/17.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyavuz610/labs_inKTU/HEAD/0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/imgs/17.jpg -------------------------------------------------------------------------------- /0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/imgs/18.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyavuz610/labs_inKTU/HEAD/0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/imgs/18.jpg -------------------------------------------------------------------------------- /0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/imgs/19.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyavuz610/labs_inKTU/HEAD/0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/imgs/19.jpg -------------------------------------------------------------------------------- /0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/imgs/2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyavuz610/labs_inKTU/HEAD/0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/imgs/2.jpg -------------------------------------------------------------------------------- /0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/imgs/20.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyavuz610/labs_inKTU/HEAD/0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/imgs/20.jpg -------------------------------------------------------------------------------- /0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/imgs/21.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyavuz610/labs_inKTU/HEAD/0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/imgs/21.jpg -------------------------------------------------------------------------------- /0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/imgs/22.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyavuz610/labs_inKTU/HEAD/0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/imgs/22.jpg -------------------------------------------------------------------------------- /0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/imgs/23.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyavuz610/labs_inKTU/HEAD/0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/imgs/23.jpg -------------------------------------------------------------------------------- /0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/imgs/3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyavuz610/labs_inKTU/HEAD/0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/imgs/3.jpg -------------------------------------------------------------------------------- /0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/imgs/4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyavuz610/labs_inKTU/HEAD/0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/imgs/4.jpg -------------------------------------------------------------------------------- /0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/imgs/5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyavuz610/labs_inKTU/HEAD/0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/imgs/5.jpg -------------------------------------------------------------------------------- /0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/imgs/6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyavuz610/labs_inKTU/HEAD/0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/imgs/6.jpg -------------------------------------------------------------------------------- /0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/imgs/7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyavuz610/labs_inKTU/HEAD/0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/imgs/7.jpg -------------------------------------------------------------------------------- /0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/imgs/8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyavuz610/labs_inKTU/HEAD/0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/imgs/8.jpg -------------------------------------------------------------------------------- /0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/imgs/9.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyavuz610/labs_inKTU/HEAD/0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/imgs/9.jpg -------------------------------------------------------------------------------- /0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/imgs/logo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyavuz610/labs_inKTU/HEAD/0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/imgs/logo.jpg -------------------------------------------------------------------------------- /0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/8bit-tek-parity_ornek_rapor.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyavuz610/labs_inKTU/HEAD/0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/8bit-tek-parity_ornek_rapor.pdf -------------------------------------------------------------------------------- /0_logic_design_lab/_vhdl_ile_devre_tasarimi/sequential_circuits/parking_automation/durumdiagramı.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyavuz610/labs_inKTU/HEAD/0_logic_design_lab/_vhdl_ile_devre_tasarimi/sequential_circuits/parking_automation/durumdiagramı.jpg -------------------------------------------------------------------------------- /2_computer_networks_lab/5_Session_Initiation_Protokol-SIP/readme.md: -------------------------------------------------------------------------------- 1 | # Session Initiation Protokol(SIP) - Oturum Başlatma Protokolü 2 | * [Deneyin çalışmasına ilişkin örnek videolar](https://www.youtube.com/watch?v=dbfDuMsyf8E&list=PLcjh-_Mx3C9MfsIks6WTfeaL8q-yo70et) -------------------------------------------------------------------------------- /0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/8bit-tek-parity_ornek_rapor.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyavuz610/labs_inKTU/HEAD/0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/8bit-tek-parity_ornek_rapor.pdf -------------------------------------------------------------------------------- /0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/Or_gate.vhd: -------------------------------------------------------------------------------- 1 | Library IEEE; 2 | Use IEEE.std_logic_1164.all; 3 | 4 | Entity eOR is 5 | Port(A,B,C:in std_logic; 6 | F:out std_logic); 7 | End eOR; 8 | 9 | Architecture behv of eOR is 10 | Begin 11 | F<= A OR B OR C; 12 | End behv; 13 | -------------------------------------------------------------------------------- /0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/Or_gate.vhd: -------------------------------------------------------------------------------- 1 | Library IEEE; 2 | Use IEEE.std_logic_1164.all; 3 | 4 | Entity eOR is 5 | Port(A,B,C:in std_logic; 6 | F:out std_logic); 7 | End eOR; 8 | 9 | Architecture behv of eOR is 10 | Begin 11 | F<= A OR B OR C; 12 | End behv; 13 | -------------------------------------------------------------------------------- /2_computer_networks_lab/2_Wireless_Sensor_Networks/Example-of-a-wireless-sensor-network-based-on-the-Berkeley-mote-platform-The-circles.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyavuz610/labs_inKTU/HEAD/2_computer_networks_lab/2_Wireless_Sensor_Networks/Example-of-a-wireless-sensor-network-based-on-the-Berkeley-mote-platform-The-circles.png -------------------------------------------------------------------------------- /1_computer_org_lab/adc/pastexams/readme.md: -------------------------------------------------------------------------------- 1 | # ADC Deneyi İle İlgili Geçmiş Sınav Soruları 2 | 3 | Bu dizinde geçmiş sınav sorularına ilişkin dosyaları bulabilirsiniz. 4 | 5 | Ayrıca ders kayıtlarımın olduğu YouTube kanalında [soru çözümleri](https://www.youtube.com/watch?v=VtV3PbvS-g4&list=PLqiHvxGteAQfrdhCYt9xSmpvBvvlitO1d)ne göz atabilirsiniz. -------------------------------------------------------------------------------- /0_logic_design_lab/_vhdl_ile_devre_tasarimi/sequential_circuits/parking_automation/readme.md: -------------------------------------------------------------------------------- 1 | # Ayşe Nur Gökkaya 2 | 348402 Sayısal Tasarım Lab (2. Oturum) 3 | Otopark Giriş Sistemi 4 | 5 | ![durum diyagram](https://github.com/zyavuz610/logic_design_inKTU/blob/master/0_logic_design_lab/parking_automation/durumdiagram%C4%B1.jpg) 6 | -------------------------------------------------------------------------------- /0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/1bit-full-adder.vhd: -------------------------------------------------------------------------------- 1 | library IEEE; 2 | use IEEE.STD_LOGIC_1164.ALL; 3 | 4 | entity fulladder is 5 | Port ( A : in STD_LOGIC; 6 | B : in STD_LOGIC; 7 | Cin : in STD_LOGIC; 8 | S : out STD_LOGIC; 9 | Cout : out STD_LOGIC); 10 | end fulladder ; 11 | 12 | architecture x of fulladder is 13 | 14 | begin 15 | S <= A XOR B XOR Cin ; 16 | Cout <= (A AND B) OR (Cin AND A) OR (Cin AND B); 17 | 18 | end x; 19 | -------------------------------------------------------------------------------- /0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/1bit-full-adder.vhd: -------------------------------------------------------------------------------- 1 | library IEEE; 2 | use IEEE.STD_LOGIC_1164.ALL; 3 | 4 | entity fulladder is 5 | Port ( A : in STD_LOGIC; 6 | B : in STD_LOGIC; 7 | Cin : in STD_LOGIC; 8 | S : out STD_LOGIC; 9 | Cout : out STD_LOGIC); 10 | end fulladder ; 11 | 12 | architecture x of fulladder is 13 | 14 | begin 15 | S <= A XOR B XOR Cin ; 16 | Cout <= (A AND B) OR (Cin AND A) OR (Cin AND B); 17 | 18 | end x; 19 | -------------------------------------------------------------------------------- /0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/1-4_decoder.vhd: -------------------------------------------------------------------------------- 1 | Library IEEE; 2 | Use IEEE.std_logic_1164.all; 3 | 4 | Entity demux1_4 is 5 | Port( A : IN std_logic_vector(2 downto 0); 6 | S : IN std_logic_vector(1 downto 0); 7 | x0,x1,x2,x3:OUT std_logic_vector(2 downto 0)); 8 | End demux1_4; 9 | 10 | Architecture Behav of demux1_4 is 11 | begin 12 | x0<= A WHEN S="00" ELSE "ZZZ"; 13 | x1<= A WHEN S="01" ELSE "ZZZ"; 14 | x2<= A WHEN S="10" ELSE "ZZZ"; 15 | x3<= A WHEN S="11" ELSE "ZZZ"; 16 | End Behav; 17 | -------------------------------------------------------------------------------- /0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/1-4_decoder.vhd: -------------------------------------------------------------------------------- 1 | Library IEEE; 2 | Use IEEE.std_logic_1164.all; 3 | 4 | Entity demux1_4 is 5 | Port( A : IN std_logic_vector(2 downto 0); 6 | S : IN std_logic_vector(1 downto 0); 7 | x0,x1,x2,x3:OUT std_logic_vector(2 downto 0)); 8 | End demux1_4; 9 | 10 | Architecture Behav of demux1_4 is 11 | begin 12 | x0<= A WHEN S="00" ELSE "ZZZ"; 13 | x1<= A WHEN S="01" ELSE "ZZZ"; 14 | x2<= A WHEN S="10" ELSE "ZZZ"; 15 | x3<= A WHEN S="11" ELSE "ZZZ"; 16 | End Behav; 17 | -------------------------------------------------------------------------------- /0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/4bit-odd-parity.vhd: -------------------------------------------------------------------------------- 1 | -- VHDL ile 4 bitlik tek parity biti hesaplama 2 | -- https://youtu.be/FV6irda4HXY 3 | 4 | Library IEEE; 5 | use IEEE.STD_LOGIC_1164.ALL; 6 | 7 | entity TEKPARITY is 8 | Port( input: in STD_LOGIC_VECTOR (2 downto 0); 9 | output_tek: out STD_LOGIC_VECTOR (3 downto 0)); 10 | end TEKPARITY; 11 | 12 | architecture Behv of TEKPARITY is 13 | signal temp: std_logic:= '0'; 14 | begin 15 | temp <= input(0) xor input(1) xor input(2); 16 | output_tek<= input & not temp; 17 | end Behv; 18 | -------------------------------------------------------------------------------- /0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/8-3_encoder.vhd: -------------------------------------------------------------------------------- 1 | -- Hazırlayan: Ahmetcan İrdem 2 | -- https://drive.google.com/file/d/1mgIHeIrYdjCY3UJSFHJ02hqiSWuxPBbd/view 3 | 4 | Library IEEE; 5 | Use IEEE.std_logic_1164.all; 6 | 7 | Entity encoder is 8 | Port ( a: in std_logic_vector(7 downto 0); 9 | f: out std_logic_vector(2 downto 0)); 10 | end encoder; 11 | 12 | Architecture Behv of encoder is 13 | Begin 14 | f(0) <= a(1) or a(3) or a(5) or a(7); 15 | f(1) <= a(2) or a(3) or a(6) or a(7); 16 | f(2) <= a(4) or a(5) or a(6) or a(7); 17 | End Behv; 18 | -------------------------------------------------------------------------------- /0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/2bit-halfadder.vhd: -------------------------------------------------------------------------------- 1 | library IEEE; 2 | use IEEE.STD_LOGIC_1164.ALL; 3 | 4 | entity tb_halfadder is 5 | port( A0, A1: in std_logic; 6 | B0, B1: in std_logic; 7 | S0, S1, C: out std_logic); 8 | end tb_halfadder; 9 | 10 | 11 | architecture Behv of tb_halfadder is 12 | signal k0, k1, k2, k3: std_logic; 13 | 14 | Begin 15 | S0 <= A0 xor B0; 16 | k0 <= A0 and B0; 17 | k1 <= A1 xor B1; 18 | k2 <= A1 and B1; 19 | S1 <= k0 xor k1; 20 | k3 <= k0 and k1; 21 | C <= k2 or k3; 22 | end Behv; 23 | -------------------------------------------------------------------------------- /0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/1bit-halfadder.vhd: -------------------------------------------------------------------------------- 1 | -- https://drive.google.com/file/d/1yJ2c1h6rD48aEKQZqutL85Zjug3DuLc-/view 2 | 3 | Library IEEE; 4 | Use IEEE.STD_LOGIC_1164.ALL; 5 | Entity HALF_ADDER is 6 | Port ( giris1 : in STD_LOGIC; 7 | giris2 : in STD_LOGIC; 8 | toplam : out STD_LOGIC; 9 | elde : out STD_LOGIC); 10 | End HALF_ADDER; 11 | 12 | Architecture Behavioral of HALF_ADDER is 13 | Begin 14 | toplam <= giris1 XOR giris2; 15 | elde <= giris1 AND giris2; 16 | End Behavioral; 17 | -------------------------------------------------------------------------------- /0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/4bit-odd-parity.vhd: -------------------------------------------------------------------------------- 1 | -- VHDL ile 4 bitlik tek parity biti hesaplama 2 | -- https://youtu.be/FV6irda4HXY 3 | 4 | Library IEEE; 5 | use IEEE.STD_LOGIC_1164.ALL; 6 | 7 | entity TEKPARITY is 8 | Port( input: in STD_LOGIC_VECTOR (2 downto 0); 9 | output_tek: out STD_LOGIC_VECTOR (3 downto 0)); 10 | end TEKPARITY; 11 | 12 | architecture Behv of TEKPARITY is 13 | signal temp: std_logic:= '0'; 14 | begin 15 | temp <= input(0) xor input(1) xor input(2); 16 | output_tek<= input & not temp; 17 | end Behv; 18 | -------------------------------------------------------------------------------- /0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/8-3_encoder.vhd: -------------------------------------------------------------------------------- 1 | -- Hazırlayan: Ahmetcan İrdem 2 | -- https://drive.google.com/file/d/1mgIHeIrYdjCY3UJSFHJ02hqiSWuxPBbd/view 3 | 4 | Library IEEE; 5 | Use IEEE.std_logic_1164.all; 6 | 7 | Entity encoder is 8 | Port ( a: in std_logic_vector(7 downto 0); 9 | f: out std_logic_vector(2 downto 0)); 10 | end encoder; 11 | 12 | Architecture Behv of encoder is 13 | Begin 14 | f(0) <= a(1) or a(3) or a(5) or a(7); 15 | f(1) <= a(2) or a(3) or a(6) or a(7); 16 | f(2) <= a(4) or a(5) or a(6) or a(7); 17 | End Behv; 18 | -------------------------------------------------------------------------------- /0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/2bit-halfadder.vhd: -------------------------------------------------------------------------------- 1 | library IEEE; 2 | use IEEE.STD_LOGIC_1164.ALL; 3 | 4 | entity tb_halfadder is 5 | port( A0, A1: in std_logic; 6 | B0, B1: in std_logic; 7 | S0, S1, C: out std_logic); 8 | end tb_halfadder; 9 | 10 | 11 | architecture Behv of tb_halfadder is 12 | signal k0, k1, k2, k3: std_logic; 13 | 14 | Begin 15 | S0 <= A0 xor B0; 16 | k0 <= A0 and B0; 17 | k1 <= A1 xor B1; 18 | k2 <= A1 and B1; 19 | S1 <= k0 xor k1; 20 | k3 <= k0 and k1; 21 | C <= k2 or k3; 22 | end Behv; 23 | -------------------------------------------------------------------------------- /0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/1bit-halfadder.vhd: -------------------------------------------------------------------------------- 1 | -- https://drive.google.com/file/d/1yJ2c1h6rD48aEKQZqutL85Zjug3DuLc-/view 2 | 3 | Library IEEE; 4 | Use IEEE.STD_LOGIC_1164.ALL; 5 | Entity HALF_ADDER is 6 | Port ( giris1 : in STD_LOGIC; 7 | giris2 : in STD_LOGIC; 8 | toplam : out STD_LOGIC; 9 | elde : out STD_LOGIC); 10 | End HALF_ADDER; 11 | 12 | Architecture Behavioral of HALF_ADDER is 13 | Begin 14 | toplam <= giris1 XOR giris2; 15 | elde <= giris1 AND giris2; 16 | End Behavioral; 17 | -------------------------------------------------------------------------------- /0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/00_parity.vhd: -------------------------------------------------------------------------------- 1 | -- Emra Kurşun 2 | -- https://www.youtube.com/watch?v=Hc-CZ5s01u0&index=10&list=PLcjh-_Mx3C9Ozs5U6qc2idUcsnTP5UyEq 3 | Library IEEE; 4 | Use IEEE.std_logic_1164.all; 5 | 6 | Entity eB is 7 | Port(aVec:in std_logic_vector(6 downto 0); 8 | bVec:out std_logic_vector(7 downto 0)); 9 | End Entity; 10 | 11 | Architecture mimari of eB is 12 | signal eslik: std_logic; 13 | Begin 14 | 15 | eslik <= aVec(0) xor aVec(1) xor aVec(2) xor aVec(3) xor aVec(4) xor aVec(5) xor aVec(6); 16 | bVec <= aVec & eslik; 17 | 18 | End mimari; 19 | -------------------------------------------------------------------------------- /0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/00_parity.vhd: -------------------------------------------------------------------------------- 1 | -- Emra Kurşun 2 | -- https://www.youtube.com/watch?v=Hc-CZ5s01u0&index=10&list=PLcjh-_Mx3C9Ozs5U6qc2idUcsnTP5UyEq 3 | Library IEEE; 4 | Use IEEE.std_logic_1164.all; 5 | 6 | Entity eB is 7 | Port(aVec:in std_logic_vector(6 downto 0); 8 | bVec:out std_logic_vector(7 downto 0)); 9 | End Entity; 10 | 11 | Architecture mimari of eB is 12 | signal eslik: std_logic; 13 | Begin 14 | 15 | eslik <= aVec(0) xor aVec(1) xor aVec(2) xor aVec(3) xor aVec(4) xor aVec(5) xor aVec(6); 16 | bVec <= aVec & eslik; 17 | 18 | End mimari; 19 | -------------------------------------------------------------------------------- /0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/05_binary_to_gray.vhd: -------------------------------------------------------------------------------- 1 | -- Hazırlayan: Furkan Yankaç 2 | -- https://www.youtube.com/watch?v=Ey_HSrS6UQ0&index=18&list=PLcjh-_Mx3C9Ozs5U6qc2idUcsnTP5UyEq 3 | 4 | library ieee; 5 | use ieee.std_logic_1164.all; 6 | 7 | entity grayCode is 8 | port ( input :in std_logic_vector(3 downto 0); 9 | output:out std_logic_vector(3 downto 0)); 10 | end grayCode; 11 | 12 | architecture Behv of grayCode is 13 | begin 14 | output(3) <=input(3); 15 | output(2) <=input(3) xor input(2); 16 | output(1) <=input(2) xor input(1); 17 | output(0) <=input(1) xor input(0); 18 | end Behv; 19 | -------------------------------------------------------------------------------- /0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/05_binary_to_gray.vhd: -------------------------------------------------------------------------------- 1 | -- Hazırlayan: Furkan Yankaç 2 | -- https://www.youtube.com/watch?v=Ey_HSrS6UQ0&index=18&list=PLcjh-_Mx3C9Ozs5U6qc2idUcsnTP5UyEq 3 | 4 | library ieee; 5 | use ieee.std_logic_1164.all; 6 | 7 | entity grayCode is 8 | port ( input :in std_logic_vector(3 downto 0); 9 | output:out std_logic_vector(3 downto 0)); 10 | end grayCode; 11 | 12 | architecture Behv of grayCode is 13 | begin 14 | output(3) <=input(3); 15 | output(2) <=input(3) xor input(2); 16 | output(1) <=input(2) xor input(1); 17 | output(0) <=input(1) xor input(0); 18 | end Behv; 19 | -------------------------------------------------------------------------------- /0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/8bit_4-1mux.vhd: -------------------------------------------------------------------------------- 1 | -- https://drive.google.com/file/d/1_s5Pc6CZx9t4D49sxm_ZgxUBqsy2plc2/view 2 | library IEEE; 3 | use IEEE.STD_LOGIC_1164.all; 4 | entity MUX is 5 | port( 6 | F: out STD_LOGIC_VECTOR(7 downto 0); 7 | S: in STD_LOGIC_VECTOR(1 downto 0); 8 | A,B,C,D: in STD_LOGIC_VECTOR(7 downto 0) 9 | ); 10 | end MUX; 11 | 12 | architecture behv of MUX is 13 | begin 14 | process (A,B,C,D,S) is 15 | begin 16 | if (S ="00") then 17 | F <= A; 18 | elsif (S ="01") then 19 | F <= B; 20 | elsif (S="10") then 21 | F <= C; 22 | else 23 | F <= D; 24 | end if;end process; 25 | end behv; 26 | -------------------------------------------------------------------------------- /0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/8bit_4-1mux.vhd: -------------------------------------------------------------------------------- 1 | -- https://drive.google.com/file/d/1_s5Pc6CZx9t4D49sxm_ZgxUBqsy2plc2/view 2 | library IEEE; 3 | use IEEE.STD_LOGIC_1164.all; 4 | entity MUX is 5 | port( 6 | F: out STD_LOGIC_VECTOR(7 downto 0); 7 | S: in STD_LOGIC_VECTOR(1 downto 0); 8 | A,B,C,D: in STD_LOGIC_VECTOR(7 downto 0) 9 | ); 10 | end MUX; 11 | 12 | architecture behv of MUX is 13 | begin 14 | process (A,B,C,D,S) is 15 | begin 16 | if (S ="00") then 17 | F <= A; 18 | elsif (S ="01") then 19 | F <= B; 20 | elsif (S="10") then 21 | F <= C; 22 | else 23 | F <= D; 24 | end if;end process; 25 | end behv; 26 | -------------------------------------------------------------------------------- /0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/16bit-even-parity.vhd: -------------------------------------------------------------------------------- 1 | -- youtube.com/watch?v=LK59IfoWFJk 2 | 3 | Library IEEE; 4 | Use Ieee.std_logic_1164.all; 5 | 6 | Entity Parity is 7 | Port(giris: in std_logic_vector(14 downto 0); 8 | cikis: out std_logic_vector(15 downto 0)); 9 | End Parity; 10 | 11 | Architecture Behv of Parity is 12 | signal eslik_biti: std_logic; 13 | Begin 14 | eslik_biti <= giris(0) xor giris(1) xor giris(2) xor giris(3) xor giris(4) xor giris(5) xor 15 | giris(6) xor giris(7) xor giris(8) xor giris(9) xor giris(10) xor giris(11) xor 16 | giris(12) xor giris(13) xor giris(14); 17 | cikis <= giris & eslik_biti; 18 | End Behv; 19 | -------------------------------------------------------------------------------- /0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/16bit-evenparity.vhd: -------------------------------------------------------------------------------- 1 | -- https://www.youtube.com/watch?v=3FerDYikoOI 2 | 3 | Library IEEE; 4 | Use IEEE.std_logic_1164.all; 5 | Use IEEE.std_logic_arith.all; 6 | Use IEEE.std_logic_unsigned.all; 7 | 8 | Entity eEslik is 9 | 10 | Port( A:in std_logic_vector(15 downto 0):="1111111111111110"; 11 | cP:out std_logic; 12 | tP:out std_logic); 13 | 14 | End eEslik; 15 | 16 | Architecture Behv of eEslik is 17 | Signal p:std_logic; 18 | Begin 19 | p<= A(0) xor A(1) xor A(2) xor A(3) xor A(4) xor A(5) xor A(6) xor A(7) xor A(8) xor A(9) xor A(10) xor A(11) 20 | xor A(12) xor A(13) xor A(14) xor A(15); 21 | tP<=p; 22 | cP<=not(p); 23 | End Behv; 24 | -------------------------------------------------------------------------------- /0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/eVeya.vhd: -------------------------------------------------------------------------------- 1 | ------------------------------------------------ 2 | -- Veya kapısı 3 | -- standart 3 adet girişi olan VEYA kapısı tasarımı 4 | -- Giris(ler): a,b,c 5 | -- Çıkış(lar): f 6 | -- ödev olarak eAnd (3 girişli) 7 | ------------------------------------------------ 8 | library IEEE; 9 | use IEEE.std_logic_1164.all; 10 | 11 | -- eVeya, tasarlanan devre elmanının adı 12 | Entity eVeya is 13 | Port ( 14 | a: in std_logic; 15 | b: in std_logic; 16 | c: in std_logic; 17 | f: out std_logic 18 | ); 19 | end eVeya; 20 | 21 | architecture eVeya_Behv of eVeya is 22 | Signal s: std_logic; 23 | Begin 24 | s <= a or b; 25 | f <= s or c; 26 | End eVeya_Behv; -------------------------------------------------------------------------------- /0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/16bit-even-parity.vhd: -------------------------------------------------------------------------------- 1 | -- youtube.com/watch?v=LK59IfoWFJk 2 | 3 | Library IEEE; 4 | Use Ieee.std_logic_1164.all; 5 | 6 | Entity Parity is 7 | Port(giris: in std_logic_vector(14 downto 0); 8 | cikis: out std_logic_vector(15 downto 0)); 9 | End Parity; 10 | 11 | Architecture Behv of Parity is 12 | signal eslik_biti: std_logic; 13 | Begin 14 | eslik_biti <= giris(0) xor giris(1) xor giris(2) xor giris(3) xor giris(4) xor giris(5) xor 15 | giris(6) xor giris(7) xor giris(8) xor giris(9) xor giris(10) xor giris(11) xor 16 | giris(12) xor giris(13) xor giris(14); 17 | cikis <= giris & eslik_biti; 18 | End Behv; 19 | -------------------------------------------------------------------------------- /0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/16bit-evenparity.vhd: -------------------------------------------------------------------------------- 1 | -- https://www.youtube.com/watch?v=3FerDYikoOI 2 | 3 | Library IEEE; 4 | Use IEEE.std_logic_1164.all; 5 | Use IEEE.std_logic_arith.all; 6 | Use IEEE.std_logic_unsigned.all; 7 | 8 | Entity eEslik is 9 | 10 | Port( A:in std_logic_vector(15 downto 0):="1111111111111110"; 11 | cP:out std_logic; 12 | tP:out std_logic); 13 | 14 | End eEslik; 15 | 16 | Architecture Behv of eEslik is 17 | Signal p:std_logic; 18 | Begin 19 | p<= A(0) xor A(1) xor A(2) xor A(3) xor A(4) xor A(5) xor A(6) xor A(7) xor A(8) xor A(9) xor A(10) xor A(11) 20 | xor A(12) xor A(13) xor A(14) xor A(15); 21 | tP<=p; 22 | cP<=not(p); 23 | End Behv; 24 | -------------------------------------------------------------------------------- /0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/4-2_encoder.vhd: -------------------------------------------------------------------------------- 1 | --BETÜL DOĞANPINAR 2 | --4to2 encoder tasarımı 3 | 4 | 5 | Library IEEE; 6 | Use IEEE.std_logic_1164.all; 7 | 8 | Entity ee42 is 9 | Port( input: in std_logic_vector ( 3 downto 0); 10 | output: out std_logic_vector ( 1 downto 0)); 11 | End ee42; 12 | 13 | Architecture Behv of ee42 is 14 | Begin 15 | output <= "11" when input(3) ='1' else 16 | "10" when input(2) ='1' else 17 | "01" when input(1) ='1' else 18 | "00" when input(0) ='1' else 19 | "00"; 20 | 21 | End Behv ; 22 | -------------------------------------------------------------------------------- /0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/4-2_encoder.vhd: -------------------------------------------------------------------------------- 1 | --BETÜL DOĞANPINAR 2 | --4to2 encoder tasarımı 3 | 4 | 5 | Library IEEE; 6 | Use IEEE.std_logic_1164.all; 7 | 8 | Entity ee42 is 9 | Port( input: in std_logic_vector ( 3 downto 0); 10 | output: out std_logic_vector ( 1 downto 0)); 11 | End ee42; 12 | 13 | Architecture Behv of ee42 is 14 | Begin 15 | output <= "11" when input(3) ='1' else 16 | "10" when input(2) ='1' else 17 | "01" when input(1) ='1' else 18 | "00" when input(0) ='1' else 19 | "00"; 20 | 21 | End Behv ; 22 | -------------------------------------------------------------------------------- /0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/8-3_encoder_.vhd: -------------------------------------------------------------------------------- 1 | --348298 - Abdullah Eren Yavan 2 | -- https://www.youtube.com/watch?v=yohCqAE8xTI 3 | 4 | Library IEEE; 5 | Use IEEE.std_logic_1164.all; 6 | 7 | Entity Encoder8to3 is 8 | Port(input:in std_logic_vector(7 downto 0); 9 | output:out std_logic_vector(2 downto 0)); 10 | 11 | end Encoder8to3; 12 | 13 | 14 | Architecture Behv of Encoder8to3 is 15 | Begin 16 | 17 | output <= "111" when input(7)='1'else 18 | "110" when input(6)='1'else 19 | "101" when input(5)='1'else 20 | "100" when input(4)='1'else 21 | "011" when input(3)='1'else 22 | "010" when input(2)='1'else 23 | "001" when input(1)='1'else 24 | "000" when input(0)='1'; 25 | end Behv; 26 | -------------------------------------------------------------------------------- /0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/4bit_hamming.vhd: -------------------------------------------------------------------------------- 1 | -- Hazirlayan: Orkhan Aliyev 2 | -- https://youtu.be/j8uayRSAie4 3 | 4 | library ieee; 5 | use ieee.std_logic_1164.all; 6 | 7 | entity hamming is 8 | port(input : in std_logic_vector(0 TO 3); -- i0 i1 i2 i3 9 | output : out std_logic_vector(0 TO 6));-- p1 p2 p4 i0 i1 i2 i3 10 | end hamming; 11 | 12 | architecture Behv of hamming is 13 | 14 | signal p1, p2, p4 : std_logic; --eslik bitleri 15 | 16 | begin 17 | 18 | p1 <= (input(0) xor input(1)) xor input(3); 19 | p2 <= (input(0) xor input(2)) xor input(3); 20 | p4 <= (input(1) xor input(2)) xor input(3); 21 | 22 | 23 | output(0 TO 2) <= (p1, p2, p4); 24 | output(3 TO 6) <= input(0 TO 3); 25 | 26 | end Behv; 27 | -------------------------------------------------------------------------------- /0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/8-3_encoder_.vhd: -------------------------------------------------------------------------------- 1 | --348298 - Abdullah Eren Yavan 2 | -- https://www.youtube.com/watch?v=yohCqAE8xTI 3 | 4 | Library IEEE; 5 | Use IEEE.std_logic_1164.all; 6 | 7 | Entity Encoder8to3 is 8 | Port(input:in std_logic_vector(7 downto 0); 9 | output:out std_logic_vector(2 downto 0)); 10 | 11 | end Encoder8to3; 12 | 13 | 14 | Architecture Behv of Encoder8to3 is 15 | Begin 16 | 17 | output <= "111" when input(7)='1'else 18 | "110" when input(6)='1'else 19 | "101" when input(5)='1'else 20 | "100" when input(4)='1'else 21 | "011" when input(3)='1'else 22 | "010" when input(2)='1'else 23 | "001" when input(1)='1'else 24 | "000" when input(0)='1'; 25 | end Behv; 26 | -------------------------------------------------------------------------------- /0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/4bit_hamming.vhd: -------------------------------------------------------------------------------- 1 | -- Hazirlayan: Orkhan Aliyev 2 | -- https://youtu.be/j8uayRSAie4 3 | 4 | library ieee; 5 | use ieee.std_logic_1164.all; 6 | 7 | entity hamming is 8 | port(input : in std_logic_vector(0 TO 3); -- i0 i1 i2 i3 9 | output : out std_logic_vector(0 TO 6));-- p1 p2 p4 i0 i1 i2 i3 10 | end hamming; 11 | 12 | architecture Behv of hamming is 13 | 14 | signal p1, p2, p4 : std_logic; --eslik bitleri 15 | 16 | begin 17 | 18 | p1 <= (input(0) xor input(1)) xor input(3); 19 | p2 <= (input(0) xor input(2)) xor input(3); 20 | p4 <= (input(1) xor input(2)) xor input(3); 21 | 22 | 23 | output(0 TO 2) <= (p1, p2, p4); 24 | output(3 TO 6) <= input(0 TO 3); 25 | 26 | end Behv; 27 | -------------------------------------------------------------------------------- /1_computer_org_lab/adc/readme.md: -------------------------------------------------------------------------------- 1 | # Analog-Sayısal Dönüştürücü (ADC) Deneyi 2 | 3 | "**adc**" dizini KTÜ Bilgisayar Mühendisliği Bölümünde Bilgisayar Organizasyonu Lab. dersinde bulunan Analog-Sayısal Dönüştürücü (ADC) deneyine ilişkin paylaşımları içerir. 4 | 5 | Deneyin ana içeriği [buradan](https://github.com/zyavuz610/labs_inKTU/blob/master/1_computer_org_lab/adc/analog_digital_converter(ADC).ipynb) erişebileceğiniz **Jypiter Notebook** dosyasıdır. 6 | 7 | 8 | ## Geçmiş Yıllara İlişkin Kaynaklar 9 | - [Geçmiş sınav soru örnekleri](https://github.com/zyavuz610/labs_inKTU/tree/master/1_computer_org_lab/adc/pastexams) (2017, 2018, 2019, 2020, 2021, 2023) 10 | - [2021 yılı final sorusunun video çözümü](https://www.youtube.com/watch?v=Ju-KzXAd2ZQ) 11 | 12 | --- 13 | 14 | _Dr. Zafer Yavuz_ 15 | 16 | -------------------------------------------------------------------------------- /0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/4-1_mux_.vhd: -------------------------------------------------------------------------------- 1 | -- 3 bit girisli 4-1 Mux Devresinin VHDL ile tasarlanmasi 2 | -- https://www.youtube.com/watch?v=XBKXsvCVHXU&feature=youtu.be 3 | 4 | Library IEEE; 5 | Use IEEE.std_logic_1164.all; 6 | 7 | Entity mux4_1 IS 8 | 9 | Port(A,B,C,D: IN std_logic_vector(2 downto 0); 10 | S: IN std_logic_vector(1 downto 0); 11 | X: OUT std_logic_vector(2 downto 0)); 12 | 13 | End Entity; 14 | 15 | Architecture Behv of mux4_1 IS 16 | 17 | Begin 18 | 19 | with(S) Select 20 | X<= A when "00","ZZZ" when others; 21 | 22 | with(S) Select 23 | x<= B when "01","ZZZ" when others; 24 | 25 | with(S) Select 26 | x<= C when "10","ZZZ" when others; 27 | 28 | with(S) Select 29 | x<= D when "11","ZZZ" when others; 30 | 31 | End Architecture; 32 | -------------------------------------------------------------------------------- /0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/4-1_mux_.vhd: -------------------------------------------------------------------------------- 1 | -- 3 bit girisli 4-1 Mux Devresinin VHDL ile tasarlanmasi 2 | -- https://www.youtube.com/watch?v=XBKXsvCVHXU&feature=youtu.be 3 | 4 | Library IEEE; 5 | Use IEEE.std_logic_1164.all; 6 | 7 | Entity mux4_1 IS 8 | 9 | Port(A,B,C,D: IN std_logic_vector(2 downto 0); 10 | S: IN std_logic_vector(1 downto 0); 11 | X: OUT std_logic_vector(2 downto 0)); 12 | 13 | End Entity; 14 | 15 | Architecture Behv of mux4_1 IS 16 | 17 | Begin 18 | 19 | with(S) Select 20 | X<= A when "00","ZZZ" when others; 21 | 22 | with(S) Select 23 | x<= B when "01","ZZZ" when others; 24 | 25 | with(S) Select 26 | x<= C when "10","ZZZ" when others; 27 | 28 | with(S) Select 29 | x<= D when "11","ZZZ" when others; 30 | 31 | End Architecture; 32 | -------------------------------------------------------------------------------- /0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/2bit-full-adder.vhd: -------------------------------------------------------------------------------- 1 | --Gizem Duman 365236 2 | --2 bit fulladder 3 | -- https://www.youtube.com/watch?v=yER67Qyc0Mg 4 | 5 | library ieee; 6 | use ieee.std_logic_1164.all; 7 | 8 | entity fulladder is 9 | port( 10 | A: in std_logic_vector(1 downto 0); 11 | B: in std_logic_vector(1 downto 0); 12 | S: out std_logic_vector(1 downto 0); 13 | Cin: in std_logic); 14 | end fulladder; 15 | 16 | architecture Behavioral of fulladder is 17 | signal Cout:std_logic_vector(1 downto 0):="00"; 18 | 19 | begin 20 | 21 | S(0) <= A(0) XOR B(0) XOR Cin; 22 | Cout(0) <=(A(0) AND B(0)) OR (Cin AND A(0)) OR (Cin AND B(0)); 23 | S(1) <= A(1) XOR B(1) XOR Cout(0); 24 | Cout(1) <=(A(1) AND B(1)) OR (Cout(0) AND A(1)) OR (Cout(0) AND B(1)); 25 | 26 | end Behavioral; 27 | -------------------------------------------------------------------------------- /0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/8-to-3_encoder.vhd: -------------------------------------------------------------------------------- 1 | -- Hazırlayan: Aleyna Özbek 2 | -- https://www.youtube.com/watch?v=Zwku31DfQkM&list=PLcjh-_Mx3C9Ozs5U6qc2idUcsnTP5UyEq&index=2 3 | 4 | Library IEEE; 5 | Use IEEE.std_logic_1164.all; 6 | 7 | Entity E8_3encoder is 8 | Port(input:in std_logic_vector(7 downto 0); 9 | output:out std_logic_vector(2 downto 0)); 10 | 11 | end E8_3encoder; 12 | 13 | 14 | Architecture Behv of E8_3encoder is 15 | Begin 16 | output<="111" when input(7)='1'else 17 | "110" when input(6)='1'else 18 | "101" when input(5)='1'else 19 | "100" when input(4)='1'else 20 | "011" when input(3)='1'else 21 | "010" when input(2)='1'else 22 | "001" when input(1)='1'else 23 | "000" when input(0)='1'else 24 | "000"; 25 | 26 | end Behv; 27 | -------------------------------------------------------------------------------- /0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/2bit-full-adder.vhd: -------------------------------------------------------------------------------- 1 | --Gizem Duman 365236 2 | --2 bit fulladder 3 | -- https://www.youtube.com/watch?v=yER67Qyc0Mg 4 | 5 | library ieee; 6 | use ieee.std_logic_1164.all; 7 | 8 | entity fulladder is 9 | port( 10 | A: in std_logic_vector(1 downto 0); 11 | B: in std_logic_vector(1 downto 0); 12 | S: out std_logic_vector(1 downto 0); 13 | Cin: in std_logic); 14 | end fulladder; 15 | 16 | architecture Behavioral of fulladder is 17 | signal Cout:std_logic_vector(1 downto 0):="00"; 18 | 19 | begin 20 | 21 | S(0) <= A(0) XOR B(0) XOR Cin; 22 | Cout(0) <=(A(0) AND B(0)) OR (Cin AND A(0)) OR (Cin AND B(0)); 23 | S(1) <= A(1) XOR B(1) XOR Cout(0); 24 | Cout(1) <=(A(1) AND B(1)) OR (Cout(0) AND A(1)) OR (Cout(0) AND B(1)); 25 | 26 | end Behavioral; 27 | -------------------------------------------------------------------------------- /0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/8-to-3_encoder.vhd: -------------------------------------------------------------------------------- 1 | -- Hazırlayan: Aleyna Özbek 2 | -- https://www.youtube.com/watch?v=Zwku31DfQkM&list=PLcjh-_Mx3C9Ozs5U6qc2idUcsnTP5UyEq&index=2 3 | 4 | Library IEEE; 5 | Use IEEE.std_logic_1164.all; 6 | 7 | Entity E8_3encoder is 8 | Port(input:in std_logic_vector(7 downto 0); 9 | output:out std_logic_vector(2 downto 0)); 10 | 11 | end E8_3encoder; 12 | 13 | 14 | Architecture Behv of E8_3encoder is 15 | Begin 16 | output<="111" when input(7)='1'else 17 | "110" when input(6)='1'else 18 | "101" when input(5)='1'else 19 | "100" when input(4)='1'else 20 | "011" when input(3)='1'else 21 | "010" when input(2)='1'else 22 | "001" when input(1)='1'else 23 | "000" when input(0)='1'else 24 | "000"; 25 | 26 | end Behv; 27 | -------------------------------------------------------------------------------- /0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/3-8_decoder_.vhd: -------------------------------------------------------------------------------- 1 | -- https://www.youtube.com/watch?v=q0GYY19v7Yw&feature=youtu.be 2 | 3 | Library ieee; 4 | Use ieee.std_logic_1164.all; 5 | 6 | Entity decoder is 7 | Port(a: in std_logic_vector(2 downto 0); 8 | f: out std_logic_vector(7 downto 0) ); 9 | 10 | end decoder; 11 | 12 | Architecture Behv of decoder is 13 | 14 | Begin 15 | 16 | f(0) <= (not a(2)) and (not a(1)) and (not a(0)); 17 | f(1) <= (not a(2)) and (not a(1)) and a(0); 18 | f(2) <= (not a(2)) and a(1) and (not a(0)); 19 | f(3) <= (not a(2)) and a(1) and a(0); 20 | f(4) <= a(2) and (not a(1)) and (not a(0)); 21 | f(5) <= a(2) and (not a(1)) and a(0); 22 | f(6) <= a(2) and a(1) and (not a(0)); 23 | f(7) <= a(2) and a(1) and a(0); 24 | 25 | end Behv; 26 | 27 | --Hazirlayan : Halil Ibrahim Tirgil 28 | -------------------------------------------------------------------------------- /0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/demux_1to4.vhd: -------------------------------------------------------------------------------- 1 | --------------DEMUX 1X4 with 4bit inputs VHDL code------------------ 2 | -------------Adem Çapan--------------------------------------------- 3 | -- https://www.youtube.com/watch?v=ZYhfQLl9ALM 4 | 5 | Library IEEE; 6 | use IEEE.std_logic_1164.all; 7 | 8 | Entity demux_1to4 IS 9 | PORT(I: in std_logic_vector(3 downto 0); 10 | Sel: in std_logic_vector(1 downto 0); 11 | W,X,Y,Z: out std_logic_vector(3 downto 0)); 12 | end Entity; 13 | 14 | 15 | Architecture Behaviour of demux_1to4 IS 16 | 17 | Begin 18 | with(Sel) Select 19 | W<=I when "00","ZZZZ" when others; 20 | with(Sel) Select 21 | X<=I when "01","ZZZZ" when others; 22 | with(Sel) Select 23 | Y<=I when "10","ZZZZ" when others; 24 | with(Sel) Select 25 | Z<=I when "11","ZZZZ" when others; 26 | end Architecture; 27 | -------------------------------------------------------------------------------- /0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/3-8_decoder_.vhd: -------------------------------------------------------------------------------- 1 | -- https://www.youtube.com/watch?v=q0GYY19v7Yw&feature=youtu.be 2 | 3 | Library ieee; 4 | Use ieee.std_logic_1164.all; 5 | 6 | Entity decoder is 7 | Port(a: in std_logic_vector(2 downto 0); 8 | f: out std_logic_vector(7 downto 0) ); 9 | 10 | end decoder; 11 | 12 | Architecture Behv of decoder is 13 | 14 | Begin 15 | 16 | f(0) <= (not a(2)) and (not a(1)) and (not a(0)); 17 | f(1) <= (not a(2)) and (not a(1)) and a(0); 18 | f(2) <= (not a(2)) and a(1) and (not a(0)); 19 | f(3) <= (not a(2)) and a(1) and a(0); 20 | f(4) <= a(2) and (not a(1)) and (not a(0)); 21 | f(5) <= a(2) and (not a(1)) and a(0); 22 | f(6) <= a(2) and a(1) and (not a(0)); 23 | f(7) <= a(2) and a(1) and a(0); 24 | 25 | end Behv; 26 | 27 | --Hazirlayan : Halil Ibrahim Tirgil 28 | -------------------------------------------------------------------------------- /0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/demux_1to4.vhd: -------------------------------------------------------------------------------- 1 | --------------DEMUX 1X4 with 4bit inputs VHDL code------------------ 2 | -------------Adem Çapan--------------------------------------------- 3 | -- https://www.youtube.com/watch?v=ZYhfQLl9ALM 4 | 5 | Library IEEE; 6 | use IEEE.std_logic_1164.all; 7 | 8 | Entity demux_1to4 IS 9 | PORT(I: in std_logic_vector(3 downto 0); 10 | Sel: in std_logic_vector(1 downto 0); 11 | W,X,Y,Z: out std_logic_vector(3 downto 0)); 12 | end Entity; 13 | 14 | 15 | Architecture Behaviour of demux_1to4 IS 16 | 17 | Begin 18 | with(Sel) Select 19 | W<=I when "00","ZZZZ" when others; 20 | with(Sel) Select 21 | X<=I when "01","ZZZZ" when others; 22 | with(Sel) Select 23 | Y<=I when "10","ZZZZ" when others; 24 | with(Sel) Select 25 | Z<=I when "11","ZZZZ" when others; 26 | end Architecture; 27 | -------------------------------------------------------------------------------- /0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/eParity.vhd: -------------------------------------------------------------------------------- 1 | --------------------------------------------- 2 | -- çift Parity biti 3 | -- standart 7 bit girişli 8 bit çikışlı çift parity kodlayıcı 4 | -- Giris(ler): aVec (7 bit) 5 | -- Cikis(lar): fVec (8 bit), 8. bit parity 6 | -- ödev: tek parity 7 | --------------------------------------------- 8 | Library IEEE; 9 | Use IEEE.std_logic_1164.all; 10 | 11 | Entity eParity is 12 | Port( 13 | aVec: in std_logic_vector(6 downto 0); -- 7 bit giriş 14 | fVec: out std_logic_vector(7 downto 0) -- 8 bit çıkış 15 | ); 16 | End Entity; 17 | 18 | Architecture Arch_parity of eParity is 19 | Signal p: std_logic; 20 | Begin 21 | p <= aVec(0) xor aVec(1) xor aVec(2) xor aVec(3) xor aVec(4) xor aVec(5) xor aVec(6); 22 | -- (1) 100 0000 -> 23 | fVec <= aVec & p; -- concat 24 | End Arch_parity; -------------------------------------------------------------------------------- /0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/8bit_encryption.vhd: -------------------------------------------------------------------------------- 1 | -- selim yalçınkaya 2 | -- https://youtu.be/GqUdx0SY8SY 3 | 4 | Library IEEE, STD; 5 | Use IEEE.std_logic_1164.all; 6 | Use IEEE.std_logic_unsigned.all; 7 | Use IEEE.std_logic_arith.all; 8 | 9 | Entity eKapi is 10 | Port ( 11 | anahtar: in std_logic_vector(7 downto 0); 12 | giris: in std_logic_vector(7 downto 0); 13 | saat: in std_logic; 14 | cikis: out std_logic_vector(7 downto 0) 15 | ); 16 | End eKapi; 17 | 18 | Architecture Behv of eKapi is 19 | signal sonuc:std_logic_vector(7 downto 0); 20 | signal ilksonuc:std_logic_vector(7 downto 0); 21 | Begin 22 | process(saat) 23 | Begin 24 | if saat='1' and saat'event then 25 | ilksonuc<= anahtar xor giris; 26 | sonuc<=anahtar xor ilksonuc; 27 | end if; 28 | end process; 29 | cikis<=sonuc; 30 | end Behv; 31 | -------------------------------------------------------------------------------- /0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/8bit_encryption.vhd: -------------------------------------------------------------------------------- 1 | -- selim yalçınkaya 2 | -- https://youtu.be/GqUdx0SY8SY 3 | 4 | Library IEEE, STD; 5 | Use IEEE.std_logic_1164.all; 6 | Use IEEE.std_logic_unsigned.all; 7 | Use IEEE.std_logic_arith.all; 8 | 9 | Entity eKapi is 10 | Port ( 11 | anahtar: in std_logic_vector(7 downto 0); 12 | giris: in std_logic_vector(7 downto 0); 13 | saat: in std_logic; 14 | cikis: out std_logic_vector(7 downto 0) 15 | ); 16 | End eKapi; 17 | 18 | Architecture Behv of eKapi is 19 | signal sonuc:std_logic_vector(7 downto 0); 20 | signal ilksonuc:std_logic_vector(7 downto 0); 21 | Begin 22 | process(saat) 23 | Begin 24 | if saat='1' and saat'event then 25 | ilksonuc<= anahtar xor giris; 26 | sonuc<=anahtar xor ilksonuc; 27 | end if; 28 | end process; 29 | cikis<=sonuc; 30 | end Behv; 31 | -------------------------------------------------------------------------------- /0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/8bit-odd_parity.vhd: -------------------------------------------------------------------------------- 1 | --Sayisal Tasarim Laboratuvari Deney-1 2 | --Yusuf CEYLAN 365274 3 | --19.04.2020 4 | --8 Bit Tek Parity 5 | -- https://youtu.be/p9L-OP0sOk0 6 | 7 | library IEEE; -- Kütüphane eklenir. 8 | use IEEE.std_logic_1164.all; -- Kütüphane içindeki paketler projeye dahil edilir. 9 | 10 | entity Parity is --Bu blokta devre elemani tanimlanir. 11 | Port ( input : in STD_LOGIC_VECTOR (6 downto 0); --7 bitlik giris. 12 | output : out STD_LOGIC_VECTOR (7 downto 0)); --8 bitlik çikti. 13 | end Parity; 14 | 15 | architecture Behv of Parity is --Ara sinyal ve komponent tanimlari yapilir. 16 | signal temp: std_logic:= '0'; 17 | 18 | begin --Devrenin yaptigi isler, devre elemanlari yazilir. 19 | 20 | temp <= input(0) xor input(1) xor input(2) xor input(3) xor input(4) xor input(5) xor input(6); 21 | output <= input & not temp; 22 | 23 | end Behv; 24 | -------------------------------------------------------------------------------- /0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/8bit-odd_parity.vhd: -------------------------------------------------------------------------------- 1 | --Sayisal Tasarim Laboratuvari Deney-1 2 | --Yusuf CEYLAN 365274 3 | --19.04.2020 4 | --8 Bit Tek Parity 5 | -- https://youtu.be/p9L-OP0sOk0 6 | 7 | library IEEE; -- Kütüphane eklenir. 8 | use IEEE.std_logic_1164.all; -- Kütüphane içindeki paketler projeye dahil edilir. 9 | 10 | entity Parity is --Bu blokta devre elemani tanimlanir. 11 | Port ( input : in STD_LOGIC_VECTOR (6 downto 0); --7 bitlik giris. 12 | output : out STD_LOGIC_VECTOR (7 downto 0)); --8 bitlik çikti. 13 | end Parity; 14 | 15 | architecture Behv of Parity is --Ara sinyal ve komponent tanimlari yapilir. 16 | signal temp: std_logic:= '0'; 17 | 18 | begin --Devrenin yaptigi isler, devre elemanlari yazilir. 19 | 20 | temp <= input(0) xor input(1) xor input(2) xor input(3) xor input(4) xor input(5) xor input(6); 21 | output <= input & not temp; 22 | 23 | end Behv; 24 | -------------------------------------------------------------------------------- /0_logic_design_lab/readme.md: -------------------------------------------------------------------------------- 1 | # Sayısal Tasarım Lab. 2 | Bu sayfa Sayısal Tasarım Lab. dersinde verdiğim deney içerikleri için hazırlanmıştır. 3 | 4 | --- 5 | 6 | ## Güncel Dönem 7 | * **Deney 01** - [VHDL ile Kombinasyonel Devre Tasarımı (Kodlama ve Hata Bulma Teknikleri)](1_vhdl_ile_kombinasyonel_devre_tasarimi/readme.md) 8 | * **Deney 02** - [VHDL ile Ardışıl Devre Tasarımı (Durum Makineleri)](2_vhdl_ile_ardisil_devre_tasarimi/readme.md) 9 | 10 | ### Geçmiş Dönem 11 | * [VHDL ile Devre Tasarımı - (2018-2021)](_vhdl_ile_devre_tasarimi/readme.md) 12 | 13 | --- 14 | ## Geçmiş Yıllarda Sorulan Sorular 15 | * [2021-22 Bahar Final Sınavı][22b-final] 16 | * [2021-22 Bahar Bütünleme Sınavı][22b-but] -- _[Video Çözüm][22b-but-vid]_ 17 | 18 | [22b-final]: 0_logic_design_lab\21-22-s_Final_Cevaplar-Sayısal-Tasarım-Lab..pdf 19 | [22b-but]: 0_logic_design_lab\21-22-s_Bütünleme_Sorular-Sayısal-Tasarım-Lab.pdf 20 | [22b-but-vid]: https://www.youtube.com/watch?v=RYInZlvrYWY 21 | -------------------------------------------------------------------------------- /2_computer_networks_lab/2_Wireless_Sensor_Networks/uzem.md: -------------------------------------------------------------------------------- 1 | ## Uzaktan Eğitim Sürecinde Ölçme ve Değerlendirme 2 | ### Deney Ödev Raporunun Hazırlanması (Arasınav için) 3 | * Laboratuvar deney ödevi olarak **rapor** hazırlanmalıdır. 4 | * Rapor için laboratuvar web sayfasındaki *şablon* kullanılacak. 5 | * Çekilen video her öğrencinin kendi drive hesabında yüklü olacak ve bağlantısı rapora eklenecek 6 | * Video içerisinde 7 | * Kurulum aşamaları 8 | * contaki ve cooja simulatörünün çalıştırılması 9 | * Hello World, Broadcast ve client server uygulamalarının yapılışı olmalıdır. 10 | 11 | ### Deney Ödev Raporunun Hazırlanması (Dönemsonu sınavı için) 12 | * Video 7-8 dk. yı **geçmemelidir.** 13 | * Çekilen video her öğrencinin kendi drive hesabında yüklü olacak ve bağlantısı rapora eklenecek 14 | * Video içerisinde 15 | * Kurulum aşamaları 16 | * contaki ve cooja simulatörünün çalıştırılması 17 | * Hello World, Broadcast ve client server uygulamalarının yapılışı olmalıdır. -------------------------------------------------------------------------------- /0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/16bit-odd_parity.vhd: -------------------------------------------------------------------------------- 1 | --Say?sal Tasar?m Lab. 1. Deney 2 | --Veli Görgülü 365329 3 | -- https://drive.google.com/file/d/1eIvntQyk9GRZSftEiYvkUv3_Okq__h42/view 4 | 5 | library IEEE; 6 | use IEEE.STD_LOGIC_1164.ALL; 7 | 8 | entity PARITY is 9 | Port (input : in STD_LOGIC_VECTOR(14 downto 0); 10 | output : out STD_LOGIC_VECTOR(15 downto 0)); 11 | end PARITY; 12 | 13 | architecture PARITY_CHECK of PARITY is 14 | signal output_odd : std_logic := '0'; 15 | 16 | function Parity_Odd(input : STD_LOGIC_VECTOR(14 downto 0)) 17 | return std_logic is 18 | variable parity : std_logic := '0'; 19 | begin 20 | for i in 0 to 14 loop 21 | parity := parity xor input(i); 22 | end loop; 23 | return (not parity); 24 | end Parity_Odd; 25 | 26 | begin 27 | output_odd <= Parity_Odd(input); 28 | output <= input & output_odd; 29 | end PARITY_CHECK; 30 | -------------------------------------------------------------------------------- /0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/16bit-odd_parity.vhd: -------------------------------------------------------------------------------- 1 | --Say?sal Tasar?m Lab. 1. Deney 2 | --Veli Görgülü 365329 3 | -- https://drive.google.com/file/d/1eIvntQyk9GRZSftEiYvkUv3_Okq__h42/view 4 | 5 | library IEEE; 6 | use IEEE.STD_LOGIC_1164.ALL; 7 | 8 | entity PARITY is 9 | Port (input : in STD_LOGIC_VECTOR(14 downto 0); 10 | output : out STD_LOGIC_VECTOR(15 downto 0)); 11 | end PARITY; 12 | 13 | architecture PARITY_CHECK of PARITY is 14 | signal output_odd : std_logic := '0'; 15 | 16 | function Parity_Odd(input : STD_LOGIC_VECTOR(14 downto 0)) 17 | return std_logic is 18 | variable parity : std_logic := '0'; 19 | begin 20 | for i in 0 to 14 loop 21 | parity := parity xor input(i); 22 | end loop; 23 | return (not parity); 24 | end Parity_Odd; 25 | 26 | begin 27 | output_odd <= Parity_Odd(input); 28 | output <= input & output_odd; 29 | end PARITY_CHECK; 30 | -------------------------------------------------------------------------------- /0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/3-to-8_decoder.vhd: -------------------------------------------------------------------------------- 1 | -- Hazırlayan: Aleyna Özbek 2 | -- https://www.youtube.com/watch?v=KW5uX0c2s6I&list=PLcjh-_Mx3C9Ozs5U6qc2idUcsnTP5UyEq&index=1 3 | Library IEEE; 4 | Use IEEE.STD_logic_1164.all; 5 | 6 | Entity e38decoder is 7 | Port( input: in std_logic_vector(2 downto 0); 8 | output: out std_logic_vector(7 downto 0) ); 9 | end e38decoder; 10 | 11 | Architecture Behv of e38decoder is 12 | Begin 13 | output(0) <= (not input(2)) and (not input(1)) and (not input(0)); 14 | output(1) <= (not input(2)) and (not input(1)) and input(0); 15 | output(2) <= (not input(2)) and input(1) and (not input(0)); 16 | output(3) <= (not input(2)) and input(1) and input(0); 17 | output(4) <= input(2) and (not input(1)) and (not input(0)); 18 | output(5) <= input(2) and (not input(1)) and input(0); 19 | output(6) <= input(2) and input(1) and (not input(0)); 20 | output(7) <= input(2) and input(1) and input(0); 21 | end Behv; 22 | -------------------------------------------------------------------------------- /0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/3-to-8_decoder.vhd: -------------------------------------------------------------------------------- 1 | -- Hazırlayan: Aleyna Özbek 2 | -- https://www.youtube.com/watch?v=KW5uX0c2s6I&list=PLcjh-_Mx3C9Ozs5U6qc2idUcsnTP5UyEq&index=1 3 | Library IEEE; 4 | Use IEEE.STD_logic_1164.all; 5 | 6 | Entity e38decoder is 7 | Port( input: in std_logic_vector(2 downto 0); 8 | output: out std_logic_vector(7 downto 0) ); 9 | end e38decoder; 10 | 11 | Architecture Behv of e38decoder is 12 | Begin 13 | output(0) <= (not input(2)) and (not input(1)) and (not input(0)); 14 | output(1) <= (not input(2)) and (not input(1)) and input(0); 15 | output(2) <= (not input(2)) and input(1) and (not input(0)); 16 | output(3) <= (not input(2)) and input(1) and input(0); 17 | output(4) <= input(2) and (not input(1)) and (not input(0)); 18 | output(5) <= input(2) and (not input(1)) and input(0); 19 | output(6) <= input(2) and input(1) and (not input(0)); 20 | output(7) <= input(2) and input(1) and input(0); 21 | end Behv; 22 | -------------------------------------------------------------------------------- /0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/1-4_demux_with_process.vhd: -------------------------------------------------------------------------------- 1 | -- https://www.youtube.com/watch?v=iqI47OHsQys 2 | Library IEEE; 3 | use IEEE.STD_LOGIC_1164.ALL; 4 | use IEEE.STD_LOGIC_ARITH.ALL; 5 | use IEEE.STD_LOGIC_UNSIGNED.ALL; 6 | 7 | entity demux1_4 is 8 | Port(A :in std_logic; 9 | S : in std_logic_vector(1 downto 0); 10 | X: out std_logic_vector(3 downto 0)); 11 | end demux1_4; 12 | 13 | architecture behv of demux1_4 is 14 | begin 15 | process(S,A) 16 | begin 17 | 18 | if S="10" then 19 | X(0)<='0'; 20 | X(1)<='0'; 21 | X(2)<=A; 22 | X(3)<='0'; 23 | 24 | elsif S="11" then 25 | X(0)<='0'; 26 | X(1)<='0'; 27 | X(2)<='0'; 28 | X(3)<=A; 29 | 30 | elsif S="00" then 31 | X(0) <= A; 32 | X(1) <= '0'; 33 | X(2) <= '0'; 34 | X(3) <= '0'; 35 | 36 | elsif S="01" then 37 | X(0)<='0'; 38 | X(1)<=A ; 39 | X(2)<='0'; 40 | X(3)<='0'; 41 | 42 | 43 | end if; 44 | end process; 45 | end behv; 46 | -------------------------------------------------------------------------------- /0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/1-4_demux_with_process.vhd: -------------------------------------------------------------------------------- 1 | -- https://www.youtube.com/watch?v=iqI47OHsQys 2 | Library IEEE; 3 | use IEEE.STD_LOGIC_1164.ALL; 4 | use IEEE.STD_LOGIC_ARITH.ALL; 5 | use IEEE.STD_LOGIC_UNSIGNED.ALL; 6 | 7 | entity demux1_4 is 8 | Port(A :in std_logic; 9 | S : in std_logic_vector(1 downto 0); 10 | X: out std_logic_vector(3 downto 0)); 11 | end demux1_4; 12 | 13 | architecture behv of demux1_4 is 14 | begin 15 | process(S,A) 16 | begin 17 | 18 | if S="10" then 19 | X(0)<='0'; 20 | X(1)<='0'; 21 | X(2)<=A; 22 | X(3)<='0'; 23 | 24 | elsif S="11" then 25 | X(0)<='0'; 26 | X(1)<='0'; 27 | X(2)<='0'; 28 | X(3)<=A; 29 | 30 | elsif S="00" then 31 | X(0) <= A; 32 | X(1) <= '0'; 33 | X(2) <= '0'; 34 | X(3) <= '0'; 35 | 36 | elsif S="01" then 37 | X(0)<='0'; 38 | X(1)<=A ; 39 | X(2)<='0'; 40 | X(3)<='0'; 41 | 42 | 43 | end if; 44 | end process; 45 | end behv; 46 | -------------------------------------------------------------------------------- /0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/16-4_encoder.vhd: -------------------------------------------------------------------------------- 1 | -- Metehan Çetinkaya 330126 2 | -- https://youtu.be/d8rR7d0G2rQ 3 | 4 | Library IEEE; 5 | Use IEEE.std_logic_1164.all; 6 | 7 | Entity E16_4_encoder is 8 | Port( input: in std_logic_vector(15 downto 0); 9 | output: out std_logic_vector(3 downto 0)); 10 | end E16_4_encoder; 11 | 12 | Architecture Behv of E16_4_encoder is 13 | Begin 14 | output <= 15 | "1111" when input(15) = '1' else 16 | "1110" when input(14) = '1' else 17 | "1101" when input(13) = '1' else 18 | "1100" when input(12) = '1' else 19 | "1011" when input(11) = '1' else 20 | "1010" when input(10) = '1' else 21 | "1001" when input(9) = '1' else 22 | "1000" when input(8) = '1' else 23 | "0111" when input(7) = '1' else 24 | "0110" when input(6) = '1' else 25 | "0101" when input(5) = '1' else 26 | "0100" when input(4) = '1' else 27 | "0011" when input(3) = '1' else 28 | "0010" when input(2) = '1' else 29 | "0001" when input(1) = '1' else 30 | "0000"; 31 | Behv; 32 | -------------------------------------------------------------------------------- /0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/ALU.vhd: -------------------------------------------------------------------------------- 1 | -- Gökhan Yazıcı 2 | -- https://www.youtube.com/watch?v=0cLV-IOeoac&list=PLcjh-_Mx3C9Ozs5U6qc2idUcsnTP5UyEq&index=17 3 | 4 | library IEEE; --library kelimesi ile kütüphane eklenir. 5 | use IEEE.STD_LOGIC_1164.ALL; --kütüphane içindeki paketleri projeye dahil eder. 6 | use IEEE.NUMERIC_STD.ALL; -- Toplama ve çıkarmanın tanımlı olduğu library. 7 | entity ALU is --devre elemanlarını tanıtır. 8 | Port ( giris1 : in signed (7 downto 0); -- giriş , çıkış ve seçme girişi portlarını tanıtır. 9 | giris2 : in signed (7 downto 0); 10 | secme : in STD_LOGIC; 11 | cikis : out signed (7 downto 0)); 12 | end ALU; 13 | architecture Behv of ALU is 14 | begin 15 | with secme select 16 | cikis <= giris1 + giris2 when '0', -- seçme girişi 0 olduğunda girişteki dizileri toplayıp çıkışa aktarır. 17 | giris1 - giris2 when '1', --seçme girişi 1 olduğunda girişteki dizileri çıkarıp çıkışa aktarır. 18 | "ZZZZZZZZ" when others; --seçme girişi 0 ve 1 harici durumlar için kullanılır. 19 | end Behv; 20 | -------------------------------------------------------------------------------- /0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/4-1mux.vhd: -------------------------------------------------------------------------------- 1 | --Beyza KARALI 365353 Grup: A7 2 | -- 3 Bitli 4X1 MUX 3 | -- https://www.youtube.com/watch?v=itxY2CPBi1Y 4 | 5 | Library IEEE; 6 | Use IEEE.std_logic_1164.all; 7 | 8 | 9 | Entity Mux_4x1 IS 10 | Port(G1,G2,G3,G4 : IN std_logic_vector(2 downto 0); 11 | S0,S1 : IN std_logic; 12 | C : OUT std_logic_vector(2 downto 0)); 13 | 14 | End Mux_4x1; 15 | 16 | Architecture Behv of Mux_4x1 IS 17 | 18 | Signal And1 : std_logic; 19 | Signal And2 : std_logic; 20 | Signal And3 : std_logic; 21 | Signal And4 : std_logic; 22 | Signal NotS0: std_logic; 23 | Signal NotS1: std_logic; 24 | Begin 25 | NotS1 <= NOT S1; 26 | NotS0 <= NOT S0; 27 | 28 | --And Gates 29 | And1 <= NotS1 AND NotS0; 30 | And2 <= NotS1 AND S0 ; 31 | And3 <= S1 AND NotS0; 32 | And4 <= S1 AND S0; 33 | 34 | --Or Gate 35 | C <= G1 WHEN And1 ='1' ELSE 36 | G2 WHEN And2 ='1' ELSE 37 | G3 WHEN And3 ='1' ELSE 38 | G4 WHEN And4 ='1' ELSE 39 | "--1"; 40 | 41 | 42 | End Behv; 43 | -------------------------------------------------------------------------------- /0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/16-4_encoder.vhd: -------------------------------------------------------------------------------- 1 | -- Metehan Çetinkaya 330126 2 | -- https://youtu.be/d8rR7d0G2rQ 3 | 4 | Library IEEE; 5 | Use IEEE.std_logic_1164.all; 6 | 7 | Entity E16_4_encoder is 8 | Port( input: in std_logic_vector(15 downto 0); 9 | output: out std_logic_vector(3 downto 0)); 10 | end E16_4_encoder; 11 | 12 | Architecture Behv of E16_4_encoder is 13 | Begin 14 | output <= 15 | "1111" when input(15) = '1' else 16 | "1110" when input(14) = '1' else 17 | "1101" when input(13) = '1' else 18 | "1100" when input(12) = '1' else 19 | "1011" when input(11) = '1' else 20 | "1010" when input(10) = '1' else 21 | "1001" when input(9) = '1' else 22 | "1000" when input(8) = '1' else 23 | "0111" when input(7) = '1' else 24 | "0110" when input(6) = '1' else 25 | "0101" when input(5) = '1' else 26 | "0100" when input(4) = '1' else 27 | "0011" when input(3) = '1' else 28 | "0010" when input(2) = '1' else 29 | "0001" when input(1) = '1' else 30 | "0000"; 31 | Behv; 32 | -------------------------------------------------------------------------------- /0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/ALU.vhd: -------------------------------------------------------------------------------- 1 | -- Gökhan Yazıcı 2 | -- https://www.youtube.com/watch?v=0cLV-IOeoac&list=PLcjh-_Mx3C9Ozs5U6qc2idUcsnTP5UyEq&index=17 3 | 4 | library IEEE; --library kelimesi ile kütüphane eklenir. 5 | use IEEE.STD_LOGIC_1164.ALL; --kütüphane içindeki paketleri projeye dahil eder. 6 | use IEEE.NUMERIC_STD.ALL; -- Toplama ve çıkarmanın tanımlı olduğu library. 7 | entity ALU is --devre elemanlarını tanıtır. 8 | Port ( giris1 : in signed (7 downto 0); -- giriş , çıkış ve seçme girişi portlarını tanıtır. 9 | giris2 : in signed (7 downto 0); 10 | secme : in STD_LOGIC; 11 | cikis : out signed (7 downto 0)); 12 | end ALU; 13 | architecture Behv of ALU is 14 | begin 15 | with secme select 16 | cikis <= giris1 + giris2 when '0', -- seçme girişi 0 olduğunda girişteki dizileri toplayıp çıkışa aktarır. 17 | giris1 - giris2 when '1', --seçme girişi 1 olduğunda girişteki dizileri çıkarıp çıkışa aktarır. 18 | "ZZZZZZZZ" when others; --seçme girişi 0 ve 1 harici durumlar için kullanılır. 19 | end Behv; 20 | -------------------------------------------------------------------------------- /0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/4-1mux.vhd: -------------------------------------------------------------------------------- 1 | --Beyza KARALI 365353 Grup: A7 2 | -- 3 Bitli 4X1 MUX 3 | -- https://www.youtube.com/watch?v=itxY2CPBi1Y 4 | 5 | Library IEEE; 6 | Use IEEE.std_logic_1164.all; 7 | 8 | 9 | Entity Mux_4x1 IS 10 | Port(G1,G2,G3,G4 : IN std_logic_vector(2 downto 0); 11 | S0,S1 : IN std_logic; 12 | C : OUT std_logic_vector(2 downto 0)); 13 | 14 | End Mux_4x1; 15 | 16 | Architecture Behv of Mux_4x1 IS 17 | 18 | Signal And1 : std_logic; 19 | Signal And2 : std_logic; 20 | Signal And3 : std_logic; 21 | Signal And4 : std_logic; 22 | Signal NotS0: std_logic; 23 | Signal NotS1: std_logic; 24 | Begin 25 | NotS1 <= NOT S1; 26 | NotS0 <= NOT S0; 27 | 28 | --And Gates 29 | And1 <= NotS1 AND NotS0; 30 | And2 <= NotS1 AND S0 ; 31 | And3 <= S1 AND NotS0; 32 | And4 <= S1 AND S0; 33 | 34 | --Or Gate 35 | C <= G1 WHEN And1 ='1' ELSE 36 | G2 WHEN And2 ='1' ELSE 37 | G3 WHEN And3 ='1' ELSE 38 | G4 WHEN And4 ='1' ELSE 39 | "--1"; 40 | 41 | 42 | End Behv; 43 | -------------------------------------------------------------------------------- /0_logic_design_lab/_vhdl_ile_devre_tasarimi/sequential_circuits/washing_machines.vhd: -------------------------------------------------------------------------------- 1 | Library IEEE; 2 | Use IEEE.std_logic_1164.all; 3 | 4 | Entity eWM is 5 | Port(s:in std_logic; 6 | G:in std_logic_vector(1 downto 0); 7 | F:out std_logic); 8 | End eWM; 9 | 10 | Architecture behv of eWM is 11 | Type tDurumlar is(bsl,yk,drl,skm); 12 | Signal dSimdi : tDurumlar := bsl; 13 | Signal R : std_logic := '0'; 14 | Begin 15 | Process(s) 16 | Begin 17 | if(rising_edge(s)) then 18 | Case dSimdi is 19 | When bsl=> 20 | if(G="00") then 21 | f<='0'; 22 | dSimdi<=yk; 23 | Elsif(G="01") then 24 | f<='0'; 25 | dSimdi<=drl; 26 | Elsif(G="10") then 27 | f<='0'; 28 | dSimdi<=skm; 29 | End if; 30 | 31 | When yk=> 32 | if(G="01") then 33 | f<='0'; 34 | dSimdi<=drl; 35 | Elsif(R='1') then 36 | dSimdi<=bsl; 37 | R<='0'; 38 | End if; 39 | 40 | When drl=> 41 | if(G="10") then 42 | f<='0'; 43 | dSimdi<=skm; 44 | Elsif(R='1') then 45 | dSimdi<=bsl; 46 | R<='0'; 47 | End if; 48 | 49 | When skm=> 50 | if(R='1') then 51 | dSimdi<=bsl; 52 | R<='0'; 53 | Else 54 | f<='1'; 55 | End if; 56 | 57 | End Case; 58 | End if; 59 | End Process; 60 | End behv; 61 | -------------------------------------------------------------------------------- /0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/16-to-4_encoder.vhd: -------------------------------------------------------------------------------- 1 | -- Hazırlayan: Aleyna Özbek 2 | -- https://www.youtube.com/watch?v=Zwku31DfQkM&list=PLcjh-_Mx3C9Ozs5U6qc2idUcsnTP5UyEq&index=2 3 | 4 | Library IEEE; 5 | Use IEEE.std_logic_1164.all; 6 | 7 | Entity E16_4encoder is 8 | Port(input:in std_logic_vector(15 downto 0); 9 | output:out std_logic_vector(3 downto 0)); 10 | 11 | end E16_4encoder; 12 | 13 | 14 | Architecture Behv of E16_4encoder is 15 | Begin 16 | output<="1111" when input(15)='1'else 17 | "1110" when input(14)='1'else 18 | "1101" when input(13)='1'else 19 | "1100" when input(12)='1'else 20 | "1011" when input(11)='1'else 21 | "1010" when input(10)='1'else 22 | "1001" when input(9)='1'else 23 | "1000" when input(8)='1'else 24 | "0111" when input(7)='1'else 25 | "0110" when input(6)='1'else 26 | "0101" when input(5)='1'else 27 | "0100" when input(4)='1'else 28 | "0011" when input(3)='1'else 29 | "0010" when input(2)='1'else 30 | "0001" when input(1)='1'else 31 | "0000" when input(0)='1'else 32 | "0000"; 33 | 34 | end Behv; 35 | -------------------------------------------------------------------------------- /0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/16-to-4_encoder.vhd: -------------------------------------------------------------------------------- 1 | -- Hazırlayan: Aleyna Özbek 2 | -- https://www.youtube.com/watch?v=Zwku31DfQkM&list=PLcjh-_Mx3C9Ozs5U6qc2idUcsnTP5UyEq&index=2 3 | 4 | Library IEEE; 5 | Use IEEE.std_logic_1164.all; 6 | 7 | Entity E16_4encoder is 8 | Port(input:in std_logic_vector(15 downto 0); 9 | output:out std_logic_vector(3 downto 0)); 10 | 11 | end E16_4encoder; 12 | 13 | 14 | Architecture Behv of E16_4encoder is 15 | Begin 16 | output<="1111" when input(15)='1'else 17 | "1110" when input(14)='1'else 18 | "1101" when input(13)='1'else 19 | "1100" when input(12)='1'else 20 | "1011" when input(11)='1'else 21 | "1010" when input(10)='1'else 22 | "1001" when input(9)='1'else 23 | "1000" when input(8)='1'else 24 | "0111" when input(7)='1'else 25 | "0110" when input(6)='1'else 26 | "0101" when input(5)='1'else 27 | "0100" when input(4)='1'else 28 | "0011" when input(3)='1'else 29 | "0010" when input(2)='1'else 30 | "0001" when input(1)='1'else 31 | "0000" when input(0)='1'else 32 | "0000"; 33 | 34 | end Behv; 35 | -------------------------------------------------------------------------------- /0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/3-8_decoder_with_process.vhd: -------------------------------------------------------------------------------- 1 | --Hazirlayan: Guzin Kanburoglu 365254 2 | -- https://drive.google.com/file/d/1fZEUPbZWn5e_-7Elq1XyMVWyqCmnfEMs/view 3 | 4 | library IEEE; 5 | use IEEE.STD_LOGIC_1164.all; 6 | 7 | entity decoder3to8 is 8 | port(a : in STD_LOGIC_VECTOR(2 downto 0); 9 | b : out STD_LOGIC_VECTOR(7 downto 0)); 10 | end decoder3to8; 11 | 12 | architecture bhv of decoder3to8 is 13 | begin 14 | 15 | process(a) 16 | begin 17 | if(a="000")then 18 | b <= "00000001"; 19 | 20 | elsif(a="001")then 21 | b <= "00000010"; 22 | 23 | elsif(a="010")then 24 | b <= "00000100"; 25 | 26 | elsif(a="011")then 27 | b <= "00001000"; 28 | 29 | elsif(a="100")then 30 | b <= "00010000"; 31 | 32 | elsif(a="101")then 33 | b <= "00100000"; 34 | 35 | elsif(a="110")then 36 | b <= "01000000"; 37 | 38 | else 39 | b <= "10000000"; 40 | end if; 41 | end process; 42 | end bhv; 43 | -------------------------------------------------------------------------------- /0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/3-8_decoder_with_process.vhd: -------------------------------------------------------------------------------- 1 | --Hazirlayan: Guzin Kanburoglu 365254 2 | -- https://drive.google.com/file/d/1fZEUPbZWn5e_-7Elq1XyMVWyqCmnfEMs/view 3 | 4 | library IEEE; 5 | use IEEE.STD_LOGIC_1164.all; 6 | 7 | entity decoder3to8 is 8 | port(a : in STD_LOGIC_VECTOR(2 downto 0); 9 | b : out STD_LOGIC_VECTOR(7 downto 0)); 10 | end decoder3to8; 11 | 12 | architecture bhv of decoder3to8 is 13 | begin 14 | 15 | process(a) 16 | begin 17 | if(a="000")then 18 | b <= "00000001"; 19 | 20 | elsif(a="001")then 21 | b <= "00000010"; 22 | 23 | elsif(a="010")then 24 | b <= "00000100"; 25 | 26 | elsif(a="011")then 27 | b <= "00001000"; 28 | 29 | elsif(a="100")then 30 | b <= "00010000"; 31 | 32 | elsif(a="101")then 33 | b <= "00100000"; 34 | 35 | elsif(a="110")then 36 | b <= "01000000"; 37 | 38 | else 39 | b <= "10000000"; 40 | end if; 41 | end process; 42 | end bhv; 43 | -------------------------------------------------------------------------------- /0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/1bit-fulladder.vhd: -------------------------------------------------------------------------------- 1 | -- 1-bit Full Adder / Sayısal Tasarım Lab. "VHDL ile Devre Tasarımı" deneyi ödevi. 2 | -- https://drive.google.com/file/d/1DJobmzc9p_sDmVl5uPCeExWqZsg73YUr/view 3 | 4 | 5 | LIBRARY IEEE; 6 | use IEEE.STD_LOGIC_1164.ALL; 7 | 8 | -- port() gösteriminin içerisinde 1-bitlik tam toplayıcının giriş ve çıkışlarını tanımlıyoruz. 9 | -- bu devre, iki biti (a,b), elde girişi(cin), toplam çıkış(sum) ve bir elde çıkışı(cout) ile birlikte toplayacak. 10 | entity BIT_ADDER is 11 | port( a, b, cin : in STD_LOGIC; 12 | sum, cout : out STD_LOGIC ); 13 | end BIT_ADDER; 14 | 15 | -- 1-bitlik tam toplayıcının fonksiyon tanımlaması 16 | architecture BHV of BIT_ADDER is 17 | begin 18 | 19 | -- 1-bitlik tam toplayıcının toplam(sum) hesabı. 20 | -- Uzun yolla şöyle yapılabilir: 21 | --sum <= (not a and not b and cin) or 22 | --(not a and b and not cin) or 23 | --(a and not b and not cin) or 24 | --(a and b and cin); 25 | -- Kullanmayı tercih ettiğim: 26 | sum <= a xor b xor cin; 27 | 28 | -- 1-bitlik tam toplayıcının elde çıkışı(cout) hesabı. 29 | cout <= (a and b) or (cin and a) or (cin and b) 30 | end BHV; 31 | -------------------------------------------------------------------------------- /0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/1bit-fulladder.vhd: -------------------------------------------------------------------------------- 1 | -- 1-bit Full Adder / Sayısal Tasarım Lab. "VHDL ile Devre Tasarımı" deneyi ödevi. 2 | -- https://drive.google.com/file/d/1DJobmzc9p_sDmVl5uPCeExWqZsg73YUr/view 3 | 4 | 5 | LIBRARY IEEE; 6 | use IEEE.STD_LOGIC_1164.ALL; 7 | 8 | -- port() gösteriminin içerisinde 1-bitlik tam toplayıcının giriş ve çıkışlarını tanımlıyoruz. 9 | -- bu devre, iki biti (a,b), elde girişi(cin), toplam çıkış(sum) ve bir elde çıkışı(cout) ile birlikte toplayacak. 10 | entity BIT_ADDER is 11 | port( a, b, cin : in STD_LOGIC; 12 | sum, cout : out STD_LOGIC ); 13 | end BIT_ADDER; 14 | 15 | -- 1-bitlik tam toplayıcının fonksiyon tanımlaması 16 | architecture BHV of BIT_ADDER is 17 | begin 18 | 19 | -- 1-bitlik tam toplayıcının toplam(sum) hesabı. 20 | -- Uzun yolla şöyle yapılabilir: 21 | --sum <= (not a and not b and cin) or 22 | --(not a and b and not cin) or 23 | --(a and not b and not cin) or 24 | --(a and b and cin); 25 | -- Kullanmayı tercih ettiğim: 26 | sum <= a xor b xor cin; 27 | 28 | -- 1-bitlik tam toplayıcının elde çıkışı(cout) hesabı. 29 | cout <= (a and b) or (cin and a) or (cin and b) 30 | end BHV; 31 | -------------------------------------------------------------------------------- /0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/8bit_full_adder.vhd: -------------------------------------------------------------------------------- 1 | -- 8 bitlik full adder 2 | -- OGUZ BALCI 3 | -- https://youtu.be/Qx_IguP6imI 4 | 5 | 6 | library ieee; 7 | use ieee.std_logic_1164.all; 8 | entity fulladder1 is 9 | port( 10 | A: in std_logic_vector(7 downto 0); 11 | B: in std_logic_vector(7 downto 0); 12 | S: out std_logic_vector(8 downto 0); 13 | Cin: in std_logic); 14 | end fulladder1; 15 | architecture Behavioral of fulladder1 is 16 | signal Cout: std_logic_vector(7 downto 0); 17 | 18 | begin 19 | 20 | S(0) <= (A(0) XOR B(0)) XOR Cin; 21 | Cout(0) <= (A(0) AND B(0)) OR (Cin AND (A(0) XOR B(0))) ; 22 | S(1) <= (A(1) XOR B(1)) XOR Cout(0); 23 | Cout(1) <= (A(1) AND B(1)) OR (Cout(0) AND (A(1) XOR B(1))) ; 24 | S(2) <= (A(2) XOR B(2)) XOR Cout(1); 25 | Cout(2) <= (A(2) AND B(2)) OR (Cout(1) AND (A(2) XOR B(2))) ; 26 | S(3) <= (A(3) XOR B(3)) XOR Cout(2); 27 | Cout(3) <= (A(3) AND B(3)) OR (Cout(2) AND (A(3) XOR B(3))) ; 28 | S(4) <= (A(4) XOR B(4)) XOR Cout(3); 29 | Cout(4) <= (A(4) AND B(4)) OR (Cout(3) AND (A(4) XOR B(4))) ; 30 | S(5) <= (A(5) XOR B(5)) XOR Cout(4); 31 | Cout(5) <= (A(5) AND B(5)) OR (Cout(4) AND (A(5) XOR B(5))) ; 32 | S(6) <= (A(6) XOR B(6)) XOR Cout(5); 33 | Cout(6) <= (A(6) AND B(6)) OR (Cout(5) AND (A(6) XOR B(6))) ; 34 | S(7) <= (A(7) XOR B(7)) XOR Cout(6); 35 | Cout(7) <= (A(7) AND B(7)) OR (Cout(6) AND (A(7) XOR B(7))) ; 36 | S(8) <= Cout(7); 37 | 38 | end Behavioral; 39 | -------------------------------------------------------------------------------- /0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/8bit_full_adder.vhd: -------------------------------------------------------------------------------- 1 | -- 8 bitlik full adder 2 | -- OGUZ BALCI 3 | -- https://youtu.be/Qx_IguP6imI 4 | 5 | 6 | library ieee; 7 | use ieee.std_logic_1164.all; 8 | entity fulladder1 is 9 | port( 10 | A: in std_logic_vector(7 downto 0); 11 | B: in std_logic_vector(7 downto 0); 12 | S: out std_logic_vector(8 downto 0); 13 | Cin: in std_logic); 14 | end fulladder1; 15 | architecture Behavioral of fulladder1 is 16 | signal Cout: std_logic_vector(7 downto 0); 17 | 18 | begin 19 | 20 | S(0) <= (A(0) XOR B(0)) XOR Cin; 21 | Cout(0) <= (A(0) AND B(0)) OR (Cin AND (A(0) XOR B(0))) ; 22 | S(1) <= (A(1) XOR B(1)) XOR Cout(0); 23 | Cout(1) <= (A(1) AND B(1)) OR (Cout(0) AND (A(1) XOR B(1))) ; 24 | S(2) <= (A(2) XOR B(2)) XOR Cout(1); 25 | Cout(2) <= (A(2) AND B(2)) OR (Cout(1) AND (A(2) XOR B(2))) ; 26 | S(3) <= (A(3) XOR B(3)) XOR Cout(2); 27 | Cout(3) <= (A(3) AND B(3)) OR (Cout(2) AND (A(3) XOR B(3))) ; 28 | S(4) <= (A(4) XOR B(4)) XOR Cout(3); 29 | Cout(4) <= (A(4) AND B(4)) OR (Cout(3) AND (A(4) XOR B(4))) ; 30 | S(5) <= (A(5) XOR B(5)) XOR Cout(4); 31 | Cout(5) <= (A(5) AND B(5)) OR (Cout(4) AND (A(5) XOR B(5))) ; 32 | S(6) <= (A(6) XOR B(6)) XOR Cout(5); 33 | Cout(6) <= (A(6) AND B(6)) OR (Cout(5) AND (A(6) XOR B(6))) ; 34 | S(7) <= (A(7) XOR B(7)) XOR Cout(6); 35 | Cout(7) <= (A(7) AND B(7)) OR (Cout(6) AND (A(7) XOR B(7))) ; 36 | S(8) <= Cout(7); 37 | 38 | end Behavioral; 39 | -------------------------------------------------------------------------------- /0_logic_design_lab/_vhdl_ile_devre_tasarimi/sequential_circuits/camasir_makinesi.vhd: -------------------------------------------------------------------------------- 1 | 2 | ------------------------------------------- 3 | 4 | -- Basit Camasir Makinesi 5 | -- Sonlu Durum Makinesi (SDM) 6 | -- 4 Durumlu : BSL, YK, DRL, SKM 7 | -- okunan semboller: y='00', d='01', s='10'. 8 | 9 | ------------------------------------------- 10 | -- https://drive.google.com/file/d/1TD2tuIPZO0gvCzMHP-io-9QII-hHrhwX/view 11 | 12 | 13 | Library IEEE; 14 | Use IEEE.std_logic_1164.all; 15 | Entity eSDM is 16 | Port(s: in std_logic; --saat 17 | A: in std_logic_vector(1 downto 0); 18 | f: out std_logic); 19 | End eSDM; 20 | 21 | Architecture Behv of eSDM is 22 | -- Durumlar icin tip tanimi. 23 | Type tDurumlar is(BSL, YK, DRL, SKM); 24 | Signal dSimdi: tDurumlar := Bsl ; --ilk durum 25 | Begin 26 | Process(s) --Durum makinesi 27 | Begin 28 | If(Rising_edge(s))then 29 | Case dSimdi is 30 | When BSL => --y girisi 31 | If(A="00") Then -- bitmedi 32 | f<='0'; dSimdi <= YK; 33 | Elsif(A="01") Then --d 34 | f<='0'; dSimdi<=DRL; 35 | Elsif(A="10") Then --s 36 | f<='0'; dSimdi <= SKM; 37 | End if; 38 | When YK => 39 | If(A="01") Then --d 40 | f<='0'; dSimdi <=DRL; 41 | End if; 42 | When DRL => 43 | If (A="10") Then --s 44 | f <='0'; dSimdi <= SKM; 45 | End if; 46 | When SKM => f<= '1'; --Bitti 47 | End Case; 48 | End if; --her saat sinyalinde 49 | End process; 50 | End Behv; 51 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## Verdiğim Laboratuvar Dersleri 2 | Bu depo, KTÜ Bilgisayar Mühendisliği Bölümünde yürüttüğüm laboratuvar deneyleri için tutuğum notları ve deneylerle ilgili kaynakları içermektedir. 3 | 4 | --- 5 | 6 | * **[Bilgisayar Organizasyonu Lab.](1_computer_org_lab/)** 7 | * **Analog-Digital Converter (ADC) Deneyi** (2005-2024) 8 | * Deney Uygulamaları - [Jupyter Notebok](1_computer_org_lab/adc/analog_digital_converter(ADC).ipynb) 9 | * _Deney hakkında genel bilgiler_ - [_ana dizin_](1_computer_org_lab/adc/) 10 | 11 | --- 12 | 13 | * **[Sayısal Tasarım Lab.](0_logic_design_lab/)** 14 | * VHDL ile Kombinasyonel Devre Tasarımı (2022-2024) - [yeni dönem][vhdl02] 15 | * VHDL ile Ardışıl Devre Tasarımı (2022-2024) - [yeni dönem][vhdl03] 16 | * _Geçmiş Dönemler: VHDL ile Devre Tasarımı (2018-2021) - [geçmiş dönemler][vhdl01]_ 17 | --- 18 | 19 | * **[Bilgisayar Ağları Lab.](2_computer_networks_lab/)** 20 | * Kablosuz Sensör Ağları (2019-...) - [yeni dönem][aglab02] 21 | * _SIP - Oturum Başlatma Protokolü (2016-2019) - [geçmiş dönemler][aglab01]_ 22 | 23 | [vhdl01]: 0_logic_design_lab/_vhdl_ile_devre_tasarimi/readme.md 24 | [vhdl02]: 0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/readme.md 25 | [vhdl03]: 0_logic_design_lab/2_vhdl_ile_ardisil_devre_tasarimi/readme.md 26 | [aglab01]: 2_computer_networks_lab/5_Session_Initiation_Protokol-SIP/readme.md 27 | [aglab02]: 2_computer_networks_lab/2_Wireless_Sensor_Networks/readme.md 28 | -------------------------------------------------------------------------------- /0_logic_design_lab/_vhdl_ile_devre_tasarimi/sequential_circuits/01_traffic_lambs.vhd: -------------------------------------------------------------------------------- 1 | -- Emre Kurşun 2 | -- https://www.youtube.com/watch?v=oLrk7fDmEbw&index=12&list=PLcjh-_Mx3C9Ozs5U6qc2idUcsnTP5UyEq 3 | 4 | Library IEEE; 5 | Use IEEE.std_logic_1164.all; 6 | 7 | Entity trafik is 8 | Port(clk:in std_logic; 9 | Yesil:out std_logic; 10 | Sari:out std_logic; 11 | Kirmizi:out std_logic); 12 | End Entity; 13 | 14 | Architecture mimari of trafik is 15 | Begin 16 | 17 | Process(clk) 18 | Variable cnt: integer := 0; 19 | Begin 20 | 21 | If(rising_edge(clk))then 22 | 23 | If(cnt > 20)then 24 | cnt := 0; 25 | End If; 26 | 27 | If(cnt = 0)then 28 | Yesil <= '1'; 29 | Sari <= '0'; 30 | Kirmizi <= '0'; 31 | End If; 32 | 33 | If(cnt = 10)then 34 | Yesil <= '0'; 35 | Sari <= '1'; 36 | Kirmizi <= '0'; 37 | End If; 38 | 39 | If(cnt = 11)then 40 | Yesil <= '0'; 41 | Sari <= '0'; 42 | Kirmizi <= '1'; 43 | End If; 44 | 45 | If(cnt = 20)then 46 | Yesil <= '0'; 47 | Sari <= '1'; 48 | Kirmizi <= '1'; 49 | End If; 50 | 51 | cnt := cnt + 1; 52 | 53 | End If; 54 | End Process; 55 | End mimari; 56 | -------------------------------------------------------------------------------- /0_logic_design_lab/_vhdl_ile_devre_tasarimi/sequential_circuits/eSDM.vhd: -------------------------------------------------------------------------------- 1 | -- https://www.youtube.com/watch?v=xK_3CK2-BtE&feature=youtu.be 2 | 3 | Library IEEE; 4 | Use IEEE.std_logic_1164.all; 5 | Entity eSDM is 6 | Port( s : in std_logic; -- saat 7 | A : in std_logic_vector(1 downto 0); 8 | f : out std_logic ); 9 | End eSDM; 10 | 11 | Architecture Behv of eSDM is -- Durumlar icin tip tanimi. 12 | Type tDurumlar is ( BSL, YK, DRL, SKM ); 13 | Signal dSimdi : tDurumlar := Bsl ; -- ilk durum 14 | Begin Process(s) -- Durum makinesi 15 | Begin 16 | If( Rising_edge(s) ) then 17 | Case dSimdi is 18 | When BSL => -- y girisi 19 | If( A="00" ) Then -- bitmedi 20 | f <= '0'; 21 | dSimdi <= YK; 22 | Elsif( A="01" ) Then -- d 23 | f <= '0'; 24 | dSimdi <= Drl; 25 | Elsif( A="10" ) Then -- s 26 | f <= '0'; 27 | dSimdi <= SKM; 28 | End if; 29 | When YK => 30 | If( A="01" ) Then -- d 31 | f <= '0'; 32 | dSimdi <= DRL; 33 | End if; 34 | When DRL => 35 | If( A="10" ) Then -- s 36 | f <= '0'; 37 | dSimdi <= SKM; 38 | End if; 39 | When SKM => 40 | f <= '1'; -- BITTI 41 | dSimdi <= BSL; --basa dön 42 | End Case; 43 | End if; -- her saat sinyalinde 44 | End process; 45 | End Behv; 46 | -------------------------------------------------------------------------------- /0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/4-16_decoder.vhd: -------------------------------------------------------------------------------- 1 | -- 2 | 3 | Library IEEE; 4 | Use IEEE.STD_logic_1164.all; 5 | 6 | Entity e4to16decoder is 7 | Port(input: in std_logic_vector(3 downto 0); 8 | output: out std_logic_vector(15 downto 0) ); 9 | end e4to16decoder; 10 | 11 | Architecture Behv of e4to16decoder is 12 | Begin 13 | output(0) <= (not input(3)) and (not input(2)) and (not input(1)) and (not input(0)); 14 | output(1) <= (not input(3)) and (not input(2)) and (not input(1)) and input(0); 15 | output(2) <= (not input(3)) and (not input(2)) and input(1) and (not input(0)); 16 | output(3) <= (not input(3)) and (not input(2)) and input(1) and input(0); 17 | output(4) <= (not input(3)) and input(2) and (not input(1)) and (not input(0)); 18 | output(5) <= (not input(3)) and input(2) and (not input(1)) and input(0); 19 | output(6) <= (not input(3)) and input(2) and input(1) and (not input(0)); 20 | output(7) <= (not input(3)) and input(2) and input(1) and input(0); 21 | output(8) <= input(3) and (not input(2)) and (not input(1)) and (not input(0)); 22 | output(9) <= input(3) and (not input(2)) and (not input(1)) and input(0); 23 | output(10)<= input(3) and (not input(2)) and input(1) and (not input(0)); 24 | output(11)<= input(3) and (not input(2)) and input(1) and input(0); 25 | output(12) <= input(3) and input(2) and (not input(1)) and (not input(0)); 26 | output(13) <= input(3) and input(2) and (not input(1)) and input(0); 27 | output(14) <= input(3) and input(2) and input(1) and (not input(0)); 28 | output(15) <= input(3) and input(2) and input(1) and input(0); 29 | end Behv; 30 | -------------------------------------------------------------------------------- /0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/4-16_decoder.vhd: -------------------------------------------------------------------------------- 1 | -- 2 | 3 | Library IEEE; 4 | Use IEEE.STD_logic_1164.all; 5 | 6 | Entity e4to16decoder is 7 | Port(input: in std_logic_vector(3 downto 0); 8 | output: out std_logic_vector(15 downto 0) ); 9 | end e4to16decoder; 10 | 11 | Architecture Behv of e4to16decoder is 12 | Begin 13 | output(0) <= (not input(3)) and (not input(2)) and (not input(1)) and (not input(0)); 14 | output(1) <= (not input(3)) and (not input(2)) and (not input(1)) and input(0); 15 | output(2) <= (not input(3)) and (not input(2)) and input(1) and (not input(0)); 16 | output(3) <= (not input(3)) and (not input(2)) and input(1) and input(0); 17 | output(4) <= (not input(3)) and input(2) and (not input(1)) and (not input(0)); 18 | output(5) <= (not input(3)) and input(2) and (not input(1)) and input(0); 19 | output(6) <= (not input(3)) and input(2) and input(1) and (not input(0)); 20 | output(7) <= (not input(3)) and input(2) and input(1) and input(0); 21 | output(8) <= input(3) and (not input(2)) and (not input(1)) and (not input(0)); 22 | output(9) <= input(3) and (not input(2)) and (not input(1)) and input(0); 23 | output(10)<= input(3) and (not input(2)) and input(1) and (not input(0)); 24 | output(11)<= input(3) and (not input(2)) and input(1) and input(0); 25 | output(12) <= input(3) and input(2) and (not input(1)) and (not input(0)); 26 | output(13) <= input(3) and input(2) and (not input(1)) and input(0); 27 | output(14) <= input(3) and input(2) and input(1) and (not input(0)); 28 | output(15) <= input(3) and input(2) and input(1) and input(0); 29 | end Behv; 30 | -------------------------------------------------------------------------------- /0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/4-to-16_decoder.vhd: -------------------------------------------------------------------------------- 1 | -- Hazırlayan: Aleyna Özbek 2 | -- https://www.youtube.com/watch?v=KW5uX0c2s6I&list=PLcjh-_Mx3C9Ozs5U6qc2idUcsnTP5UyEq&index=1 3 | 4 | Library IEEE; 5 | Use IEEE.STD_logic_1164.all; 6 | 7 | Entity e4to16decoder is 8 | Port(input: in std_logic_vector(3 downto 0); 9 | output: out std_logic_vector(15 downto 0) ); 10 | end e4to16decoder; 11 | 12 | Architecture Behv of e4to16decoder is 13 | Begin 14 | output(0) <= (not input(3)) and (not input(2)) and (not input(1)) and (not input(0)); 15 | output(1) <= (not input(3)) and (not input(2)) and (not input(1)) and input(0); 16 | output(2) <= (not input(3)) and (not input(2)) and input(1) and (not input(0)); 17 | output(3) <= (not input(3)) and (not input(2)) and input(1) and input(0); 18 | output(4) <= (not input(3)) and input(2) and (not input(1)) and (not input(0)); 19 | output(5) <= (not input(3)) and input(2) and (not input(1)) and input(0); 20 | output(6) <= (not input(3)) and input(2) and input(1) and (not input(0)); 21 | output(7) <= (not input(3)) and input(2) and input(1) and input(0); 22 | output(8) <= input(3) and (not input(2)) and (not input(1)) and (not input(0)); 23 | output(9) <= input(3) and (not input(2)) and (not input(1)) and input(0); 24 | output(10)<= input(3) and (not input(2)) and input(1) and (not input(0)); 25 | output(11)<= input(3) and (not input(2)) and input(1) and input(0); 26 | output(12) <= input(3) and input(2) and (not input(1)) and (not input(0)); 27 | output(13) <= input(3) and input(2) and (not input(1)) and input(0); 28 | output(14) <= input(3) and input(2) and input(1) and (not input(0)); 29 | output(15) <= input(3) and input(2) and input(1) and input(0); 30 | end Behv; 31 | -------------------------------------------------------------------------------- /0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/4-to-16_decoder.vhd: -------------------------------------------------------------------------------- 1 | -- Hazırlayan: Aleyna Özbek 2 | -- https://www.youtube.com/watch?v=KW5uX0c2s6I&list=PLcjh-_Mx3C9Ozs5U6qc2idUcsnTP5UyEq&index=1 3 | 4 | Library IEEE; 5 | Use IEEE.STD_logic_1164.all; 6 | 7 | Entity e4to16decoder is 8 | Port(input: in std_logic_vector(3 downto 0); 9 | output: out std_logic_vector(15 downto 0) ); 10 | end e4to16decoder; 11 | 12 | Architecture Behv of e4to16decoder is 13 | Begin 14 | output(0) <= (not input(3)) and (not input(2)) and (not input(1)) and (not input(0)); 15 | output(1) <= (not input(3)) and (not input(2)) and (not input(1)) and input(0); 16 | output(2) <= (not input(3)) and (not input(2)) and input(1) and (not input(0)); 17 | output(3) <= (not input(3)) and (not input(2)) and input(1) and input(0); 18 | output(4) <= (not input(3)) and input(2) and (not input(1)) and (not input(0)); 19 | output(5) <= (not input(3)) and input(2) and (not input(1)) and input(0); 20 | output(6) <= (not input(3)) and input(2) and input(1) and (not input(0)); 21 | output(7) <= (not input(3)) and input(2) and input(1) and input(0); 22 | output(8) <= input(3) and (not input(2)) and (not input(1)) and (not input(0)); 23 | output(9) <= input(3) and (not input(2)) and (not input(1)) and input(0); 24 | output(10)<= input(3) and (not input(2)) and input(1) and (not input(0)); 25 | output(11)<= input(3) and (not input(2)) and input(1) and input(0); 26 | output(12) <= input(3) and input(2) and (not input(1)) and (not input(0)); 27 | output(13) <= input(3) and input(2) and (not input(1)) and input(0); 28 | output(14) <= input(3) and input(2) and input(1) and (not input(0)); 29 | output(15) <= input(3) and input(2) and input(1) and input(0); 30 | end Behv; 31 | -------------------------------------------------------------------------------- /0_logic_design_lab/2_vhdl_ile_ardisil_devre_tasarimi/eSDM.vhd: -------------------------------------------------------------------------------- 1 | -- 4 durumlu çama??r makinesi VHDL kodu 2 | -- Giris(ler): s (saat giri?i), A (2 bit durum bilgisini tutan vektör) 3 | -- Cikis(lar): f(1 bit, 1 de?eri varsa makine çal??may? durdurur) 4 | -- ödev: kurutma seçeneği ekleyiniz. 5 | --------------------------------------------- 6 | Library IEEE; 7 | Use IEEE.std_logic_1164.all; 8 | 9 | Entity eSDM is 10 | Port( 11 | s : in std_logic; -- saat 12 | A : in std_logic_vector(1 downto 0); 13 | -- y:00, d:01, s:10 14 | f : out std_logic 15 | ); 16 | End eSDM; 17 | 18 | Architecture Behv of eSDM is -- Durumlar icin tip tanimi. 19 | Type tDurumlar is ( BSL, YK, DRL, SKM ); 20 | Signal dSimdi : tDurumlar := BSL ; -- ilk durum 21 | 22 | Begin Process(s) -- Durum makinesi 23 | Begin 24 | If( Rising_edge(s) ) then 25 | Case dSimdi is 26 | When BSL => 27 | If( A="00" ) Then -- y girisi 28 | f <= '0'; -- bitmedi 29 | dSimdi <= YK; 30 | Elsif( A="01" ) Then -- d 31 | f <= '0'; 32 | dSimdi <= DRL; 33 | Elsif( A="10" ) Then -- s 34 | f <= '0'; 35 | dSimdi <= SKM; 36 | End if; 37 | When YK => 38 | If( A="01" ) Then -- d 39 | f <= '0'; 40 | dSimdi <= DRL; 41 | End if; 42 | When DRL => 43 | If( A="10" ) Then -- s 44 | f <= '0'; 45 | dSimdi <= SKM; 46 | End if; 47 | When SKM => 48 | f <= '1'; -- BITTI 49 | -- dSimdi <= BSL; --basa dön 50 | End Case; 51 | End if; -- her saat sinyalinde 52 | End process; 53 | End Behv; -------------------------------------------------------------------------------- /0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/eHam.vhd: -------------------------------------------------------------------------------- 1 | -- standart 4 bit girişli 7 bit çikışlı 2 | -- Giris(ler): A(4 bit), B(7 bit, test için karşıya iletildiği düşünülen) 3 | -- Cikis(lar): F(7 bit, hesaplanan), S(3 bit, hamming hata bulma bitleri) 4 | -- ödev: en az 3 kez farklı bitleri bozarak hata düzeltme gerçekleştiriniz. 5 | --------------------------------------------- 6 | library ieee; 7 | use ieee.std_logic_1164.all; 8 | 9 | Entity eHam is 10 | port ( -- a6a5a4 a3a2a1a0 11 | A: in std_logic_vector(3 downto 0); -- 4 bit veri, örn: 1110 -> 1 1 1 0 12 | fA: out std_logic_vector(6 downto 0); -- 0 1 0 1 1 1 0 13 | B: in std_logic_vector(6 downto 0); -- 7 bit test verisi, örn: -> 0 1 0 1 1 0 0, a1 bozulmuş olsun 14 | Fb: out std_logic_vector(6 downto 0);-- 7 bit A çıkışı : -> 0 0 1 1 1 0 0, hesaplana 15 | S: out std_logic_vector(2 downto 0) -- : -> 0 1 1 16 | -- s6s5s4 (s4s5s6)=(110) , a1'e denk geliyor 17 | ); 18 | End Entity; 19 | 20 | 21 | Architecture behv of eHam is 22 | signal C: std_logic_vector(6 downto 0); -- Code = veri + hamming 23 | Begin 24 | fA(3 downto 0) <= A; -- ilk 4 bit A'nın aynısı 25 | fA(4) <= A(0) xor A(1) xor A(2); -- Hamming 26 | fA(5) <= A(1) xor A(2) xor A(3); 27 | fA(6) <= A(2) xor A(3) xor A(0); 28 | C(0) <= B(0); 29 | C(1) <= B(1); 30 | C(2) <= B(2); 31 | C(3) <= B(3); 32 | C(4) <= B(0) xor B(1) xor B(2) ; -- Hamming code 33 | C(5) <= B(1) xor B(2) xor B(3) ; 34 | C(6) <= B(2) xor B(3) xor B(0) ; 35 | Fb <= C; -- hesaplanan code cikisa aktarildi 36 | 37 | -- hata kodu 38 | S(2) <= C(6) xor B(6); -- S6 39 | S(1) <= C(5) xor B(5); -- S5 40 | S(0) <= C(4) xor B(4); -- S4 41 | End behv; -------------------------------------------------------------------------------- /0_logic_design_lab/2_vhdl_ile_ardisil_devre_tasarimi/eSDM2.vhd: -------------------------------------------------------------------------------- 1 | -- 4 durumlu çamaşır makinesi VHDL kodu 2 | -- Giris(ler): s (saat giri?i), A (2 bit durum bilgisini tutan vektör) 3 | -- Cikis(lar): f(1 bit, 1 de?eri varsa makine çal??may? durdurur) 4 | -- ödev: kurutma seçeneği ekleyiniz. 5 | --------------------------------------------- 6 | Library IEEE; 7 | Use IEEE.std_logic_1164.all; 8 | 9 | Entity eSDM is 10 | Port( 11 | s : in std_logic; -- saat 12 | A : in std_logic_vector(1 downto 0); 13 | -- y:00, d:01, s:10, k:11 14 | f : out std_logic 15 | ); 16 | End eSDM; 17 | 18 | Architecture Behv of eSDM is -- Durumlar icin tip tanimi. 19 | Type tDurumlar is ( BSL, YK, DRL, SKM, KRL ); 20 | Signal dSimdi : tDurumlar := BSL ; -- ilk durum 21 | 22 | Begin Process(s) -- Durum makinesi 23 | Begin 24 | If( Rising_edge(s) ) then 25 | Case dSimdi is 26 | When BSL => 27 | If( A="00" ) Then -- y girisi 28 | f <= '0'; -- bitmedi 29 | dSimdi <= YK; 30 | Elsif( A="01" ) Then -- d 31 | f <= '0'; 32 | dSimdi <= DRL; 33 | Elsif( A="10" ) Then -- s 34 | f <= '0'; 35 | dSimdi <= SKM; 36 | Elsif( A="11") Then --k 37 | f <= '1'; 38 | dSimdi <= KRL; 39 | End if; 40 | When YK => 41 | If( A="01" ) Then -- d 42 | f <= '0'; 43 | dSimdi <= DRL; 44 | End if; 45 | When DRL => 46 | If( A="10" ) Then -- s 47 | f <= '0'; 48 | dSimdi <= SKM; 49 | End if; 50 | When SKM => 51 | If (A = "11" ) Then -- k 52 | f <= '1'; 53 | dSimdi <= KRL; 54 | End if; 55 | f <= '0'; 56 | When KRL => 57 | f <= '1'; -- BITTI 58 | -- dSimdi <= BSL; --basa dön 59 | End Case; 60 | End if; -- her saat sinyalinde 61 | End process; 62 | End Behv; -------------------------------------------------------------------------------- /0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/genel_bilgiler.md: -------------------------------------------------------------------------------- 1 | ### sayısal tasarım 2 | - kombinasyonel -> çıktı, girdilerin bir kombinasyonu 3 | - ardışıl -> çıktı girdilere ve önceki çıkışlara bağlı, bellek gerektirir 4 | 5 | **bu deneyde kombinasyonel devreler üzerinde durulacak** 6 | * 3 sınıfa ayrılırlar 7 | - ALU, toplayıcı, 8 | - Veri ileticileri 9 | - Kodlayıcılar 10 | - kodlayıcılar -> girişteki veriyi farklı bir biçimde idae etmek amacıyla dönüştüren devrelerdir, verinin değerlendirilmesi tamamen değişir. 11 | 12 | ### sayısal kodlama 13 | * İkili Kodlanmış Onlu (Binary Coded Decimal-BCD) 14 | * Ağırlıklı İkili Kodlama 15 | * 3 Fazlalı Kod 16 | * Bitişik Kodlama 17 | * Gray Kodu 18 | * Eşitlik Kodu 19 | * Hamming Kodlama 20 | 21 | ### Ardışıl devrelere örnek olarak 22 | * Flip-Flop’lar, 23 | * Sayıcılar, 24 | * tampon bellek birimleri 25 | * durum makinaları ile tasarlanan bellek gerektiren devreler verilebilir. 26 | 27 | ### Devre tasarımı 28 | - ASIC (application specific ıntegrated circuits), 29 | * sadece amaca yönelik devre, değiştirilemez 30 | - CPU, Arduino 31 | * amaca yönelik, programlanabilir, devre değişmez 32 | - FPGA nedir? 33 | * genel amaçlı, devre bağlantıları programla değiştirilebilir 34 | - HDL, FPGA donanımlarını tanımlamak için kullanılan dil 35 | * VHDL, Verilog FPGA 36 | 37 | ### Tavsiye 38 | - FPGA sektörü giderek gelişiyor, iş imkanları 39 | * savunma sanayi 40 | * otomobil sanayi 41 | * yapay zeka için özel donanım tasarlama 42 | * işlemci ve entegre devre tasarımları 43 | * akademi 44 | - Donanım tasarlama konusa ilgili öğrencilerin bu alana yönelmesini tavsiye ederim 45 | 46 | ### Ana Oyuncular (FPGA üreticileri) 47 | - Altera 48 | - kuruluş: 1983 49 | - Intel satın aldı, 2015, 16.7 milyar dolar 50 | - satın alınmadan önce yıllık kazanç, ~2 milyar dolar 51 | - 3000 civarı çalışan 52 | - Xilinx 53 | - kuruluş:1984, 54 | - AMD satın aldı, 2021 (35 milyar dolar) 55 | - yıllık kazanç, ~4 milyar dolar 56 | - 5000 civarı yaklaşık çalışan 57 | 58 | ### KTÜ Bilg. Sayısal Tasarım Lab. 59 | - Altera üretimi FPGA ler mevcut 60 | - 1. deneyde, kombinasyonel 61 | - 2. deneyde, ardışıl devreler için 62 | - kodlama, derleme ve fonksiyonel simulasyon yapılacak 63 | 64 | ### Kombinasyonel Devre Tasarımı 65 | - VHDL kodlamaya giriş 66 | - Eşitlik kodu 67 | - Hamming ile kodlama, 68 | -------------------------------------------------------------------------------- /0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/8bit-halfadder_bit_by_bit.vhd: -------------------------------------------------------------------------------- 1 | -- https://www.youtube.com/watch?v=lum1l7w0_UQ 2 | 3 | library IEEE; 4 | use IEEE.STD_LOGIC_1164.ALL; 5 | use IEEE.NUMERIC_STD.ALL; 6 | 7 | 8 | entity EightBitHalfAdder is 9 | port 10 | ( 11 | Num_1, Num_2 : in std_logic_vector(7 downto 0); 12 | Sum : out std_logic_vector(7 downto 0); 13 | Carry : out std_logic 14 | ); 15 | 16 | end entity EightBitHalfAdder; 17 | 18 | architecture Behavioral of EightBitHalfAdder is 19 | signal Cout : std_logic_vector(14 downto 0); 20 | signal Sout : std_logic_vector(7 downto 1); 21 | signal GateOr : std_logic_vector(5 downto 0); 22 | begin 23 | 24 | Sum(0) <= Num_1(0) xor Num_2(0); 25 | Cout(0) <= Num_1(0) and Num_2(0); --Half Adder 0 26 | 27 | Sout(1) <= Num_1(1) xor Num_2(1); 28 | Cout(1) <= Num_1(1) and Num_2(1); --Half Adder 1 29 | 30 | Sum(1) <= Cout(0) xor Sout(1); 31 | Cout(8) <= Cout(0) and Sout(1); --Half Adder 8 32 | 33 | Sout(2) <= Num_1(2) xor Num_2(2); 34 | Cout(2) <= Num_1(2) and Num_2(2); --Half Adder 2 35 | 36 | GateOr(0) <= Cout(8) or Cout(1); 37 | 38 | Sum(2) <= GateOr(0) xor Sout(2); 39 | Cout(9) <= GateOr(0) and Sout(2); 40 | 41 | Sout(3) <= Num_1(3) xor Num_2(3); 42 | Cout(3) <= Num_1(3) and Num_2(3); 43 | 44 | GateOr(1) <= Cout(9) or Cout(2); 45 | 46 | Sum(3) <= GateOr(1) xor Sout(3); 47 | Cout(10) <= GateOr(1) and Sout(3); 48 | 49 | Sout(4) <= Num_1(4) xor Num_2(4); 50 | Cout(4) <=Num_1(4) and Num_2(4); 51 | 52 | GateOr(2) <= Cout(10) or Cout(3); 53 | 54 | Sum(4) <= GateOr(2) xor Sout(4); 55 | Cout(11) <= GateOr(2) and Sout(4); 56 | 57 | Sout(5) <= Num_1(5) xor Num_2(5); 58 | Cout(5) <=Num_1(5) and Num_2(5); 59 | 60 | GateOr(3) <= Cout(11) or Cout(4); 61 | 62 | Sum(5) <= GateOr(3) xor Sout(5); 63 | Cout(12) <= GateOr(3) and Sout(5); 64 | 65 | Sout(6) <= Num_1(6) xor Num_2(6); 66 | Cout(6) <=Num_1(6) and Num_2(6); 67 | 68 | GateOr(4) <= Cout(12) or Cout(5); 69 | 70 | Sum(6) <= GateOr(4) xor Sout(6); 71 | Cout(13) <= GateOr(4) and Sout(6); 72 | 73 | Sout(7) <= Num_1(7) xor Num_2(7); 74 | Cout(7) <=Num_1(7) and Num_2(7); 75 | 76 | GateOr(5) <= Cout(13) or Cout(6); 77 | 78 | Sum(7) <= GateOr(5) xor Sout(7); 79 | Cout(14) <= GateOr(5) and Sout(7); 80 | 81 | Carry <= Cout(14) or Cout(7); 82 | 83 | 84 | end architecture Behavioral; 85 | -------------------------------------------------------------------------------- /0_logic_design_lab/_vhdl_ile_devre_tasarimi/sequential_circuits/parking_automation.vhd: -------------------------------------------------------------------------------- 1 | --SAYISAL TASARIM LAB. DERSÝ 2 | --OTOPARK PROJESÝ 3 | --ONUR TAS 4 | Library IEEE; 5 | Use IEEE.std_logic_1164.all; 6 | Use IEEE.std_logic_unsigned.all; 7 | 8 | Entity eOtopark is 9 | Port( s : in std_logic; --saat girisi 10 | A : in std_logic_vector(2 downto 0); --sensor degerleri 11 | --A(0) a sensoru 12 | --A(1) b sensoru 13 | --A(2) c sensoru 14 | secim : in std_logic; 15 | --secim=1 otoparka giris 16 | --secim=0 otoparktan cikis 17 | F : out std_logic_vector(3 downto 0)); 18 | End eOtopark; 19 | 20 | Architecture Behv of eOtopark is 21 | Signal temp : std_logic_vector(3 downto 0) :="0000"; 22 | --Durum tanimlari 23 | Type tDurumlar is (BSL, GRS1, GRS2, GRS3, GRS4, BTS); 24 | Signal dSimdi : tDurumlar:= BSL; --ilk durumdan baslar 25 | 26 | Begin 27 | process(s) 28 | begin 29 | if(secim = '1') THEN-- araba giris yapar 30 | if( Rising_edge(s) ) THEN 31 | Case dSimdi is 32 | When BSL => 33 | if(A="100") THEN dSimdi <= GRS1; 34 | End if; 35 | When GRS1 => 36 | if(A="110") THEN dSimdi <= GRS2; 37 | Elsif(A="000") THEN dSimdi <= BSL; 38 | End if; 39 | When GRS2 => 40 | if(A="011") THEN dSimdi <= GRS3; 41 | Elsif(A="100") THEN dSimdi <= GRS1; 42 | End if; 43 | When GRS3 => 44 | if(A="001") THEN dSimdi <= GRS4; 45 | Elsif(A="110") THEN dSimdi <= GRS2; 46 | End if; 47 | When GRS4 => 48 | if(A="000") THEN dSimdi <= BTS; 49 | Elsif(A="011") THEN dSimdi <= GRS3; 50 | End if; 51 | 52 | When BTS => 53 | temp <= temp + 1; 54 | End Case; 55 | end if; 56 | end if; 57 | 58 | if(secim = '0') THEN-- araba cikis yapar 59 | if( Rising_edge(s) ) THEN 60 | Case dSimdi is 61 | 62 | When BSL => 63 | if(A="001") THEN dSimdi <= GRS1; 64 | End if; 65 | When GRS1 => 66 | if(A="011") THEN dSimdi <= GRS2; 67 | Elsif(A="000") THEN dSimdi <= BSL; 68 | End if; 69 | When GRS2 => 70 | if(A="110") THEN dSimdi <= GRS3; 71 | Elsif(A="001") THEN dSimdi <= GRS1; 72 | End if; 73 | When GRS3 => 74 | if(A="100") THEN dSimdi <= GRS4; 75 | Elsif(A="011") THEN dSimdi <= GRS2; 76 | End if; 77 | When GRS4 => 78 | if(A="000") THEN dSimdi <= BTS; 79 | Elsif(A="110") THEN dSimdi <= GRS3; 80 | End if; 81 | When BTS => 82 | temp <= temp - 1; 83 | End Case; 84 | end if; 85 | end if; 86 | 87 | end process; 88 | F <= temp; 89 | End Behv; 90 | -------------------------------------------------------------------------------- /0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/8bit-halfadder_bit_by_bit.vhd: -------------------------------------------------------------------------------- 1 | -- https://www.youtube.com/watch?v=lum1l7w0_UQ 2 | 3 | library IEEE; 4 | use IEEE.STD_LOGIC_1164.ALL; 5 | use IEEE.NUMERIC_STD.ALL; 6 | 7 | 8 | entity EightBitHalfAdder is 9 | port 10 | ( 11 | Num_1, Num_2 : in std_logic_vector(7 downto 0); 12 | Sum : out std_logic_vector(7 downto 0); 13 | Carry : out std_logic 14 | ); 15 | 16 | end entity EightBitHalfAdder; 17 | 18 | architecture Behavioral of EightBitHalfAdder is 19 | signal Cout : std_logic_vector(14 downto 0); 20 | signal Sout : std_logic_vector(7 downto 1); 21 | signal GateOr : std_logic_vector(5 downto 0); 22 | begin 23 | 24 | Sum(0) <= Num_1(0) xor Num_2(0); 25 | Cout(0) <= Num_1(0) and Num_2(0); --Half Adder 0 26 | 27 | Sout(1) <= Num_1(1) xor Num_2(1); 28 | Cout(1) <= Num_1(1) and Num_2(1); --Half Adder 1 29 | 30 | Sum(1) <= Cout(0) xor Sout(1); 31 | Cout(8) <= Cout(0) and Sout(1); --Half Adder 8 32 | 33 | Sout(2) <= Num_1(2) xor Num_2(2); 34 | Cout(2) <= Num_1(2) and Num_2(2); --Half Adder 2 35 | 36 | GateOr(0) <= Cout(8) or Cout(1); 37 | 38 | Sum(2) <= GateOr(0) xor Sout(2); 39 | Cout(9) <= GateOr(0) and Sout(2); 40 | 41 | Sout(3) <= Num_1(3) xor Num_2(3); 42 | Cout(3) <= Num_1(3) and Num_2(3); 43 | 44 | GateOr(1) <= Cout(9) or Cout(2); 45 | 46 | Sum(3) <= GateOr(1) xor Sout(3); 47 | Cout(10) <= GateOr(1) and Sout(3); 48 | 49 | Sout(4) <= Num_1(4) xor Num_2(4); 50 | Cout(4) <=Num_1(4) and Num_2(4); 51 | 52 | GateOr(2) <= Cout(10) or Cout(3); 53 | 54 | Sum(4) <= GateOr(2) xor Sout(4); 55 | Cout(11) <= GateOr(2) and Sout(4); 56 | 57 | Sout(5) <= Num_1(5) xor Num_2(5); 58 | Cout(5) <=Num_1(5) and Num_2(5); 59 | 60 | GateOr(3) <= Cout(11) or Cout(4); 61 | 62 | Sum(5) <= GateOr(3) xor Sout(5); 63 | Cout(12) <= GateOr(3) and Sout(5); 64 | 65 | Sout(6) <= Num_1(6) xor Num_2(6); 66 | Cout(6) <=Num_1(6) and Num_2(6); 67 | 68 | GateOr(4) <= Cout(12) or Cout(5); 69 | 70 | Sum(6) <= GateOr(4) xor Sout(6); 71 | Cout(13) <= GateOr(4) and Sout(6); 72 | 73 | Sout(7) <= Num_1(7) xor Num_2(7); 74 | Cout(7) <=Num_1(7) and Num_2(7); 75 | 76 | GateOr(5) <= Cout(13) or Cout(6); 77 | 78 | Sum(7) <= GateOr(5) xor Sout(7); 79 | Cout(14) <= GateOr(5) and Sout(7); 80 | 81 | Carry <= Cout(14) or Cout(7); 82 | 83 | 84 | end architecture Behavioral; 85 | -------------------------------------------------------------------------------- /0_logic_design_lab/_vhdl_ile_devre_tasarimi/sequential_circuits/parking_automation/sdm.vhd: -------------------------------------------------------------------------------- 1 | ------------------------------------------- 2 | ---@Ayşe Nur Gökkaya | 3 | --- 348402 Sayısal Tasarım Lab (2. Oturum)| 4 | ---Otopark Giriş Sistemi | 5 | ------------------------------------------- 6 | -- https://youtu.be/RdBX7pWCbrw 7 | 8 | Library IEEE; --Kutuphane 9 | use IEEE.std_logic_1164.all; --Paket 10 | 11 | Entity eOtopark is --Devre Elemanı Tanıtımı 12 | Port( s : in std_logic; --saat 13 | A : in std_logic_vector(2 downto 0); --Durumlar 14 | F : out std_logic_vector(1 downto 0)); --Çıkışlar 15 | End eOtopark; 16 | 17 | Architecture Behv of eOtopark is -- Devrenin mimarisi 18 | Type tDurumlar is( bsl,grs0,grs1,grs2,grd,cks0,cks1,cks2,ckt); 19 | Signal dSimdi: tDurumlar:=bsl; 20 | begin 21 | process(s) 22 | begin 23 | if(rising_edge(s)) then 24 | Case dSimdi is 25 | when bsl => 26 | if(A="000") then 27 | f<="00"; dsimdi<=bsl; 28 | elsif(A="100") then 29 | f<="00"; dsimdi<=grs0; 30 | elsif(A="001") then 31 | f<="00"; dsimdi<=cks0; 32 | End if; 33 | when grs0 => 34 | if(A="110") then 35 | f<="00"; dsimdi<=grs1; 36 | elsif(A="100") then 37 | f<="10"; dsimdi<=ckt; 38 | End if; 39 | when grs1 => 40 | if(A="011") then 41 | f<="00"; dsimdi<=grs2; 42 | elsif(A="110") then 43 | f<="00"; dsimdi<=cks2; 44 | End if; 45 | when grs2 => 46 | if(A="001") then 47 | f<="01"; dsimdi<=grd; 48 | elsif(A="011") then 49 | f<="00"; dsimdi<=cks1; 50 | End if; 51 | when grd => 52 | if(A="000") then 53 | f<="00"; dsimdi<=bsl; 54 | elsif(A="001") then 55 | f<="00"; dsimdi<=cks0; 56 | End if; 57 | when cks0 => 58 | if(A="001") then 59 | f<="01"; dsimdi<=grd; 60 | elsif(A="011") then 61 | f<="00"; dsimdi<=cks1; 62 | End if; 63 | when cks1 => 64 | if(A="011") then 65 | f<="00"; dsimdi<=grs2; 66 | elsif(A="110") then 67 | f<="00"; dsimdi<=cks2; 68 | End if; 69 | when cks2 => 70 | if(A="110") then 71 | f<="00"; dsimdi<=grs1; 72 | elsif(A="100") then 73 | f<="10"; dsimdi<=ckt; 74 | End if; 75 | when ckt => 76 | if(A="100") then 77 | f<="00"; dsimdi<=grs0; 78 | elsif(A="000") then 79 | f<="00"; dsimdi<=bsl; 80 | End if; 81 | End Case; 82 | End if; 83 | End process; 84 | End Behv; 85 | -------------------------------------------------------------------------------- /0_logic_design_lab/2_vhdl_ile_ardisil_devre_tasarimi/readme.md: -------------------------------------------------------------------------------- 1 | # VHDL ile Ardışıl Devre Tasarımı 2 | 3 | ## Özet 4 | 5 | * Bu sayfa KTÜ Bilgisayar Mühendiliği Bölümünde Sayısal Tasarım Laboratuvarında 2 nolu deney olarak verilen **VHDL ile Ardışıl Devre Tasarımı** için hazırlanmıştır. 6 | * Deneye gelmeden önce [Deney Föyü](https://www.ktu.edu.tr/dosyalar/bilgisayar_8a5d5.pdf) okunarak temel kavramlar öğrenilmelidir. 7 | * Daha sonra [Deney Hazırlığı](#deney-hazırlığı) bölümündeki videolar izlenmelidir. 8 | * Deney esnasında anlatılan _Sonlu Durum Makinesi (SDN) ile Çamaşır Makinesi_ problemi için gerekli kodlar yazılmalı ve deney sorumlusu tarafından istenen değişiklikler yapılmalıdır. SDN için fonksiyonel simülasyonu yapılmalı ve rapor için gerekli ekran görüntüleri alınmalıdır. 9 | * Deney sonrasında rapor hazırlanmalı ve süresi içinde teslim edilmelidir. 10 | * Rapor hazırlanırken [Deney Raporunda İstenen](#deney-raporunda-i̇stenen) bölümündeki açıklamalara dikkat edilmelidir. 11 | 12 | --- 13 | 14 | ### Deney Hazırlığı 15 | * Deney hazırlığı için gerekli **Deney Hazırlık Videoları** 16 | 1. [Temel kavramlar ve genel bilgiler](https://youtu.be/GM-62MMqvH8) 17 | 1. [Sonlu Durum Makinesi ile Çamaşır Makinesi Problemi](https://youtu.be/E0rt9_qNqWc), _[Kaynak kod](eSDM.vhd)_ 18 | * **Opsiyonel**: Daha fazla bilgi için [Video 1](https://youtu.be/Z6Ql3Jw2hTU) (16dk) ve [Video 2](https://youtu.be/cg_CRbJMDLM) (~12dk) izlenebir. 19 | 20 | 21 | ### Deney Raporunda İstenen 22 | * Rapor, **grup halinde** deney bitiminden sonra 1-2 haftalık süre içerisinde hazırlanmalıdır. 23 | * Rapor, grubu oluşturan öğrencilerin deney esnasında aldıkları notları birleştirerek her grup için tek bir rapor olacak şekilde hazırlanmalıdır. 24 | * Deney raporu, grubu oluşturan öğrencilerden biri tarafından verilen sürede teslim edilmelidir ve kapak hariç 3-4 sayfadan oluşmalıdır. 25 | * Raporda her bir kod için **deney tasarlama, deney yapma, veri toplama, sonuçları analiz etme ve yorumlama** bölümleri olmalıdır. Gruptaki her öğrenci rapordan eşit derecede sorumludur. 26 | * Raporlar UZEM’deki derste size açılacak moodle sistemi üzerinden grubu oluşturan öğrencilerden biri tarafından pdf formatında teslim edilmelidir. 27 | * **Rapor Konusu ve İçeriği** 28 | * Temel ve Teorik Bilgiler 29 | * Föyde yazılı olan çamaşır makinesi VHDL koduna "Kurutma" durumu eklenmiş VHDL kodu ve fonksiyonel simülasyon (ekran görüntüleri ve anlatım rapora yazılacak, video linki eklenecektir) 30 | Yaptığınız simülasyonu anlatan video çekiniz ve bu videoların linklerini rapora ekleyiniz (videolar en az 1 yıl erişime açık kalacak şekilde ayarlanmalıdır). - **[ÖDEV Açıklaması (video)](https://youtu.be/E0rt9_qNqWc?t=1672)** 31 | * Deney raporu hazırlayarak süresi içerisinde yüklemelisiniz. 32 | -------------------------------------------------------------------------------- /1_computer_org_lab/adc/pastexams/20g-test-aiken_format.txt: -------------------------------------------------------------------------------- 1 | Sorular (AIKEN Formatı) 2 | Bir ADC sisteminde minimum ve maksimum değerler sırasıyla -12.8V ve 12.7V olarak ayarlanmaktadır. 8 bit ADC tasarlandığı düşünülürse kuantum değerini hesaplayınız. 3 | A) 10^-2V 4 | B) 10^2V 5 | C) 0.1mV 6 | D) 100mV 7 | E) 10mV 8 | ANSWER: D 9 | 10 | Minimum ve maksimum değerleri sırasıyla 0V ve 2.55V olan 8 bitlik bir ADC sisteminde 1.23V giriş gerilimi sayısala çevrilirken ardışıl yaklaşım yöntemi kullanılmaktadır. Çevrilme döngüsünün 3. adımında DA dönüştürücünün girişine uygulanan sayısal bilgi ne olur? 11 | A) 1110 0000 12 | B) 0110 0000 13 | C) 0010 0000 14 | D) 0000 0100 15 | E) 0000 0011 16 | ANSWER: B 17 | 18 | Minimum ve maksimum değerleri sırasıyla 0V ve 2.55V olan 8 bitlik bir ADC sisteminde 1.23V giriş gerilimi sayısala çevrilirken ardışıl yaklaşım yöntemi kullanılmaktadır. Çevrilme döngüsünün 5. adımında DA dönüştürücünün girişine uygulanan sayısal bilgi ne olur? 19 | A) 0111 1000 20 | B) 0110 0000 21 | C) 0010 0000 22 | D) 0001 0000 23 | E) 0000 0101 24 | ANSWER: A 25 | 26 | Minimum ve maksimum değerleri sırasıyla 0V ve 2.55V olan 8 bitlik bir ADC sisteminde 1.23V giriş gerilimi sayısala çevrilirken ardışıl yaklaşım yöntemi kullanılmaktadır. Çevrilme döngüsünün 7. adımında DA dönüştürücünün girişine uygulanan sayısal bilgi ne olur? 27 | A) 0111 1111 28 | B) 0110 1110 29 | C) 0000 0010 30 | D) 0111 1010 31 | E) 0000 0111 32 | ANSWER: D 33 | 34 | Minimum ve maksimum değerleri sırasıyla 0V ve 3.75V olan 4 bitlik bir ADC sisteminde 1.7V giriş gerilimi sayısala çevrilirken rampa yöntemi kullanılmaktadır. Çevrilme döngüsünün 3. adımında DA dönüştürücünün girişine uygulanan sayısal bilgi ne olur? (1. adımda DA dönüştürücünün girişine 0V karşılığı olan (0b0000) uygulandığını dikkate alınız) 35 | A) 0b1000 36 | B) 0b0101 37 | C) 0b0010 38 | D) 0b0011 39 | E) 0b0100 40 | ANSWER: C 41 | 42 | Minimum ve maksimum değerleri sırasıyla 0V ve 3.75V olan 4 bitlik bir ADC sisteminde 1.7V giriş gerilimi sayısala çevrilirken rampa yöntemi kullanılmaktadır. Çevrilme döngüsünün 5. adımında DA dönüştürücünün girişine uygulanan sayısal bilgi ne olur? (1. adımda DA dönüştürücünün girişine (0b0001) uygulandığını dikkate alınız) 43 | A) 0b1000 44 | B) 0b0100 45 | C) 0b0010 46 | D) 0b0011 47 | E) 0b0101 48 | ANSWER: E 49 | 50 | Minimum ve maksimum değerleri sırasıyla 0V ve 2.55V olan 8 bitlik bir ADC sisteminde 0.7V giriş gerilimi sayısala çevrilirken rampa yöntemi kullanılmaktadır. Çevrilme döngüsünün 7. adımında DA dönüştürücünün girişine uygulanan sayısal bilgi ne olur? (1. adımda DA dönüştürücünün girişine (0b0001) uygulandığını dikkate alınız) 51 | A) 0b0000 0111 52 | B) 0b0100 0110 53 | C) 0b0010 0011 54 | D) 0b0100 0111 55 | E) 0b0000 0110 56 | ANSWER: A 57 | 58 | Örnekleme frekansı 9600Hz olan bir ses kartında her bir örnek 24 bit ile sayısala çevrildiğinde toplamda 2 saniyelik ses sinyalinin sayısal karşılığının boyutunu ne olur? (Herhangi bir kodlama ve sıkıştırma tekniği kullanılmamıştır) 59 | A) 460800 byte 60 | B) 230400 byte 61 | C) 57600 byte 62 | D) 19200 byte 63 | E) 28800 byte 64 | ANSWER: C -------------------------------------------------------------------------------- /0_logic_design_lab/_vhdl_ile_devre_tasarimi/combinational_circuits/encoder_decoder.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ![](imgs/logo.jpg) 4 | # SAYISAL TASARIM LABORATUVARI PROJE RAPORU DECODER VE ENCODER 5 | 6 | 7 | 8 | Mehmet SANTOR 9 | 10 | 330081-1.öğretim 11 | 12 | 13 | # GİRİŞ 14 | 15 | Bu projede encoder ve decoder kombinasyonel devreleri incelenmiş ve ModelSim uygulaması yardımı ile simüle edilmiştir. 16 | 17 | 18 | # Encoder - Decoder Nedir? 19 | 20 | Endüstride, haberleşmede, bilgisayarda ve daha birçok yerde dijital elektronik kullanılır. 21 | Elektronik sistemlerde, çiplerin içerisinde mantık devreleri bulunmaktadır. 22 | Bu mantık devrelerinde en basitinden kodlayıcı ve kod çözücülerle işlemler yapılır. 23 | 24 | ![](imgs/1.jpg) 25 | 26 | 27 | # Kodlayıcı Devreler 28 | 29 | Kodlayıcı, sayısal bir bilginin, başka bir sayısal bilgiye dönüştürülmesi için kullanılan lojik bir devredir. 30 | Örneğin, desimal (onluk) sayı sisteminde girilen sayısal bilgileri, binary (ikili) sayı sistemlerine dönüştürür. 31 | Alfanümerik tuş takımlarında ve klavyede kodlayıcı devreler kullanılır. 32 | 33 | ### --- Kodlayıcı Blok şeması --- 34 | 35 | ![](imgs/2.jpg) 36 | 37 | # Kodlayıcı Tasarımı 38 | Kodlayıcı tasarlarken giriş sayısını belirlememiz lazım. Bu girişleri kodlayabilecek minimum çıkış sayısını hesaplarız. 39 | 12 adet giriş kodlanması gerekiyorsa 2n > 12 formülü yardımıyla n’nin değerinin 4 olduğunu ve devrede 4 tane çıkış olması gerektiğini buluruz. 40 | Doğruluk tablosunu oluşturup, devrenin tasarımına geçilir. 41 | 42 | 4 bitlik giriş kodlamak istersek; 43 | 44 | 2^n>4 formülünden n=2 45 | 46 | ### --- 4x2 Encoder Doğruluk Tablosu --- 47 | 48 | ![](imgs/3.jpg) 49 | 50 | D0 girişi 1 olunca çıkış 00 51 | D1 girişi 1 olunca çıkış 01 52 | D2 girişi 1 olunca çıkış 10 53 | D3 girişi 1 olunca çıkış 11 54 | 55 | Çıkışların 1 olduğu yerlerin denklemi yazılırsa; 56 | 57 | X=D2+D3 58 | 59 | Y=D3+D1 60 | 61 | ### --- 4X2 Encoder devresi --- 62 | 63 | ![](imgs/4.jpg) 64 | 65 | 66 | # Decimal – BCD kodlayıcı 67 | 10’luk sayı sisteminde ki kodları, bcd (ikili sayı sistemi ) koduna dönüştürür. 68 | 69 | ### --- Decimal-BCD Doğruluk tablosu --- 70 | 71 | ![](imgs/5.jpg) 72 | 73 | # Kod Çözücü Devreler 74 | 75 | Kod çözücü(decoder), kodlayıcının tersi işlem yapar. 76 | Kodlanmış bilgileri anlaşılır hale dönüştürmek için kullanılır. 77 | Örneğin cep telefonumuza gelen mesajları 2’lik sayı sisteminde anlayamayız. 78 | Gelen bilgiler çözümlenerek metin formatı haline getirilir. Bilgisayarda anakart, diğer mikroişlemcilerde adresleme amacıyla kullanılır. 79 | 80 | ### --- Kod çözücü blok diyagram --- 81 | 82 | ![](imgs/6.jpg) 83 | 84 | # Kod Çözücü Tasarımı 85 | 86 | Kod çözücü tasarlarken n tane giriş varsa 2n tane çıkış vardır. 87 | Kodlayıcı ve Kod Çözücü Entegreler Entegreler devre tasarımını daha kolay ve düşük maliyetli hale getirmektedir. 88 | Kodlayıcı ve kod çözücü tasarlarken çeşitli devre elemanları kullanmaktansa tümleşik entegreler tercih edilir. 89 | TTL, CMOS gibi entegre türleri çoğunlukla kullanılır. 90 | 91 | ### --- 2x4 decoder doğruluk tablosu --- 92 | 93 | ![](imgs/7.jpg) 94 | 95 | Y0= ¯AB 96 | 97 | Y1=¯AB 98 | 99 | Y2=A¯B 100 | 101 | Y3=AB 102 | 103 | ### --- 2x4 tasarlanmış decoder --- 104 | 105 | ![](imgs/8.jpg) 106 | 107 | # Simüle Edilen Devreler 108 | 109 | ## - 8:3 ENCODER 110 | 111 | ### --- Blok diyagram ve doğruluk tablosu --- 112 | 113 | ![](imgs/9.jpg) 114 | 115 | ## - 16:4 ENCODER 116 | 117 | ### --- Blok diyagram --- 118 | 119 | ![](imgs/10.jpg) 120 | 121 | ### --- Doğruluk tablosu --- 122 | 123 | ![](imgs/11.jpg) 124 | 125 | ## - 3:8 DECODER 126 | 127 | ### --- Blok diyagram ve doğruluk tablosu --- 128 | 129 | ![](imgs/12.jpg) 130 | 131 | ## - 4:16 DECODER 132 | 133 | ### --- Blok diyagram ve doğruluk tablosu --- 134 | 135 | ![](imgs/13.jpg) 136 | 137 | # Kodlayıcı entegreler 138 | 139 | 140 | ## - 74LS147 141 | 142 | Desimal – BCD kodlama için kullanılır. Klavye kodlama ve seçme işlemleri için uygundur. 143 | 144 | ### --- 74LS147 entegresi ve bacak isimleri --- 145 | 146 | ![](imgs/14.jpg) 147 | 148 | Normal koşullarda çıkış aktif olduğunda değeri lojik 1 olması gerekir. Bu çıkışa aktif 1 (Active High) adı verilir. 149 | Eğer ki çıkış aktif olduğunda değeri lojik 0 oluyorsa buna aktif 0 (Active Low) adı verilir. 150 | 151 | 74LS147 entegresi giriş ve çıkışları aktif 0’dır. Yani girişin aktif olabilmesi için lojik 0 uygulanmalıdır, çıkış aktif olduğunda lojik 0 alınır. 152 | 153 | 74LS147 entegresi de öncelikli kodlayıcıdır, yüksek girişin önceliği vardır. En yüksek giriş 9. Giriştir. 154 | 155 | ### --- 74LS147 doğruluk tablosu --- 156 | 157 | ![](imgs/15.jpg) 158 | 159 | 160 | ## - 74LS148 161 | 162 | Octal – BCD kodlama için kullanılır. 74148 entegresi 8 giriş 3 çıkış öncelikli kodlayıcıdır. 163 | Bu entegre için, Bu entegrenin girişleri değillenmiştir. Yani girişleri aktif etmek için lojik 0 verilmelidir. 164 | Bu entegrenin 8 girişi(G0 – G7) ve bir kontrol ucu(Ein) vardır. Ein=1 olduğunda entegre pasif durumdadır. 165 | 166 | ### --- 74148 entegresi --- 167 | 168 | ![](imgs/16.jpg) 169 | 170 | ### --- 74LS148 doğruluk tablosu --- 171 | 172 | ![](imgs/17.jpg) 173 | 174 | # Kod çözücü entegreler 175 | 176 | ## - 74LS138 177 | 178 | 74LS138 kod çözücü entegresi hafıza sistemlerinde entegre seçiminde ve benzer amaçlarla diğer elektronik devrelerde kullanılır. 179 | Demultiplexer elemanı olarak da kullanılabilmektedir. 180 | 181 | ### --- 74LS138 decoder entegresi ve bacak isimleri --- 182 | 183 | ![](imgs/18.jpg) 184 | 185 | 186 | ## - 74LS47 ve 7 segment display 187 | 188 | ### --- 74LS47 Decoder entegresi --- 189 | 190 | ![](imgs/19.jpg) 191 | 192 | ![](imgs/20.jpg) 193 | 194 | 195 | Giriş değerlerine göre çıkışta elde edilen 7 ledli göstergeye uygun bilgiler görülmektedir. 196 | Entegre çıkışında 7 ledli gösterge değerlerini elde etmek için LT, RBI ve BI/RB0 uçlarının lojik-1’e bağlanması gereklidir. 197 | 198 | ### --- Doğruluk tablosu --- 199 | 200 | ![](imgs/21.jpg) 201 | 202 | ### --- 7447 İSİS çizimi --- 203 | 204 | ![](imgs/22.jpg) 205 | 206 | ### --- 7 segment display çıkışı --- 207 | 208 | ![](imgs/23.jpg) 209 | 210 | 211 | Encoder ve decoder kullanım alanları Kod çözücü (decoder) ile bir kodlayıcı (encoder) arka arkaya bağlanırsa, 212 | sistemin girdi değeri, çıktı değeri olarak okunur. Kodlayıcı devresini, kapılar kullanarak yapmak da mümkündür. 213 | 214 | Sayısal kodlayıcılar motorların şaftlarına yerleştirilerek servo motor üretiminde kullanılmaktadırlar. 215 | Hareketi dijital darbelere (puls) dönüştüren cihazlardır. 216 | Elde edilen bu dijital darbeler sayılarak ya da bit şeklinde okunarak hareketin hızını veya cismin o anki konumunu elde etmek mümkündür. 217 | 218 | 219 | 220 | 221 | 222 | # KAYNAKÇA: 223 | - https://www.coursehero.com/tutors-problems/Computer-Science/9973001-Please-refer-to-the-attachment-to-answer-this-question-This-question/ 224 | - https://www.elektrikport.com/teknik-kutuphane/encoder--decoder-nedir/16911#ad-image-0 225 | - **Derleyen ve Hazırlayan:** [Mehmet Santor](https://github.com/SANT0R/examples) 226 | 227 | -------------------------------------------------------------------------------- /0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/combinational_circuits/encoder_decoder.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ![](imgs/logo.jpg) 4 | # SAYISAL TASARIM LABORATUVARI PROJE RAPORU DECODER VE ENCODER 5 | 6 | 7 | 8 | Mehmet SANTOR 9 | 10 | 330081-1.öğretim 11 | 12 | 13 | # GİRİŞ 14 | 15 | Bu projede encoder ve decoder kombinasyonel devreleri incelenmiş ve ModelSim uygulaması yardımı ile simüle edilmiştir. 16 | 17 | 18 | # Encoder - Decoder Nedir? 19 | 20 | Endüstride, haberleşmede, bilgisayarda ve daha birçok yerde dijital elektronik kullanılır. 21 | Elektronik sistemlerde, çiplerin içerisinde mantık devreleri bulunmaktadır. 22 | Bu mantık devrelerinde en basitinden kodlayıcı ve kod çözücülerle işlemler yapılır. 23 | 24 | ![](imgs/1.jpg) 25 | 26 | 27 | # Kodlayıcı Devreler 28 | 29 | Kodlayıcı, sayısal bir bilginin, başka bir sayısal bilgiye dönüştürülmesi için kullanılan lojik bir devredir. 30 | Örneğin, desimal (onluk) sayı sisteminde girilen sayısal bilgileri, binary (ikili) sayı sistemlerine dönüştürür. 31 | Alfanümerik tuş takımlarında ve klavyede kodlayıcı devreler kullanılır. 32 | 33 | ### --- Kodlayıcı Blok şeması --- 34 | 35 | ![](imgs/2.jpg) 36 | 37 | # Kodlayıcı Tasarımı 38 | Kodlayıcı tasarlarken giriş sayısını belirlememiz lazım. Bu girişleri kodlayabilecek minimum çıkış sayısını hesaplarız. 39 | 12 adet giriş kodlanması gerekiyorsa 2n > 12 formülü yardımıyla n’nin değerinin 4 olduğunu ve devrede 4 tane çıkış olması gerektiğini buluruz. 40 | Doğruluk tablosunu oluşturup, devrenin tasarımına geçilir. 41 | 42 | 4 bitlik giriş kodlamak istersek; 43 | 44 | 2^n>4 formülünden n=2 45 | 46 | ### --- 4x2 Encoder Doğruluk Tablosu --- 47 | 48 | ![](imgs/3.jpg) 49 | 50 | D0 girişi 1 olunca çıkış 00 51 | D1 girişi 1 olunca çıkış 01 52 | D2 girişi 1 olunca çıkış 10 53 | D3 girişi 1 olunca çıkış 11 54 | 55 | Çıkışların 1 olduğu yerlerin denklemi yazılırsa; 56 | 57 | X=D2+D3 58 | 59 | Y=D3+D1 60 | 61 | ### --- 4X2 Encoder devresi --- 62 | 63 | ![](imgs/4.jpg) 64 | 65 | 66 | # Decimal – BCD kodlayıcı 67 | 10’luk sayı sisteminde ki kodları, bcd (ikili sayı sistemi ) koduna dönüştürür. 68 | 69 | ### --- Decimal-BCD Doğruluk tablosu --- 70 | 71 | ![](imgs/5.jpg) 72 | 73 | # Kod Çözücü Devreler 74 | 75 | Kod çözücü(decoder), kodlayıcının tersi işlem yapar. 76 | Kodlanmış bilgileri anlaşılır hale dönüştürmek için kullanılır. 77 | Örneğin cep telefonumuza gelen mesajları 2’lik sayı sisteminde anlayamayız. 78 | Gelen bilgiler çözümlenerek metin formatı haline getirilir. Bilgisayarda anakart, diğer mikroişlemcilerde adresleme amacıyla kullanılır. 79 | 80 | ### --- Kod çözücü blok diyagram --- 81 | 82 | ![](imgs/6.jpg) 83 | 84 | # Kod Çözücü Tasarımı 85 | 86 | Kod çözücü tasarlarken n tane giriş varsa 2n tane çıkış vardır. 87 | Kodlayıcı ve Kod Çözücü Entegreler Entegreler devre tasarımını daha kolay ve düşük maliyetli hale getirmektedir. 88 | Kodlayıcı ve kod çözücü tasarlarken çeşitli devre elemanları kullanmaktansa tümleşik entegreler tercih edilir. 89 | TTL, CMOS gibi entegre türleri çoğunlukla kullanılır. 90 | 91 | ### --- 2x4 decoder doğruluk tablosu --- 92 | 93 | ![](imgs/7.jpg) 94 | 95 | Y0= ¯AB 96 | 97 | Y1=¯AB 98 | 99 | Y2=A¯B 100 | 101 | Y3=AB 102 | 103 | ### --- 2x4 tasarlanmış decoder --- 104 | 105 | ![](imgs/8.jpg) 106 | 107 | # Simüle Edilen Devreler 108 | 109 | ## - 8:3 ENCODER 110 | 111 | ### --- Blok diyagram ve doğruluk tablosu --- 112 | 113 | ![](imgs/9.jpg) 114 | 115 | ## - 16:4 ENCODER 116 | 117 | ### --- Blok diyagram --- 118 | 119 | ![](imgs/10.jpg) 120 | 121 | ### --- Doğruluk tablosu --- 122 | 123 | ![](imgs/11.jpg) 124 | 125 | ## - 3:8 DECODER 126 | 127 | ### --- Blok diyagram ve doğruluk tablosu --- 128 | 129 | ![](imgs/12.jpg) 130 | 131 | ## - 4:16 DECODER 132 | 133 | ### --- Blok diyagram ve doğruluk tablosu --- 134 | 135 | ![](imgs/13.jpg) 136 | 137 | # Kodlayıcı entegreler 138 | 139 | 140 | ## - 74LS147 141 | 142 | Desimal – BCD kodlama için kullanılır. Klavye kodlama ve seçme işlemleri için uygundur. 143 | 144 | ### --- 74LS147 entegresi ve bacak isimleri --- 145 | 146 | ![](imgs/14.jpg) 147 | 148 | Normal koşullarda çıkış aktif olduğunda değeri lojik 1 olması gerekir. Bu çıkışa aktif 1 (Active High) adı verilir. 149 | Eğer ki çıkış aktif olduğunda değeri lojik 0 oluyorsa buna aktif 0 (Active Low) adı verilir. 150 | 151 | 74LS147 entegresi giriş ve çıkışları aktif 0’dır. Yani girişin aktif olabilmesi için lojik 0 uygulanmalıdır, çıkış aktif olduğunda lojik 0 alınır. 152 | 153 | 74LS147 entegresi de öncelikli kodlayıcıdır, yüksek girişin önceliği vardır. En yüksek giriş 9. Giriştir. 154 | 155 | ### --- 74LS147 doğruluk tablosu --- 156 | 157 | ![](imgs/15.jpg) 158 | 159 | 160 | ## - 74LS148 161 | 162 | Octal – BCD kodlama için kullanılır. 74148 entegresi 8 giriş 3 çıkış öncelikli kodlayıcıdır. 163 | Bu entegre için, Bu entegrenin girişleri değillenmiştir. Yani girişleri aktif etmek için lojik 0 verilmelidir. 164 | Bu entegrenin 8 girişi(G0 – G7) ve bir kontrol ucu(Ein) vardır. Ein=1 olduğunda entegre pasif durumdadır. 165 | 166 | ### --- 74148 entegresi --- 167 | 168 | ![](imgs/16.jpg) 169 | 170 | ### --- 74LS148 doğruluk tablosu --- 171 | 172 | ![](imgs/17.jpg) 173 | 174 | # Kod çözücü entegreler 175 | 176 | ## - 74LS138 177 | 178 | 74LS138 kod çözücü entegresi hafıza sistemlerinde entegre seçiminde ve benzer amaçlarla diğer elektronik devrelerde kullanılır. 179 | Demultiplexer elemanı olarak da kullanılabilmektedir. 180 | 181 | ### --- 74LS138 decoder entegresi ve bacak isimleri --- 182 | 183 | ![](imgs/18.jpg) 184 | 185 | 186 | ## - 74LS47 ve 7 segment display 187 | 188 | ### --- 74LS47 Decoder entegresi --- 189 | 190 | ![](imgs/19.jpg) 191 | 192 | ![](imgs/20.jpg) 193 | 194 | 195 | Giriş değerlerine göre çıkışta elde edilen 7 ledli göstergeye uygun bilgiler görülmektedir. 196 | Entegre çıkışında 7 ledli gösterge değerlerini elde etmek için LT, RBI ve BI/RB0 uçlarının lojik-1’e bağlanması gereklidir. 197 | 198 | ### --- Doğruluk tablosu --- 199 | 200 | ![](imgs/21.jpg) 201 | 202 | ### --- 7447 İSİS çizimi --- 203 | 204 | ![](imgs/22.jpg) 205 | 206 | ### --- 7 segment display çıkışı --- 207 | 208 | ![](imgs/23.jpg) 209 | 210 | 211 | Encoder ve decoder kullanım alanları Kod çözücü (decoder) ile bir kodlayıcı (encoder) arka arkaya bağlanırsa, 212 | sistemin girdi değeri, çıktı değeri olarak okunur. Kodlayıcı devresini, kapılar kullanarak yapmak da mümkündür. 213 | 214 | Sayısal kodlayıcılar motorların şaftlarına yerleştirilerek servo motor üretiminde kullanılmaktadırlar. 215 | Hareketi dijital darbelere (puls) dönüştüren cihazlardır. 216 | Elde edilen bu dijital darbeler sayılarak ya da bit şeklinde okunarak hareketin hızını veya cismin o anki konumunu elde etmek mümkündür. 217 | 218 | 219 | 220 | 221 | 222 | # KAYNAKÇA: 223 | - https://www.coursehero.com/tutors-problems/Computer-Science/9973001-Please-refer-to-the-attachment-to-answer-this-question-This-question/ 224 | - https://www.elektrikport.com/teknik-kutuphane/encoder--decoder-nedir/16911#ad-image-0 225 | - **Derleyen ve Hazırlayan:** [Mehmet Santor](https://github.com/SANT0R/examples) 226 | 227 | -------------------------------------------------------------------------------- /2_computer_networks_lab/2_Wireless_Sensor_Networks/readme.md: -------------------------------------------------------------------------------- 1 | # Kablosuz Sensör Ağlar - Wireless Sensor Networks (WSN) 2 | 3 | ## Özet 4 | 5 | * Bilgisayar Ağları Laboratuvarında bir deney olarak tasarlanan bu deney **Kablosuz Sensör Ağları**nın simulasyonunu yapmayı kapsamaktadır. 6 | * Deney hakkında **teorik bilgi** edinmek ve deneye hazırlanmak için [Deney Föyü](http://www.ktu.edu.tr/dosyalar/bilgisayar_ce12e.pdf)'nü okumalısınız. 7 | * Ayrıca deney hakkında kısa bilgilendirmeye [buradan](#kablozsuz-sensör-ağları-wsn) ulaşabilirsiniz. 8 | * Deneyde öncelikle gerekli **kurulumu** yapmalısınız. [Kurulum](#kurulum) bölümünden detaylı bilgiye ulaşabilirsiniz. [Buradaki](https://www.youtube.com/watch?v=K5WOALitaDI) video'yu izleyerek de kurulumu gerçekleştirebilirsiniz. 9 | * Daha sonra deneyde yapılacak **uygulamaları** gerçekleştirmelisiniz. [Deneyde Gerçekleştirilecek Uygulamalar](#deneyde-gerçekleştirilecek-uygulamalar) bölümünden detaylı bilgiye ulaşabilirsiniz. [Buradaki](https://www.youtube.com/watch?v=mrsMAEgOZZ0) video'yu izleyerek uygulamaları gerçekleştirebilirsiniz. 10 | * Deneyde sırasıyla _Hello World_, _Boradcast_ ve _Client-Server_ uygulamaları yapılacaktır. Aşağıda [ayrıntılı açıklamaları](#deneyde-gerçekleşti̇ri̇lecek-uygulamalar) verilmiştir. 11 | * Deneylerin yapılışına ilişkin videolar 12 | * **Deney Uygulamaları**: [Cooja ile Simülayon](https://www.youtube.com/watch?v=mrsMAEgOZZ0&t=0s) - [HelloWorld](https://www.youtube.com/watch?v=mrsMAEgOZZ0&t=178s) | [BroadCast](https://www.youtube.com/watch?v=mrsMAEgOZZ0&t=590s) | [Client-Server](https://www.youtube.com/watch?v=mrsMAEgOZZ0&t=935s) 13 | * Son olarak _client-server_ uygulaması için **kaynak kod** üzerinde deney sorumlusunun isteyeceği değişiklikleri yaparak deneyi tamamlayınız. Bunun için kaynak kodu anlamanız gereklidir. [Client-Server Deneyi - Kaynak Kod Açıklaması](https://www.youtube.com/watch?v=dMEE6Udm3Kg) isimli video'yu izleyerek kaynak kodu anlayabilirsiniz. 14 | * Deneyi tamamladıktan sonra verilen süre içerisinde ve istenen kurallara uyarak grup olarak **deney raporu** hazırlayınız. Deney raporunu [buradaki](#deney-raporuna-i̇lişkin-açıklama) açıklamalara göre hazırlayınız. Deney raporu ile ilgili ayrıca şu videoya da bakabilirsiniz: [Rapor Açıklaması](https://youtu.be/mrsMAEgOZZ0?t=1507) 15 | 16 | --- 17 | 18 | ## Kablozsuz Sensör Ağları (WSN) 19 | Aşağıdaki şekilde kabaca kablosuz sensör ağların yapısı verilmektedir. 20 | 21 | ![WSN](/2_computer_networks_lab/2_Wireless_Sensor_Networks/Example-of-a-wireless-sensor-network-based-on-the-Berkeley-mote-platform-The-circles.png) 22 | 23 | * **Amaç**, sıcaklık, ses, basınç, nem gibi fiziksel ve çevresel değişiklikleri algılamak ve algılanan veriyi kurulan kablosuz ağ üzerinden işbirliği içerisinde ana bir merkeze iletmektir. 24 | * Kablosuz sensör ağlarda her bir **sensör düğümü (mote)** olarak isimlendirilir. 25 | * Kablosuz sensör ağlarda sensör düğümlerinin çalışması 3 aşamada düşünülebilir. 26 | * **Algılama (Sensing):** Sensörler vasıtasıyla fiziksel büyüklükler algılanır ve sayısal değer olarak iletilir. 27 | * **Bilgi İşleme (Processing):** Contiki vb. kısıtlı hafıza ve düşük güç gerektiren işletim sistemlerine yazılan yazılımlarla algılanan veriler işlenmektedir. 28 | * **Haberleşme**: Sensör düğümü (mote) ile diğer sensör düğümlerinin işbirliği içerisinde çalışarak verileri ana bir merkeze ulaştırır. 29 | * Fiziksel, veri iletim, ağ, taşıma ve uygulama katmanları (5 adet) yardımıyla haberleşilir. 30 | * Kullanılan standartlar, IEEE 802.15.4 ve onun üzerinde çalışan ZigBee protokolüdür. 31 | * Deneyde **contiki** işletim sistemi ve bu sisteme kurulu **coaja** simulatörü kullanılacaktır. 32 | 33 | --- 34 | 35 | ## Kurulum 36 | 1. Bilgisayarınızın donanım düzeyinde sanallaştırma "[Hardware Virtualization](https://h30434.www3.hp.com/t5/image/serverpage/image-id/23649i03555FB16979A05D/image-size/original?v=v2&px=-1)" seçeneği aktif olmalı 37 | 1. Bir linux dağıtımına kurulu "[Instant Contiki](https://sourceforge.net/projects/contiki/files/Instant%20Contiki/)" paketini (2.7 veya daha üst sürüm) elde edinin ve [VMware Workstation Player](https://www.vmware.com/) (veya [VirtualBox](https://www.virtualbox.org/)) sanal makinesine bu paketi kurun. (Üzerinde Wireless Sensor Network (WSN) simulasyonu için gerekli tüm araçlar ve contiki paketleri bulunan ubuntu işletim sistemi kurulu olarak bulunmaktadır) 38 | * **Instant Contiki** işletim sistemine giriş (login) için; 39 | * **username**: *user* 40 | * **password**: *user* 41 | * **Not:** Contiki işletim işletim sistemini mevcut bir Linux dağıtımına kaynak paketleri ([Github](https://github.com/contiki-os/contiki/releases)) kullanarak da kurabilirsiniz. Ancak deneyde "Instant Contiki" seçeneği üzerinden devam edilecektir. 42 | 1. Aşağıdaki kodu çalıştırın ve coaja simulatörünü açın, sonraki bölümdeki uygulamaları gerçekleştirin (_komutları çalıştırırken yönetici rolü gerekebilir, bu nedenle komutun başına **sudo** ön komutu eklemek gerekebilir_). 43 | 44 | cd contiki/tools/cooja 45 | 46 | ant run 47 | 48 | 49 | Cooja çalıştırıldıktan sonra simülasyon işlemleri yapabilirsiniz. Sırasıyla aşağıdaki videoları izleyerek deneyde yapılacak uygulamaları kendi kendinize deneyebilirsiniz. 50 | 51 | --- 52 | 53 | ## Deney Raporuna İlişkin Açıklama 54 | * Deney raporu grup olarak yazılacak ve grup üyelerinden biri tarafından sisteme yüklenecektir. 55 | * Deney raporu yukarıdaki 4 videonun (_Kurulum, Hello World, Broadcast ve Client Server_) uygulanışını içeren ekran görüntüleri ve gerekli açıklamaları içermelidir. 56 | * Raporda **deney tasarlama, deney yapma, veri toplama, sonuçları analiz etme ve yorumlama** başlıkları olmalıdır. Gruptaki her öğrenci rapordan eşit derecede sorumludur. 57 | * **Deney tasarlama**: Nasıl bir deney yapılacağı, hangi parametrelerin deney esnasında gözleneceği, deney için gerekli ön hazırlıklar gibi kısımlara değinilecektir (deneyi giriş kısmı). 58 | * **Deney yapma**: Yaptığınız deneye ilişkin kodlama veya ekran görüntüleri ve uygulanan talimatlar açıklanacaktır. 59 | * **Veri Toplama**:Deney için elde edilen konsol çıktılarıi ekran görüntüleri, log kayıtları gibi bilgilere değinilecektir. 60 | * **Sonuçları Analiz Etme ve Yorumlama**: Deney sonunda elde edilen sonuçların ne anlama geldiği deneyin amacı da dikkate alınarak yorumlanmalıdır. Deneyin öğrenciye ne kazandırdığı, ileriye yönelik öneriler bu kısımda verilmelidir. 61 | * Raporu, grup üyelerinden herhangi biri uzem modülünde bu deney için açılan ödeve **pdf** formatında süresi içinde yüklenmesi yeterlidir. 62 | * [Rapor Açıklaması](https://youtu.be/mrsMAEgOZZ0?t=1507) 63 | 64 | --- 65 | 66 | ## DENEYDE GERÇEKLEŞTİRİLECEK UYGULAMALAR 67 | 1. **COOJA** simülatörü kullanarak **"Hello World"** örneğini çalıştırın (_contiki/examples/hello-world_). **Bu uygulamanın amacı:** 68 | * cooja simulatörünü tanımak 69 | * istenen sayıda düğüm ekleyerek (Sky Mote) bu düğümlere kaynak kodu derleyerek göndermek. 70 | * simulasyon ektranında her bir kablosuz sensör düğümlerinin (mote) davranışlarını basitçe gözlemek. 71 | 1. **COOJA** simülatörü kullanarak _contiki/examples/ipv6/simple-upd-rpl/broadcastexample.c_ örneği gerçekleştirilecektir. Bu uygulamada; 72 | * 3-4 adet **Sky Mote** ekleyiniz. broadcastexample.c kodunu yükleyip derleyiniz. 73 | * Kablosuz sensör ağlarda her bir düğümün davranışlarını gözlemleyiniz. 74 | 1. **COOJA** simülatörü kullanılarak bir server/client uygulaması yapılacaktır. Bu uygulama için _examples/ipv6/rpl-udp/udp-server.c_ ve _examples/ipv6/rpl-udp/udp-client.c_ kaynak dosyaları kullanılacaktır. 75 | * Bir **Sky Mote** ekleyiniz. server.c kodunu yükleyip derleyiniz. 76 | * 3-4 adet **Sky Mote** ekleyiniz. client.c kodunu yükleyip derleyiniz. 77 | * Kablosuz sensör ağlarda server ve client düğümlerinin davranışlarını gözlemleyiniz. 78 | 79 | ### Ek Uygulamalar 80 | 1. **COOJA** simülatörü kullanarak Sky Mote sensör düğümlerinde bulunan sensörler ile sıcaklık, nem ve ışık değerleri okunacak ve server düğüme gönderilecektir. Bu uygulamada 2 de yapılan uygulamadan farklı olarak server cihazına “hello” mesajı yerine sensörlerden okunan değerler gönderilecektir. 81 | * Bu adım için Tmote Sky sensör fonksiyonları kullanabiliyor olmanız gerekir. 82 | * Alternatif olarak client düğümler kendi id numarasını sunucuya gönderebilirler (2 ya da daha çok sunucu olabilir), server düğüm[ler] bu numaraları alıp toplamını ekrana yazabilirler 83 | 1. *İkinci adımda gerçekleştirilen simülatör uygulaması Sky Mote donanımlarıyla gerçeklenecektir. Sensörlerden okunan değerler “minicom” isimli metin tabanlı modem kontrol programıyla görüntülenecektir.* 84 | 85 | --- 86 | 87 | ## Önemli Bağlantılar (Kaynaklar) 88 | * [Contiki Tutorial](https://anrg.usc.edu/contiki/index.php/Contiki_tutorials) - işletim sisteminin kurulumu ve örnek uygulamaları barındırır. 89 | * [Contiki OS](https://github.com/contiki-os/contiki) 90 | * [Contiki-NG OS](https://github.com/contiki-ng/contiki-ng) 91 | * Some WSN Tutorials 92 | * [WSN Tutorials-pdf](http://pages.di.unipi.it/bonuccelli/sensori.pdf) 93 | * [Wikipedia](https://en.wikipedia.org/wiki/Wireless_sensor_network) 94 | * [WSN Architecture](https://www.elprocus.com/architecture-of-wireless-sensor-network-and-applications/) 95 | * [WSN Overview-pdf](https://cdn.intechopen.com/pdfs/38793/InTechOverview_of_wireless_sensor_network.pdf) 96 | 97 | --- 98 | 99 | **Not:** Kırık linkleri lütfen *zyavuz@ceng.ktu.edu.tr* adresine bildiriniz. 100 | -------------------------------------------------------------------------------- /0_logic_design_lab/_vhdl_ile_devre_tasarimi/readme.md: -------------------------------------------------------------------------------- 1 | # VHDL ile Devre Tasarımı 2 | 3 | --- 4 | ### Bu deney 2021-22 Bahar yarıyılından itibaren 2 deneye bölünmüştür. 5 | _Aşağıdaki linkler yardımıyla yeni deney sayfalarına gidebilirsiniz._ 6 | * [VHDL ile Kombinasyonel Devre Tasarımı (Kodlama ve Hata Bulma Teknikleri)](../1_vhdl_ile_kombinasyonel_devre_tasarimi/readme.md) 7 | * [VHDL ile Ardışıl Devre Tasarımı (Durum Makineleri)](../2_vhdl_ile_ardisil_devre_tasarimi/readme.md) 8 | --- 9 | KTÜ Bilgisayar Mühendiliği Bölümünde Sayısal Tasarım Laboratuvarında 1 nolu deney olarak **VHDL ile Devre Tasarımı** yürütülmektedir. 10 | 11 | **Deneyin amacı;** 12 | * HDL, VHDL, FPGA vb. sayısal tasarım kavramlarını bilmek, 13 | * Tasarım süreçlerini bilmek ve uygulamak, 14 | * Kombinasyonel devreler tasarlamak, VHDL kodunu yazabilmek, simulasyon yapabilmek, 15 | * Ardışıl devreler tasarlamak, VHDL kodunu yazabilmek ve simulasyon yapabilmek. 16 | --- 17 | ## Deney Hazırlığı 18 | * Temel kavramlar öğrenilmelidir. 19 | * [Video 1](https://youtu.be/Z6Ql3Jw2hTU) (16dk) ve [Video 2](https://youtu.be/cg_CRbJMDLM) (~12dk) izlenmelidir. 20 | 21 | ## Deney Hazırlık Soruları 22 | * HDL, VHDL, FPGA, ASIC nedir? 23 | * ASIC, Arduino ile ne farkları vardır? 24 | * Fikir aşamasından üretim aşamasına kadar tasarım süreçleri nelerdir? Her bir adımda neler yapılır? 25 | * Sayısal tasarım devre türleri nelerdir? Aralarındaki farkları söyleyiniz? 26 | * Encoder, ALU, Full Adder, Flip Flop, Counter, Sonlu Durumum Makineleri (SDM) vb. türü devrelerin ardışıl ya da kombinasyonel olup olmadıklarını nedenleri ile birlikte söyleyiniz. 27 | 28 | ## Bazı Deney Kazanımları 29 | * Donanım tanımlama dilleri (VHDL vb.) ile ardışıl ve tümleşik devreler hakkında bilgi 30 | * Tasarım süreçleri hakkında bilgi 31 | * Kombinasyonel ve ardışıl devreler arasındaki farklar 32 | * Örnek bir simulasyon yazılımı olan ModelSim uygulaması üzerinden bir devrenin simülasyonunu gerçekleştirme 33 | * Kod yazımında ve derleme sırasında alınan hataları çözme becerisi ve bunlarla ilgili İngilizce araştırmalar yapabilme. 34 | 35 | 36 | ## Deneyin Yürütme Planı 37 | ### Temel Kavramlar ve Deneyle İlgili Bazı Notlar 38 | * HDL (Hardware Description Language) - Donanım Tanımlama Dili 39 | * VHDL ve Verilog FPGA programlamada en çok kullanılan HDL dilleridir. 40 | * VHDL → Very High –Speed Integrated Circuit Hardware Description Language 41 | * FPGA → Field Programmable Gate Array (Alanda Programlanabilen Kapı Dizisi) 42 | 43 | **VHDL iki amaç için kullanılır.** 44 | * Sentezleme: FPGA’e yüklenecek kodu oluşturmak için 45 | * Simülasyon: FPGA’e yüklenecek kodun simülasyonunu yapmak için 46 | 47 | **Behavioral Modelling - Davranışsal Modelleme** 48 | * Modelin giriş ve çıkış tepkileri davranışsal olarak tanımlanır. 49 | * Modelin iç yapısı ile ilgilenilmez. 50 | * Yanlızca devrenin işlevi ve fonksiyonelitesi ile ilgilenilir 51 | 52 | **Structural Modelling - Yapısal Modelleme** 53 | * Bir bileşenin daha alt seviyesindeki bileşenlerle arasındaki ilişkileri gösterir. 54 | * Yapısal tasarım, modelin yapısının tasarımcı tarafından yapılandırılması ilkesine dayanır. 55 | 56 | ### Tasarım Adımları 57 | * Proje fikri → Kodlama → Derleme → Fonksiyonel Sümulasyon → Zamansal Simulasyon → FPGA → Üretim 58 | * Akış şemasını çiziniz 59 | * Tümleşik devrelerin üretim aşamaları (HDL → Compile → Simulation → FPGA → Product) 60 | * VHDL proje bölümleri → Proje fikri → Kodlama → Derleme → Fonksiyonel Sümulasyon → Zamansal Simulasyon → FPGA → Üretim (Akış diyagramı?) 61 | * [ModelSim-Intel FPGA Edition](https://fpgasoftware.intel.com/?product=modelsim_ae#tabs-2) de (includes Starter Edition) kod yazma ve simulasyon 62 | * Doğrudan yazılımı indirmek yerine kurulum önce yapan yardımcı bir yazılım indirmek gerekebilir. 63 | * Intel öğrencilere bu programı ücretsiz sunmaktadır. Öğrenci olarak sisteme kayıt olmanız gerekebilir. Intel dışında indirilen yazılımlar sorun yaratabilir. 64 | * Programı kurduğunuzda "Yönetici olarak çalıştır" seçeneği ile çalıştırmanız önerilir. 65 | * Programda işaretleri gözlemek için gerekli "Wave" ekranı gözükmüyorsa "View" menüsü altından bu ekranı aktif yapabilirsiniz. 66 | * **Alternatif Yazılımlar**: _Simulasyon için kullanabileceğiniz alternatif bir yazılımlardır. Bu deneyin işlenişinde kullanılmasalar bile farklı uygulamalar denemek isteyen öğrencilerimiz "Sayısal Tasarım" konularını pekiştirebilirler._ 67 | * [Deeds Simulator](https://www.digitalelectronicsdeeds.com/index.html) 68 | * [Multisim (National Instruments)](https://www.ni.com/en-tr/shop/electronic-test-instrumentation/application-software-for-electronic-test-and-instrumentation-category/what-is-multisim/multisim-education.html) 69 | * [Multisim Live](https://www.multisim.com/) - online uygulama 70 | 71 | ### VHDL Kod Yapısı 72 | * kütüphane (kullanılan araçlar), entity (giriş, çıkış), architecture (mimari ve yapacağı iş için kod) 73 | 74 | ### Kombinasyonel Devre Örneği 75 | * Bellek birimi yok, 76 | * **Örnek:** 77 | * Toplama, Karşılaştırma, Tekleyici (multiplexer-MUX, 4 to 1), Çoklayıcı (DEMUX, 1 to 2 vb...) 78 | * Not kapısı, eDegil 79 | * 3 girişli AND, 3 girişli NAND vs... 80 | * **UZEM planında izlenecek devre videosu:** giriş 2 bit olan 4-1 mux ([Video](https://youtu.be/qlVf-e4ltEU) 0-4.38dk arası) 81 | 82 | ### Ardışıl Devre Örneği 83 | * Deney föyündeki çamaşır makinesi, → ön yıkama, kurutma durumu eklenebilir, her durumda R gelince başlangıca gidebilir. 84 | * kominasyonel devre + bellek 85 | * **Örnek:** 86 | * D flipflop tasarımı 87 | * Sonlu Durum Makinesi tasarımı 88 | * **Simulasyon** 89 | * Kare (saat sinyali) sinyal 90 | * Process → VHDL de sıralı işlemler process olarak yazılır. 91 | * * **UZEM planında izlenecek devre videosu:** Çamaşı makinesi SDM projesi ([Video](https://youtu.be/cg_CRbJMDLM?t=430) 7.10dk sonrası) 92 | 93 | --- 94 | ## Uzaktan Eğitim Sürecinde Verilecek Ödev 95 | Ödev 3 kısımdan oluşmaktadır ve deneyin anlatıldığı günden başlamak üzere 2 hafta süresi bulunmaktadır. 96 | 1. **Rapor:** Ödev Raporunun hazırlanması (2-3 sayfa, şablon için [tıklayınız.](https://docs.google.com/document/d/1Dlo4Ryv9QW3a3m_orbNQwbk_16Antnj4AYYB8Ec-pJ4/edit?usp=sharing)) - (_bu şablonu kendi bilgisayarınıza "Dosya/İndir" seçeneği ile docx formatında indiriniz, raporunuzu yazıp pdf olarak kaydediniz ve bu raporu teslim ediniz_) 97 | 1. **Video:** 4-8 dk. arasında süre alan kombinasyonel ya da ardışıl bir devre tasarımının kendi bilgisayarınızda yapılması ve tasarım aşamasından fonksiyonel simülasyon aşamasına kadar olan sürecin video olarak hazırlanması. 98 | 1. **VHDL Kod:** Yazılan vhdl kaynak dosyasının gönderilmesi. 99 | 100 | **Not:** Her öğrencinin konusu ve ödevi nasıl göndereceği deney anlatım sırasında söylenecektir. 101 | 102 | --- 103 | 104 | ## Kaynaklar 105 | * [Deney Föyü](0_documents/VHDL_deney_rapor_sablonu.pdf) 106 | * [Deney Raporu için Kullanılacak Şablon](https://docs.google.com/document/d/1Dlo4Ryv9QW3a3m_orbNQwbk_16Antnj4AYYB8Ec-pJ4/edit?usp=sharing) - (_bu şablonu kendi bilgisayarınıza "Dosya/İndir" seçeneği ile docx formatında indiriniz, raporunuzu yazıp pdf olarak kaydediniz ve bu raporu teslim ediniz_) 107 | * [Video 1](https://youtu.be/Z6Ql3Jw2hTU)'de proje tasarım aşamaları ve kombinasyonel devreler anlatılmaktadır. 108 | * [Video 2](https://youtu.be/cg_CRbJMDLM)'de ardışıl devre olarak çamaşır makinesi kodu yazılarak simulasyonu yapılmaktadır. 109 | * [Farklı devre örnekleri](https://www.youtube.com/watch?v=KW5uX0c2s6I&list=PLcjh-_Mx3C9Ozs5U6qc2idUcsnTP5UyEq) (Youtube Videoları) 110 | 111 | --- 112 | ## VHDL ile Sayısal Devre Örnekleri (Öğrenci Ödevleri) 113 | ### Kombinasyonel Devreler 114 | * **Encoder & Decoder** 115 | * Video ve vhdl kodları (Hazırlayan: Aleyna Özbek) 116 | * *8-3 encoder*: [vhdl](combinational_circuits/8-to-3_encoder.vhd) | [video](https://www.youtube.com/watch?v=Zwku31DfQkM&list=PLcjh-_Mx3C9Ozs5U6qc2idUcsnTP5UyEq&index=2) 117 | * *16-4 encoder*: [vhdl](combinational_circuits/16-to-4_encoder.vhd) | [video](https://www.youtube.com/watch?v=Zwku31DfQkM&list=PLcjh-_Mx3C9Ozs5U6qc2idUcsnTP5UyEq&index=2) 118 | * *3-8 decoder*: [vhdl](combinational_circuits/3-to-8_decoder.vhd) | [video](https://www.youtube.com/watch?v=KW5uX0c2s6I&list=PLcjh-_Mx3C9Ozs5U6qc2idUcsnTP5UyEq&index=1) 119 | * *4-16 decoder*: [vhdl](combinational_circuits/4-to-16_decoder.vhd) | [video](https://www.youtube.com/watch?v=KW5uX0c2s6I&list=PLcjh-_Mx3C9Ozs5U6qc2idUcsnTP5UyEq&index=1) 120 | * **Tutorials** [pdf](https://github.com/zyavuz610/laboratory_apps_inKTU/blob/master/0_logic_design_lab/1_vhdl_ile_devre_tasarimi/0_documents/encoder_decoder_tutorial.pdf) | [Github](combinational_circuits/encoder_decoder.md) (Hazırlayan: [Mehmet Santor](https://github.com/SANT0R/examples)) 121 | * **Multiplexer (Çoklayıcı) & Demultiplexer (Tekleyici)** 122 | * Video ve vhdl kodları (Hazırlayan: Büşra Oran) 123 | * *4-1 multiplexer*: vhdl | [video](https://www.youtube.com/watch?v=qlVf-e4ltEU&list=PLcjh-_Mx3C9Ozs5U6qc2idUcsnTP5UyEq&index=3) 124 | * *8-1 multiplexer*: vhdl | [video](https://www.youtube.com/watch?v=qlVf-e4ltEU&list=PLcjh-_Mx3C9Ozs5U6qc2idUcsnTP5UyEq&index=3) 125 | * *1-4 demultiplexer*: vhdl | [video](https://www.youtube.com/watch?v=qlVf-e4ltEU&list=PLcjh-_Mx3C9Ozs5U6qc2idUcsnTP5UyEq&index=4) 126 | * *1-8 demultiplexer*: vhdl | [video](https://www.youtube.com/watch?v=qlVf-e4ltEU&list=PLcjh-_Mx3C9Ozs5U6qc2idUcsnTP5UyEq&index=4) 127 | * **Half-adder & Full-adder** 128 | * Video ve vhdl kodları (Hazırlayan: Yusuf Kaymaz) 129 | * *4 bit half-adder*: vhdl | [video](https://www.youtube.com/watch?v=FTmJkX7pvf8&list=PLcjh-_Mx3C9Ozs5U6qc2idUcsnTP5UyEq&index=5) 130 | * *4 bit full-adder*: vhdl | [video](https://www.youtube.com/watch?v=FTmJkX7pvf8&list=PLcjh-_Mx3C9Ozs5U6qc2idUcsnTP5UyEq&index=6) 131 | 132 | --- 133 | 134 | Kırık linkler olduğunda lütfen zyavuz@ceng.ktu.edu.tr adresine bildiriniz. 135 | -------------------------------------------------------------------------------- /0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/readme.md: -------------------------------------------------------------------------------- 1 | # VHDL ile Kombinasyonel Devre Tasarımı 2 | 3 | ## Özet 4 | * Bu sayfa KTÜ Bilgisayar Mühendiliği Bölümünde Sayısal Tasarım Laboratuvarında 1 nolu deney olarak verilen **VHDL ile Kombinasyonel Devre Tasarımı** için hazırlanmıştır. 5 | * Deneyin amacı, 6 | * HDL, VHDL, FPGA vb. sayısal tasarım kavramlarını bilmek, 7 | * tasarım süreçlerini bilmek ve uygulamak, 8 | * kombinasyonel devreler tasarlamak, VHDL kodunu yazabilmek, simulasyon yapabilmektir. 9 | * **Deneye Hazırlık** (deneye gelmeden önce yapılması gerekenler) 10 | * Deneye hazırlık için temel kavramlar öğrenilmelidir ([Deney föyü](https://www.ktu.edu.tr/dosyalar/bilgisayar_ae476.pdf) dikkatlice okunmalı ve incelenmelidir). 11 | * Deneyden önce aşağıda verilen deneyin hazırlık videoları anlayana kadar izlenmelidir: 12 | * [Genel Bilgiler](https://github.com/zyavuz610/labs_inKTU/blob/master/0_logic_design_lab/1_vhdl_ile_kombinasyonel_devre_tasarimi/genel_bilgiler.md) - [Video](https://youtu.be/GM-62MMqvH8) 13 | * [3 girişli OR işlemi](https://youtu.be/F-CK1crxn0o), ve _[Kaynak kod](eVeya.vhd)_ 14 | * [Çift eşlik biti](https://youtu.be/gSsEVL2PKz0), ve _[Kaynak kod](eParity.vhd)_ 15 | * [Hamming kodlama ve Hata Bulma](https://youtu.be/FWAJL-FcpYs), _[Kaynak kod](eHam.vhd)_ 16 | * Deney esnasında her öğrenci ayrı bir bilgisayarda çalışmalıdır. Bilgisayara hazırlık videolarında anlatıldığı gibi ModelSim kurulumu yapılmalıdır. Daha sonra 3 girişli OR işlemi, çift eşlik biti ve Hamming kodlama ve hata bulma için verilen VHDL kodları ayrı ayrı yazılıp ModelSim ile fonksiyonel simülasyon yapılmalıdır. Gerekli ekran görüntüleri rapora eklenmek üzere kaydedilmelidir. 17 | * Modelsim indirme bağlantısı uzem sistemi üzerinden öğrencilerle paylaşılmıştır. 18 | * Deneyden sonra grup olarak rapor hazırlanmalıdır. Raporun içeriği [aşağıda](#deney-raporunda-i̇stenen) verilmiştir. 19 | 20 | --- 21 | 22 | ### Deney Raporunda İstenen 23 | * Rapor, **grup halinde** deney bitiminden sonra 1-2 haftalık süre içerisinde hazırlanmalıdır. 24 | * Rapor, grubu oluşturan öğrencilerin deney esnasında aldıkları notları birleştirerek her grup için tek bir rapor olacak şekilde hazırlanmalıdır. 25 | * Deney raporu, grubu oluşturan öğrencilerden biri tarafından verilen sürede teslim edilmelidir ve kapak hariç 3-4 sayfadan oluşmalıdır. 26 | * Raporda her bir kod için **deney tasarlama, deney yapma, veri toplama, sonuçları analiz etme ve yorumlama** bölümleri olmalıdır. Gruptaki her öğrenci rapordan eşit derecede sorumludur. 27 | * Raporlar UZEM’deki derste size açılacak moodle sistemi üzerinden grubu oluşturan öğrencilerden biri tarafından pdf formatında teslim edilmelidir. 28 | * **Rapor Konusu ve İçeriği** 29 | * Temel ve Teorik Bilgiler 30 | * 3 girişli AND devresi ([video](https://youtu.be/F-CK1crxn0o)) VHDL kodu ve fonksiyonel simülasyon (ekran görüntüleri ve anlatım rapora yazılacak, video linki eklenecektir) 31 | * tek eşlik biti ([video](https://youtu.be/gSsEVL2PKz0)) VHDL kodu ve fonksiyonel simülasyon (ekran görüntüleri ve anlatım rapora yazılacak, video linki eklenecektir) 32 | * Hamming kodlama ve hata bulma ([video](https://youtu.be/FWAJL-FcpYs)) için en az 3 kez farklı bitleri bozarak hata düzeltme VHDL kodu ve fonksiyonel simülasyon (ekran görüntüleri ve anlatım rapora yazılacak, video linki eklenecektir, videolar en az 1 yıl erişime açık kalacak şekilde ayarlanmalıdır). 33 | 34 | --- 35 | 36 | ## VHDL ile Kombinasyonel Devre Tasarımı Deneyi 37 | 38 | ### Deney Hazırlık Soruları 39 | * HDL, VHDL, FPGA, ASIC nedir? 40 | * FPGA ile ASIC, Arduino ile ne farkları vardır? 41 | * Fikir aşamasından üretim aşamasına kadar tasarım süreçleri nelerdir? Her bir adımda neler yapılır? 42 | * Sayısal tasarım devre türleri nelerdir? Aralarındaki farkları söyleyiniz? 43 | * Encoder, ALU, Full Adder, Flip Flop, Counter, Sonlu Durumum Makineleri (SDM) vb. türü devrelerin ardışıl ya da kombinasyonel olup olmadıklarını nedenleri ile birlikte söyleyiniz. 44 | 45 | ### Bazı Deney Kazanımları 46 | * Donanım tanımlama dilleri (VHDL vb.) ile ardışıl ve tümleşik devreler hakkında bilgi 47 | * Tasarım süreçleri hakkında bilgi 48 | * Kombinasyonel ve ardışıl devreler arasındaki farklar 49 | * Örnek bir simulasyon yazılımı olan ModelSim uygulaması üzerinden bir devrenin simülasyonunu gerçekleştirme 50 | * Kod yazımında ve derleme sırasında alınan hataları çözme becerisi ve bunlarla ilgili İngilizce araştırmalar yapabilme. 51 | 52 | --- 53 | 54 | ## Deneyin Yürütme Planı 55 | 56 | ### Temel Kavramlar ve Deneyle İlgili Bazı Notlar 57 | * [Genel Bilgiler](genel_bilgiler.md) 58 | * FPGA → Field Programmable Gate Array (Alanda Programlanabilen Kapı Dizisi) 59 | * Programlanabilen devre (donanım), programlanabilen kapı dizisi 60 | * Donanım sabit değil, yazılım ile nasıl bir donanım olduğu tanımlanıyor 61 | * HDL (Hardware Description Language) - Donanım Tanımlama Dili 62 | * FPGA programlamak için kullanılan dil ailesi 63 | * ASIC → Application Specific Circuit 64 | * Sadece belirli işlemleri gerçekleştirmek için tasarlanmış donanım 65 | * CPU, Arduino -> Programlanabilen donanım, donanım sabit, yazılım ile farklı işlemler yapılabiliyor 66 | * VHDL ve Verilog FPGA programlamada en çok kullanılan HDL dillerindendir. 67 | * VHDL → Very High–Speed Integrated Circuit Hardware Description Language 68 | 69 | **VHDL iki amaç için kullanılır.** 70 | * Sentezleme: FPGA’e yüklenecek kodu oluşturmak için 71 | * Simülasyon: FPGA’e yüklenecek kodun simülasyonunu yapmak için 72 | 73 | **Behavioral Modelling - Davranışsal Modelleme** 74 | * Modelin giriş ve çıkış tepkileri davranışsal olarak tanımlanır. 75 | * Modelin iç yapısı ile ilgilenilmez. 76 | * Yanlızca devrenin işlevi ve fonksiyonelitesi ile ilgilenilir 77 | 78 | **Structural Modelling - Yapısal Modelleme** 79 | * Bir bileşenin daha alt seviyesindeki bileşenlerle arasındaki ilişkileri gösterir. 80 | * Yapısal tasarım, modelin yapısının tasarımcı tarafından yapılandırılması ilkesine dayanır. 81 | 82 | ### Tasarım Adımları 83 | * Proje fikri → Kodlama → Derleme → Fonksiyonel Sümulasyon → Zamansal Simulasyon → FPGA → Üretim 84 | * Akış şemasını çiziniz 85 | * Tümleşik devrelerin üretim aşamaları (HDL → Compile → Simulation → FPGA → Product) 86 | * VHDL proje bölümleri → Proje fikri → Kodlama → Derleme → Fonksiyonel Sümulasyon → Zamansal Simulasyon → FPGA → Üretim (Akış diyagramı?) 87 | * [Intel® Quartus® Prime Lite Edition Design Software](https://www.intel.com/content/www/us/en/software-kit/684216/intel-quartus-prime-lite-edition-design-software-version-21-1-for-windows.html?) kullanarak kod yazma ve simulasyon 88 | * Doğrudan yazılımı indirmek yerine kurulum önce yapan yardımcı bir yazılım indirmek gerekebilir. 89 | * Programı kurduğunuzda "Yönetici olarak çalıştır" seçeneği ile çalıştırmanız önerilir. 90 | * Programda işaretleri gözlemek için gerekli "Wave" ekranı gözükmüyorsa "View" menüsü altından bu ekranı aktif yapabilirsiniz. 91 | * **Alternatif Yazılımlar**: _Simulasyon için kullanabileceğiniz alternatif bir yazılımlardır. Bu deneyin işlenişinde kullanılmasalar bile farklı uygulamalar denemek isteyen öğrencilerimiz "Sayısal Tasarım" konularını pekiştirebilirler._ 92 | * [Deeds Simulator](https://www.digitalelectronicsdeeds.com/index.html) 93 | * [Multisim (National Instruments)](https://www.ni.com/en-tr/shop/electronic-test-instrumentation/application-software-for-electronic-test-and-instrumentation-category/what-is-multisim/multisim-education.html) 94 | * [Multisim Live](https://www.multisim.com/) - online uygulama 95 | 96 | ### VHDL Kod Yapısı 97 | * kütüphane (kullanılan araçlar), entity (giriş, çıkış), architecture (mimari ve yapacağı iş için kod) 98 | 99 | ### Kombinasyonel Devre Örnekleri 100 | * 3 girişli OR 101 | * Çift parity biti 102 | * Hamming ile kodlama ve hata bulma 103 | 104 | --- 105 | 106 | ## Kaynaklar 107 | * [Video 1](https://youtu.be/Z6Ql3Jw2hTU)'de proje tasarım aşamaları ve kombinasyonel devreler anlatılmaktadır. 108 | * [Video 2](https://youtu.be/cg_CRbJMDLM)'de ardışıl devre olarak çamaşır makinesi kodu yazılarak simulasyonu yapılmaktadır. 109 | * [Farklı devre örnekleri](https://www.youtube.com/watch?v=KW5uX0c2s6I&list=PLcjh-_Mx3C9Ozs5U6qc2idUcsnTP5UyEq) (Youtube Videoları, İbrahim Savran ) 110 | 111 | --- 112 | ## VHDL ile Sayısal Devre Örnekleri (Öğrenci Ödevleri) 113 | 114 | Burada verilen kaynaklar konuyu daha ileri seviyede öğrenmek ve uygulamak isteyen öğrencilerimiz için hazırlanmıştır. Bu kaynaklar ders içeriğinde anlatılan konulara benzer konuları içermektedir. Bu kaynaklarla ilgili sorularınızı ders içerisinde sorabilirsiniz. 115 | 116 | ### Kombinasyonel Devreler 117 | * **Encoder & Decoder** 118 | * Video ve vhdl kodları (Hazırlayan: Aleyna Özbek) 119 | * *8-3 encoder*: [vhdl](combinational_circuits/8-to-3_encoder.vhd) | [video](https://www.youtube.com/watch?v=Zwku31DfQkM&list=PLcjh-_Mx3C9Ozs5U6qc2idUcsnTP5UyEq&index=2) 120 | * *16-4 encoder*: [vhdl](combinational_circuits/16-to-4_encoder.vhd) | [video](https://www.youtube.com/watch?v=Zwku31DfQkM&list=PLcjh-_Mx3C9Ozs5U6qc2idUcsnTP5UyEq&index=2) 121 | * *3-8 decoder*: [vhdl](combinational_circuits/3-to-8_decoder.vhd) | [video](https://www.youtube.com/watch?v=KW5uX0c2s6I&list=PLcjh-_Mx3C9Ozs5U6qc2idUcsnTP5UyEq&index=1) 122 | * *4-16 decoder*: [vhdl](combinational_circuits/4-to-16_decoder.vhd) | [video](https://www.youtube.com/watch?v=KW5uX0c2s6I&list=PLcjh-_Mx3C9Ozs5U6qc2idUcsnTP5UyEq&index=1) 123 | * **Tutorials** [pdf](https://github.com/zyavuz610/laboratory_apps_inKTU/blob/master/0_logic_design_lab/1_vhdl_ile_devre_tasarimi/0_documents/encoder_decoder_tutorial.pdf) | [Github](combinational_circuits/encoder_decoder.md) (Hazırlayan: [Mehmet Santor](https://github.com/SANT0R/examples)) 124 | * **Multiplexer (Çoklayıcı) & Demultiplexer (Tekleyici)** 125 | * Video ve vhdl kodları (Hazırlayan: Büşra Oran) 126 | * *4-1 multiplexer*: vhdl | [video](https://www.youtube.com/watch?v=qlVf-e4ltEU&list=PLcjh-_Mx3C9Ozs5U6qc2idUcsnTP5UyEq&index=3) 127 | * *8-1 multiplexer*: vhdl | [video](https://www.youtube.com/watch?v=qlVf-e4ltEU&list=PLcjh-_Mx3C9Ozs5U6qc2idUcsnTP5UyEq&index=3) 128 | * *1-4 demultiplexer*: vhdl | [video](https://www.youtube.com/watch?v=qlVf-e4ltEU&list=PLcjh-_Mx3C9Ozs5U6qc2idUcsnTP5UyEq&index=4) 129 | * *1-8 demultiplexer*: vhdl | [video](https://www.youtube.com/watch?v=qlVf-e4ltEU&list=PLcjh-_Mx3C9Ozs5U6qc2idUcsnTP5UyEq&index=4) 130 | * **Half-adder & Full-adder** 131 | * Video ve vhdl kodları (Hazırlayan: Yusuf Kaymaz) 132 | * *4 bit half-adder*: vhdl | [video](https://www.youtube.com/watch?v=FTmJkX7pvf8&list=PLcjh-_Mx3C9Ozs5U6qc2idUcsnTP5UyEq&index=5) 133 | * *4 bit full-adder*: vhdl | [video](https://www.youtube.com/watch?v=FTmJkX7pvf8&list=PLcjh-_Mx3C9Ozs5U6qc2idUcsnTP5UyEq&index=6) 134 | 135 | --- 136 | 137 | Kırık linkler olduğunda lütfen zyavuz@ceng.ktu.edu.tr adresine bildiriniz. 138 | --------------------------------------------------------------------------------