الاثنين، 26 أغسطس 2019

FPGA Ch1_Summary2



أعزائى وأحبائي              المحترمين 
السلام عليكم ورحمة الله وبركاته 
 أقدم لكم اليوم ملخص باللغة العربية للفصل الأول عن مصفوفة البوابات المنطقية القابلة للبرمجة في مجال العمل
(Field  Programmable Gate Array  FPGA ).
 وتعريف لأهم المصطلحات الموجودة  وفي الفصول التالية ان شاء الله سنقوم بإعطاء أمثلة لبرمجة بعض المكونات الإلكترونية
 بإستخدام الأكواد الخاصة بلغة البرمجة VHDL  
 وأتمني من الله ان ينفع بها كل من يقرأها  ولا تنسونا من صالح دعائكم 

Summary of Chapter 1
تابع ملخص الفصل الأول

* PLDs Programable Logic Devices 
هذه الرقائق يمكن إعادة برمجتها بمعرفة المصنع  بعد التصنيع بعكس  الدوائر  المتكاملة العادية Standard ICs  وذلك لأنها تحتوي علي مدي واسع  من الدوائر المنطقية وكذلك مفاتيح للبرمجة  وذلك عن طريق تطبيقات وبرامج معينة ومن هذه الأنواع PLD مايسمي ب  FPGA  رقائق مصفوفة البوابات المنطقية القابلة للبرمجة في نطاق العمل.


* Custom Design Chips 
يمكن شراء رقاقات ال PLD من شركات مختلفة لأن جميعها قابله للبرمجة ولكن نظرا لأن كل شركة لها طريقة مختلفة في التصنيع كما أن لها برامج خاصة بها لذلك وجد مايسمي  Custom   أو Semi Custom بمعني أنه يتم طلب البرمجة من المصنع مباشرة  حسب المواصفات والوظائف المطلوبة من هذه الرقاقة  ولذلك فإنها تأخذ وقت كبير وكذلك تحتاج للاختبار وتسمي  ب ASICs   والميزة هنا ان هذه الطريقة لا تحتاج الي أجهزة للبرمجة ولا مبرمج متخصص مثال  في حالة انشاء خطوط إنتاج في مصنع  يتم ذلك لمرة واحدة فقط  وهنا نجد أن هذه الطريقة أسرع وأعلي دقة  مثال آخر معالج الكمبيوتر 
ولكن المشكله في هذه الطريقة انها تحتاج وقت كبير وكذلك مكلفه جدا وخصوصا اذا تطلب الأمر أكثر من رقاقة في أوقات مختلفة  لذلك كان لابد من استخدام PLD Chips والتي يتم برمجتها عن طريق مبرمج متخصص في مجال العمل  المستخدم النهائي وهنا في هذه الحالة لابد من توافر أجهزة الرمجة والأدوات الازمة لذلك وهي ما يسمي بال  FPGA ويتم ذلك حسب كل مشروع

*FPGA 
هي جزء من ال ASICs ولكن هنا يتم استخدام مصفوقة من الدوائر المنطقية بعكس ال ASICS المصممة نت مستويات من الترانزستورات  وكذلك يوجد صناعة الدوائر المتكاملة العادية وكذلك ال Microprocessors وهي المعالجات الصغيرة ولكن هنا الاستخدامات ضعيفة مقارنة بال ASICs أو FPGA 
ويمكن برمجة ال FPGA Chips  لمستويات برمجة مختلفة وعالية من المكونات مثل :
AND, NAND, OR, NOR, XOR Gates , Adders, Registers, Flip-Flops and more.   

*VHDL
 هي لغة برمجة المكونات الالكترونية عالية السرعة 
وهنا مثال علي  البرمجة  لبعض المكونات 

  THE  VHDL CODE OF THE ENCODER
       1                   LIBRARY  ieee;
2                   USE  ieee  . std- logic-1164 . all;
3                   USE  ieee  . std- logic-arith . all;
4                   ENTITY encoder is
5                   PORT (
6                           I0  : IN          std _logic;
7                           I1  : IN          std _logic;
8                           I2  : IN          std _logic;
9                           I3  : IN          std _logic;
10                         I4  : IN          std _logic;
11                         I5  : IN          std _logic;
12                         I6  : IN          std _logic;
13                         I7  : IN          std _logic;
14                         I8  : IN          std _logic;
15                         I9 : IN          std _logic;
16                         A  : OUT      std _logic – vector (3 DOWN TO 0)
17                         );
18              --        Declarations
19                 END encoder;
20              –hds interface- end
21               ARCHITACTURE   REHAVIOR OF ENCODER IS
22               SIGNAL I : std- logic-vector (9 DOWN TO 0);
23               BEGIN
24               I <= I9&I8&I7&I6&I5&I4&I3&I2&I1&I0
25               WITH I SELECT
26               A <= “0001” WHEN “0000000010”,
27                       “0010” WHEN “0000000100”,
28                       “0011” WHEN “0000001000”,
29                       “0100” WHEN “0000010000”,
30                       “0101” WHEN “0000100000”,
31                       “0110” WHEN “0001000000”,
32                       “0111” WHEN “0010000000”,
33                       “1000” WHEN “0100000000”,
34                       “1001” WHEN “1000000000”,
35                       “0000” WHEN  OTHERS;
36               END BEHAVIOR;

  The VHDL Code of the Comparator 

 1-LIBRARY ieee:
2-USE ieee.STD logic1164.all:
3-USE ieee.STD-logic-arith all :
4- ENTITY  comparator 21 IS
5-  PORT(
          A: IN STD-logic-vector(3 down to o):
          D1: OUT STD-logic                                                         
6-Declarations
7-END Comparator 21
8-hds interface end
9-ARCHITECTURE meal of Comparator 21-IS
10-BEGIN
11-WITH A SELECT
12- D1<=’1’ WHEN “0110”,
13-           ‘0’ WHEN OTHERS ;
14-END meal;



هذا ولكم تحياتي وعلمنا الله واياكم 
وفي المدونات التالية سنتكلم بإذن الله وحوله عن مثال عملي تم بالفعل انجازه  





هناك تعليق واحد: