วันจันทร์ที่ 19 มิถุนายน พ.ศ. 2560

Week07 : VHDL - Digital System




VHDL


           เปนภาษาที่ใช้สำหรับการออกแบบฮาร์ดแวร์ในระบบดิจิตอล  โดยเกิดขึ้นจากโครงการที่มีชื่อ VHSIC (Very High Speed Integrate Circuit) โดยมีเปาหมายของโครงการเพื่อ พัฒนาขีดความสามารถในการออกแบบวงจรรวมใหสูงและงายมากยิ่งขึ้น ซึ่งมีการพัฒนาจนสามารถกําหนดเปน มาตรฐานของ IEEE (Institute of Electrical and Electronics Engineers) ไดในเวลาตอมา
          ภาษา VHDL มีความเปน Concurrent ซึ่งถือวาเปนหัวใจสําคัญของการเขียนออกแบบอุปกรณ อิเล็กทรอนิกสหมายถึงการเขียนโคดภาษา VHDL จะไมมีลําดับความสําคัญของตําแหนงของแตละบรรทัดและ ภาษา VHDL ยังมีความเปน Case insensitive อีกดวยกลาวคือไมมีความแตกตางในการเขียนอักษรพิมพเล็กหรือ พิมพใหญ
          ภาษา VHDL สามารถบรรยายพฤติกรรมทางฮารดแวรไดหลายระดับ ตั้งแตการทํางานของวงจร จนถึง ระดับลอจิกเกต ซึ่งในแตละระดับจะมีรายละเอียดที่แตกตางกัน เชน สมมุติผูออกแบบตองการออกแบบวงจรบวก สองอินพุตผูออกแบบสามารถออกแบบโดยใช operator การบวก (“+”) ในภาษา VHDL หรือทําการออกแบบวงจร ในระดับลอจิกเกต หรือทําการออกแบบในระดับทรานซิสเตอรก็ได

  • เปนภาษาสากลโดยรองรับจากสถาบัน IEEE ทําใหมีโปรแกรมและเครื่องมือตางๆ และ บริษัทที่ สนับสนุนการทํางานมากมาย เปนภาษาที่ใชงานจริงในอุตสาหกรรม 
  • ฯลฯ

สำหรับโปรแกรมที่ใช้นะครับ     Xilinx ISE
การติดตั้ง http://cpre.kmutnb.ac.th/esl/learning/index.php?article=webpack-ise-v147-install


ตัวอย่าง ผลการรัน ที่ทำในห้องเรียน

[ขอบคุณวีดีโอจาก: ไอลดา]





ตัวอย่าง Code เบื้องต้น

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
 
entity Encoder is
    Port ( B : in  STD_LOGIC;
           A : in  STD_LOGIC;
           F : out  STD_LOGIC_VECTOR (3 downto 0));
end Encoder;
 
architecture Behavioral of Encoder is
 
begin
        F <=    "0001" when (B='0' and A='0') else  
               "0010" when (B='0' and A='1') else  
               "0100" when (B='1' and A='0') else  
               "1000" ;  
        
end Behavioral;
















ไม่มีความคิดเห็น:

แสดงความคิดเห็น