"การสร้างฮาร์ดแวร์เอฟพีจีเอ ซึ่งใช้พื้นที่น้อยเพื่อสร้างสัญญาณไซน์และโคไซน์ ด้วยการประยุกต์ใช้พิคโคเบลศ"
นำเสนอโดย ชลัมพุ์ ชุ่มศรี
นำเสนอโดย ชลัมพุ์ ชุ่มศรี
บทคัดย่อ
เนื่องจากสัญญาณไซน์และโคไซน์มีความจำเป็นสำหรับการประยุกต์ใช้งานในหลายๆ ด้าน บทความนี้ได้นำเสนอวิธีการหนึ่งที่มีประสิทธิภาพในการสร้างฮาร์ดแวร์เอฟพีจีเอ (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 เท่า ส่วนรูปทางขวามือ แสดงความเร็วในเทอมของความถี่ ซึ่งเป็นความถี่สูงสุดของสัญญาณนาฬิกาที่แต่ละวงจรจะสามารถทำงานได้ โดยวิธีของงานวิจัยจะทำงานที่ความถี่สูงกว่าวิธีการโดยตรงแต่จะต่ำกว่ากรณีคอร์เจน เมื่อพิจารณาโดยรวมของทุกกรณีแล้ว เมื่อจำนวนบิตเพิ่มขึ้น ความถี่มีแนวโน้มที่ลดลงเนื่องจากต้องใช้เวลาในการประมวลผลเพิ่มขึ้นตามจำนวนบิตที่เพิ่ม
ที่มา
สัญญาณไซน์และโคไซน์มีความจำเป็นและถูกนำไปประยุกต์ใช้ในหลายๆ งาน โดยเฉพาะอย่างยิ่งในระบบสื่อสาร ตั้งแต่การมอดูเลตและการดีมอดูเลตสัญญาณดิจิตอล ไปจนถึงเรื่องของการประมวลผลสัญญาณดิจิตอลต่างๆ เมื่อพิจารณาการสร้างฮาร์ดแวร์บนเอฟพีจีเอ (FPGA : Field Programmable Gate Array) การสร้างสัญญาณไซน์และโคไซน์สามารถทำได้หลายวิธีการและให้ประโยชน์ที่แตกต่างกันไป
วิธีคำนวณโดยอาศัยการประมาณฟังก์ชั่นด้วยอัลกอริทึมคอร์ดิค ได้ให้ทางเลือกสำหรับวิธีที่ต้องการพื้นที่การสร้างฮาร์ดแวร์น้อย เนื่องด้วยอัลกอริทึมไม่ได้มีส่วนที่ต้องการตัวกระทำทางคณิตศาสตร์ทั้งตัวคูณและตัวหารซึ่งใช้พื้นที่มาก หากแต่มีเพียงตัวบวก/ลบและส่วนการเลื่อนบิตข้อมูลเท่านั้น
ทฤษฎีที่เกี่ยวข้อง
1. คอร์ดิค (CORDIC : Coordinate Rotation Digital Computer) เป็นอัลกอริทึมที่มีการคำนวณการแปลงผันพิกัดระหว่างพิกัดฉาก (rectangular co-ordinate) และพิกัดเชิงขั้ว (polar co-ordinate) โดยใช้การหมุนเวกเตอร์ภายในวงกลม 1 หน่วย (vector rotation) และใช้วิธีการวนรอบทำงานซ้ำๆ (iterative method) ในการหมุนเวกเตอร์ด้วยการปรับมุมย่อยค่าต่างๆ ไปจนกระทั่งได้มุมที่ต้องการ โดยผลรวมของคำตอบของฟังก์ชันของมุมย่อยต่างๆ เหล่านั้นจะเป็นค่าคำตอบของฟังก์ชันของมุมที่ต้องการ โครงสร้างฮาร์ดแวร์สามารถสร้างได้ในลักษณะโครงสร้างแบบบิตอนุกรมหรือโครงสร้างแบบบิตขนาน ดังรูปแสดงตัวอย่างโครงสร้างบิตขนานและมีส่วนรองรับการคำนวณแบบวนซ้ำ
3. พิคโคเบลศ เป็นไมโครคอนโทรลเลอร์ของบริษัท Xilinx มีขนาด 8 บิต มีลักษณะเป็นซอฟต์โปรเซสเซอร์ (soft processor) เป็นโครงสร้างที่เขียนด้วยภาษาวีเอชดีแอล (VHDL) โดยประกอบ ด้วยส่วนต่างๆ ดังรูป
ผลการทดลอง
ผลของประสิทธิภาพของพื้นที่การใช้งานและความเร็วจากโปรแกรม Xilinx ISE แสดงดังรูปโดยทางด้านซ้ายมือ ในกรณีวิธีการของคอร์เจนและวิธีการโดยตรงนั้น เมื่อจำนวนบิตใช้งานเพิ่มขึ้น การใช้พื้นที่จะเพิ่มมากขึ้นค่อนข้างเป็นแบบเชิงเส้น ในขณะที่วิธีของงานวิจัย มีการใช้งานพื้นที่คงที่เท่าเดิมหมดแม้บิตใช้งานจะเพิ่มมากขึ้น โดยวิธีของงานวิจัยจะใช้พื้นที่น้อยกว่ากรณีคอร์เจนเป็นจำนวนตั้งแต่ 2.9-16.6 เท่า และยังน้อยกว่ากรณีโดยตรงที่ 12 บิตขึ้นไปเป็นจำนวน 1.09- 1.9 เท่า ส่วนรูปทางขวามือ แสดงความเร็วในเทอมของความถี่ ซึ่งเป็นความถี่สูงสุดของสัญญาณนาฬิกาที่แต่ละวงจรจะสามารถทำงานได้ โดยวิธีของงานวิจัยจะทำงานที่ความถี่สูงกว่าวิธีการโดยตรงแต่จะต่ำกว่ากรณีคอร์เจน เมื่อพิจารณาโดยรวมของทุกกรณีแล้ว เมื่อจำนวนบิตเพิ่มขึ้น ความถี่มีแนวโน้มที่ลดลงเนื่องจากต้องใช้เวลาในการประมวลผลเพิ่มขึ้นตามจำนวนบิตที่เพิ่ม
สรุปและแนวทางการพัฒนา
วิธีการที่ได้นำเสนอ แสดงให้เห็นแนวทางหนึ่งที่เป็นไปได้อย่างมีประสิทธิภาพโดยเฉพาะการใช้ฮาร์ดแวร์บนเอฟพีจีเอสำหรับการสร้างวงจรลอจิกที่ต้องการพื้นที่การใช้งานน้อยเมื่อเทียบกับเทคนิคที่ใกล้เคียงกันที่มักนิยมใช้ งานวิจัยต่อไปในอนาคตคือ ศึกษาถึงความเป็นไปได้ในเพิ่มประสิทธิภาพของความเร็ว โดยการนำพิคโคเบลศมาใช้งานร่วมกันหลายตัวในลักษณะของมัลติโปรเซสเซอร์ เพื่อการประมวลผลร่วมกันและเพิ่มประสิทธิภาพในการจัดการหน่วยความจำ เพื่อให้ได้ความเร็วที่สูงขึ้น
รับทราบครับ
ตอบลบOK ครับ แล้วห้องไหนครับ
ตอบลบตกลงใช้ห้อง LAB ชั้น 4 ครับ
ตอบลบ