วันอังคารที่ 20 เมษายน พ.ศ. 2553

Group Meeting วันพฤหัสบดีที่ 22 เม.ย. 2553

สรุปการนำเสนอ วันที่ 22 เม.ย. 2553

"การสร้างฮาร์ดแวร์เอฟพีจีเอ ซึ่งใช้พื้นที่น้อยเพื่อสร้างสัญญาณไซน์และโคไซน์ ด้วยการประยุกต์ใช้พิคโคเบลศ"

นำเสนอโดย ชลัมพุ์  ชุ่มศรี








บทคัดย่อ
     เนื่องจากสัญญาณไซน์และโคไซน์มีความจำเป็นสำหรับการประยุกต์ใช้งานในหลายๆ ด้าน บทความนี้ได้นำเสนอวิธีการหนึ่งที่มีประสิทธิภาพในการสร้างฮาร์ดแวร์เอฟพีจีเอ (FPGA) สำหรับการสร้างสัญญาณไซน์และโคไซน์ หลักสำคัญคือการประยุกต์ใช้ พิคโคเบลศ (PicoBlaze) ซึ่งเป็นไมโครคอนโทรลเลอร์ขนาดเล็ก ที่สร้างให้อยู่ภายในเอฟพีจีเอ พร้อมกับเทคนิคการจัดการการคำนวณในรูปแบบบิตจำกัดที่เหมาะสมของอัลกอริทึมคอร์ดิค (CORDIC) จึงทำให้ได้ฮาร์ดแวร์เอฟพีจีเอที่มีขนาดพื้นที่การใช้งานน้อย และการทดลองได้ยืนยันประสิทธิภาพที่ได้ โดยการเปรียบเทียบกับเทคนิคที่ใกล้เคียงกันอย่างสมเหตุสมผล ของวิธีการที่สร้างจากอัลกอริทึมคอร์ดิคโดยตรงด้วยวีเอชดีแอล (VHDL) และวิธีการที่สร้างจากฮาร์ดแวร์คอร์ (Core) จากโปรแกรมคอร์เจน (Coregen)

ที่มา
     สัญญาณไซน์และโคไซน์มีความจำเป็นและถูกนำไปประยุกต์ใช้ในหลายๆ งาน โดยเฉพาะอย่างยิ่งในระบบสื่อสาร ตั้งแต่การมอดูเลตและการดีมอดูเลตสัญญาณดิจิตอล ไปจนถึงเรื่องของการประมวลผลสัญญาณดิจิตอลต่างๆ   เมื่อพิจารณาการสร้างฮาร์ดแวร์บนเอฟพีจีเอ (FPGA : Field Programmable Gate Array) การสร้างสัญญาณไซน์และโคไซน์สามารถทำได้หลายวิธีการและให้ประโยชน์ที่แตกต่างกันไป
     วิธีคำนวณโดยอาศัยการประมาณฟังก์ชั่นด้วยอัลกอริทึมคอร์ดิค ได้ให้ทางเลือกสำหรับวิธีที่ต้องการพื้นที่การสร้างฮาร์ดแวร์น้อย  เนื่องด้วยอัลกอริทึมไม่ได้มีส่วนที่ต้องการตัวกระทำทางคณิตศาสตร์ทั้งตัวคูณและตัวหารซึ่งใช้พื้นที่มาก หากแต่มีเพียงตัวบวก/ลบและส่วนการเลื่อนบิตข้อมูลเท่านั้น 


ทฤษฎีที่เกี่ยวข้อง
     1. คอร์ดิค (CORDIC : Coordinate Rotation Digital Computer) เป็นอัลกอริทึมที่มีการคำนวณการแปลงผันพิกัดระหว่างพิกัดฉาก (rectangular co-ordinate) และพิกัดเชิงขั้ว (polar co-ordinate) โดยใช้การหมุนเวกเตอร์ภายในวงกลม 1 หน่วย (vector rotation) และใช้วิธีการวนรอบทำงานซ้ำๆ (iterative method) ในการหมุนเวกเตอร์ด้วยการปรับมุมย่อยค่าต่างๆ ไปจนกระทั่งได้มุมที่ต้องการ โดยผลรวมของคำตอบของฟังก์ชันของมุมย่อยต่างๆ เหล่านั้นจะเป็นค่าคำตอบของฟังก์ชันของมุมที่ต้องการ   โครงสร้างฮาร์ดแวร์สามารถสร้างได้ในลักษณะโครงสร้างแบบบิตอนุกรมหรือโครงสร้างแบบบิตขนาน  ดังรูปแสดงตัวอย่างโครงสร้างบิตขนานและมีส่วนรองรับการคำนวณแบบวนซ้ำ


     2.  การคำนวณในระบบบิตที่จำกัด  p บิตจะหมายถึง การกำหนดค่าของอินพุตที่แทนด้วยบิตที่ได้ป้อนให้กับระบบและค่าเอาต์พุตที่แทนด้วยบิตที่เป็นผลลัพธ์ของการคำนวณจากระบบ   อย่างไรก็ตามด้วยโครงสร้างฮาร์ดแวร์คอร์ดิคที่ใช้ในงานวิจัยนี้มีลักษณะวนซ้ำ (loop) ของการบวก/ลบ ซึ่งทำให้มีความเป็นไปได้ที่ค่าการคำนวณจะเกินจำนวน  p บิต ในงานวิจัยนี้ได้จึงเพิ่มบิตพิเศษจำนวน  g  บิต ซึ่งเรียกว่าการ์ดบิต (guard bit) เข้ามาเพื่อควบคุมความแม่นยำในการคำนวณเพื่อให้คำตอบจะมีความละเอียดอยู่ในช่วง p บิต  โดยที่คำตอบดังกล่าวนี้หากนำไปเทียบกับคำตอบที่  คำนวณจากระบบตัวเลขแบบจุดลอยตัว (true value) แล้ว  จะมีค่าผิดพลาด (error) ไม่เกินค่าของจำนวนบิตนัยสำคัญต่ำสุดของ p บิต (ulp; unit in the least significant position)
     3.  พิคโคเบลศ เป็นไมโครคอนโทรลเลอร์ของบริษัท Xilinx มีขนาด 8 บิต มีลักษณะเป็นซอฟต์โปรเซสเซอร์ (soft processor) เป็นโครงสร้างที่เขียนด้วยภาษาวีเอชดีแอล (VHDL) โดยประกอบ ด้วยส่วนต่างๆ ดังรูป


ผลการทดลอง
     ผลของประสิทธิภาพของพื้นที่การใช้งานและความเร็วจากโปรแกรม Xilinx ISE แสดงดังรูปโดยทางด้านซ้ายมือ ในกรณีวิธีการของคอร์เจนและวิธีการโดยตรงนั้น เมื่อจำนวนบิตใช้งานเพิ่มขึ้น การใช้พื้นที่จะเพิ่มมากขึ้นค่อนข้างเป็นแบบเชิงเส้น ในขณะที่วิธีของงานวิจัย มีการใช้งานพื้นที่คงที่เท่าเดิมหมดแม้บิตใช้งานจะเพิ่มมากขึ้น  โดยวิธีของงานวิจัยจะใช้พื้นที่น้อยกว่ากรณีคอร์เจนเป็นจำนวนตั้งแต่ 2.9-16.6 เท่า  และยังน้อยกว่ากรณีโดยตรงที่ 12 บิตขึ้นไปเป็นจำนวน 1.09- 1.9 เท่า   ส่วนรูปทางขวามือ แสดงความเร็วในเทอมของความถี่ ซึ่งเป็นความถี่สูงสุดของสัญญาณนาฬิกาที่แต่ละวงจรจะสามารถทำงานได้  โดยวิธีของงานวิจัยจะทำงานที่ความถี่สูงกว่าวิธีการโดยตรงแต่จะต่ำกว่ากรณีคอร์เจน  เมื่อพิจารณาโดยรวมของทุกกรณีแล้ว เมื่อจำนวนบิตเพิ่มขึ้น ความถี่มีแนวโน้มที่ลดลงเนื่องจากต้องใช้เวลาในการประมวลผลเพิ่มขึ้นตามจำนวนบิตที่เพิ่ม

 
สรุปและแนวทางการพัฒนา
     วิธีการที่ได้นำเสนอ แสดงให้เห็นแนวทางหนึ่งที่เป็นไปได้อย่างมีประสิทธิภาพโดยเฉพาะการใช้ฮาร์ดแวร์บนเอฟพีจีเอสำหรับการสร้างวงจรลอจิกที่ต้องการพื้นที่การใช้งานน้อยเมื่อเทียบกับเทคนิคที่ใกล้เคียงกันที่มักนิยมใช้  งานวิจัยต่อไปในอนาคตคือ ศึกษาถึงความเป็นไปได้ในเพิ่มประสิทธิภาพของความเร็ว  โดยการนำพิคโคเบลศมาใช้งานร่วมกันหลายตัวในลักษณะของมัลติโปรเซสเซอร์ เพื่อการประมวลผลร่วมกันและเพิ่มประสิทธิภาพในการจัดการหน่วยความจำ เพื่อให้ได้ความเร็วที่สูงขึ้น


3 ความคิดเห็น: