@Article{, title={Implementation of Genetic Algorithm Using FPGA with Applications}, author={Omar Arif Abdul-Rahman * and Hanan A. R. Akkar *}, journal={IRAQI JOURNAL OF COMPUTERS, COMMUNICATIONS, CONTROL AND SYSTEMS ENGINEERING المجلة العراقية لهندسة الحاسبات والاتصالات والسيطرة والنظم}, volume={9}, number={1}, pages={51-71}, year={2009}, abstract={Abstract:This paper presents a design of a general purpose GA. It is described using the Very high speed integrated circuits Hardware Description Language (VHDL), which is one of the Hardware Description Languages (HDLs). The complete system is implemented in a single Field Programmable Gate Array (FPGA) platform using the Foundation 2.1i, which is a software tool from XILINX. The feasibility of the purposed FPGA-based GA (FPGAGA) is demonstrated by testing it using two case studies. The objective of the first test is to maximize mathematical functions (f(x) = 2x, f(x) = x+5 and f(x) =2x3 -45x2 +300x) over the domain . Simulation results show that the adopted design is able to find the maximum obtainable values for all the functions. The objective of the second test is to solve circuit partitioning problem by distributing given modules (or cells) over two blocks. The number of inter-block connections and the number of modules assigned for each block should be minimum. Simulation results show that the final arrangements reached by the FPGAGA for the given arrangements (consist of 5, 10 and 15 modules) is well optimized in term" of the number of inter-block connections and the modules assigned for each block.

الخلاصة:أن هذا البحث يقدم تصميم لخوارزمية جينية متعددة الأغراض. ثم يتم وصفها بأستخدام لغة وصف المكونات الصلبة للدوائرة المتكاملة الفائقة السرعة (VHDL) والتي تعد أحد لغات وصف المكونات الصلبة (HDLs). يتم تنفيذ النظام الكلي على أحدى رقائق مصفوفة البوابات المبرمجة (FPGA) وذلك بأستخدام البرنامج الأساس (2.1 i), وهي أداة برمجية توفرها XILINX ( المصنع لرقيقة مصفوفة البوابات المبرمجة المنتقاة لهذا العمل). وللتأكد من كفاءةالخوارزميات الجينية المنفذة بأستخدام مصفوفة البوابات المبرمجة(FPGAGA) فقد تم اختبارها بأستخدام حالتين تطبيقيتين. الحالة التطبيقية الأولى تهدف الى أيجاد الرقم الأكبر لمدى معين من الأرقام وذلك بأسخدام المعادلات الرياضية ( f(x) = 2x, f(x)= x+5 , f(x) =2x3 -45x2 +300x) وقد أظهرت نتائج المحاكاة الحاسوبية امكانية (FPGAGA)على ايجاد اعلى القيم المتاحة للدوال المستخدمة.أما الحالة الثانية فهي تهدف الى حل مشكلة تقسيم الدائرة (circuit partitioning). حيث يشترط إعادة توزيع عدد من الخلايا على وحدتين (أو مجموعتين) شريطة أن توزع بصورة متوازنة وان ترتبط فيما بينها بأقل عدد ممكن من التوصيلات (أو الأسلاك) العابرة للوحدتين. لقد أظهرت نتائج المحاكاة الحاسوبية ان (FPGAGA) قد تمكن من ايجاد التوزيع الأفضل وذلك فيما يتعلق بعدد الخلايا المخصصة لكل قسم والتوصيلات العابرة للوحدتين لعدد من الترتيبات المعطاة ( المكونة من 5 و 10 و 15 خلية).} }