UDB. ما هذا؟ الجزء 2. Datapath



ما زلنا ننظر UDB بناء على وثائق السرو. وهذه المرة سوف ندرس بالتفصيل Datapath ، التشغيل الآلي.

المحتوى العام للدورة "UDB. ما هذا؟ "
الجزء 1. مقدمة. Pld.
الجزء 2. Datapath. (المادة الحالية)
الجزء 3. Datapath FIFO.
الجزء 4. Datapath ALU.
الجزء 5. Datapath. أشياء صغيرة مفيدة.
الجزء 6. وحدة الإدارة والحالة.
الجزء 7. توقيت وإعادة ضبط وحدة التحكم
الجزء 8. معالجة UDB

21.3.2 الجهاز التشغيلي (Datapath)


يحتوي datapath الموضح في الشكل 21-6 على وحدة واحدة أحادية الدورة ذات 8 بتات والمقارنة المرتبطة بها وتوليد أعلام الحالة. يمكن ربط كتل Datapath من UDBs المجاورة معًا لزيادة عمق البت. يتضمن Datapath RAM تكوين ديناميكي صغير يمكنه تحديد العملية المراد تنفيذها في دورة معينة ديناميكيًا.

تم تحسين Datapath لتنفيذ الوظائف المضمنة النموذجية مثل أجهزة ضبط الوقت ، عدادات ، PWMs ، PRS ، CRC ، سجلات التحول ، ومولدات النطاق الترددي. إضافة وظائف الجمع والطرح توفر الدعم لعمليات دلتا سيغما الرقمية.


الشكل 21-6. أعلى مستوى Datapath.

21.3.2.1 نظرة عامة


توفر الفصول التالية نظرة عامة على الميزات الرئيسية لـ Datapath.

التكوين الديناميكي

التكوين الديناميكي - القدرة على تغيير عمل Datapath والاتصالات الداخلية في كل دورة تحت سيطرة جهاز التسلسل. يتم تطبيق ذلك باستخدام ذاكرة التكوين (ذاكرة الوصول العشوائي للتكوين) ، والتي تخزن ثمانية تكوينات فريدة من نوعها. يمكن إعادة توجيه عنوان الإدخال لهذه الذاكرة من أي كتلة متصلة بمصادر التتبع ، عادةً من منطق PLD أو دبابيس I / O أو من Datapaths الأخرى.

ألو

يمكن أن تقوم ALU بثمانية وظائف للأغراض العامة: الزيادة ، والتقليل ، والإضافة ، والطرح ، وأيضًا تنفيذ العمليات المنطقية AND ، و OR ، و XOR و PASS. يتم تحديد اختيار الوظائف حسب ذاكرة التهيئة لكل دورة. تتوفر عمليات الإزاحة المستقلة (التقليب إلى اليسار واليمين و nibble) ، بالإضافة إلى عمليات الإخفاء عند إخراج ALU.

البناء الشرطي

يحتوي كل Datapath على مقارنين مقنّعين في اتجاهات البت يمكن تهيئتهما لتحديد مدخلات سجل Datapath متعددة كوسائط. قد تكون الشروط الأخرى القابلة للتحديد هي كل الأصفار وجميعها وتجاوز السعة. تشكل هذه الشروط المخرجات الرئيسية لـ Datapath ويمكن إعادة توجيهها إلى خطوط التتبع الرقمية أو مدخلات الوظائف الأخرى.

جزءا لا يتجزأ من CRC / PRS

لدى Datapath دعمًا مدمجًا لحسابات CRC أحادية الدورة وتوليد تسلسلات عشوائية زائفة (تسلسل عشوائي Pseudo عشوائي ، PRS) مع عمق بت معين وتوليد متعدد الحدود. لتحقيق عمق أكثر قليلاً من 8 بت ، يمكن ربط الإشارات بين Datapath. يتم التحكم في هذه الميزة ديناميكيًا ، مما يعني أنها يمكن أن تتناوب مع وظائف أخرى.

عدد بت عالية مخصصة

يمكن تعيين عدد البت الأكثر أهمية (اللغة الإنجليزية الأكثر أهمية ، MSB) للدالة الحسابية ووظيفة التحول برمجيًا. يوفر هذا الدعم لوظائف CRC / PRS متغيرة الطول ، ويتيح ، جنبًا إلى جنب مع إخراج ALU اخفاء ، تنفيذ مؤقتات للأطوال التعسفية والعدادات وكتل التحويل.

مخازن الإدخال / الإخراج FIFO

يحتوي كل Datapath على اثنين من المخازن المؤقتة FIFO 4 بايت ، كل منها يمكن تكوينه للعمل كمخزن مؤقت للمدخلات (وحدة المعالجة المركزية أو DMA يكتب البيانات إلى FIFO ، Datapath يقرأ FIFO) ، أو كمخزن مؤقت للإخراج (يكتب Datapath إلى FIFO ، ووحدة المعالجة المركزية أو DMA يقرأ منه). تنشئ هذه المخازن المؤقتة FIFO حالة يمكن إعادة توجيهها للتفاعل مع أجهزة التسلسل أو المقاطعات أو طلبات DMA.

تسلسل

يمكن تكوين Datapath لظروف السلسلة وإشارات في سلسلة إلى Datapaths المجاورة. يمكن الجمع بين الإزاحة ، النقل ، الالتقاط ، والإشارات الشرطية الأخرى في سلاسل لإنشاء وظائف حسابية ذات عمق بت أعلى ، بالإضافة إلى وظائف الإزاحة ووظائف CRC / PRS.

مضاعفة الوقت

في تطبيقات الاختزال أو عندما لا تكون هناك حاجة لسرعات عالية على مدار الساعة ، يمكن تقسيم وحدة ALU واحدة في Datapath بشكل فعال بين مجموعتين من السجلات ومولدات الحالة. يتم إغلاق مخرجات ALU وسجل الإزاحة ويمكن استخدامها كمدخلات في الدورات اللاحقة. تتضمن أمثلة الاستخدام دعمًا لوظائف 16 بت في Datapath (8 بت) واحد ، أو عمليات إنشاء CRC بالتناوب مع عمليات نقل البيانات.

مدخلات Datapath

يحتوي Datapath على أربعة أنواع من المدخلات: التكوين والتحكم وكذلك مدخلات البيانات (التسلسلية والمتوازية). حدد مدخلات التكوين عنوان ذاكرة الوصول العشوائي للتكوين الحيوي. تقوم مدخلات التحكم بتحميل سجلات البيانات من FIFO وتنزيل إخراج البطارية إلى FIFO. مدخلات البيانات التسلسلية تشمل مدخلات التحول والحمل. يسمح لك منفذ إدخال البيانات الموازي باستلام ما يصل إلى 8 وحدات بت بيانات من موارد التتبع.

مخرجات Datapath

في المجموع هناك 16 إشارة تم إنشاؤها في Datapath. بعضها إشارات شرطية (على سبيل المثال ، مقارنات) ، والبعض الآخر عبارة عن إشارات حالة (على سبيل المثال ، حالة FIFO) ، والباقي إشارات بيانات (على سبيل المثال ، تحويل سجل الإخراج). يتم مضاعفة هذه الإشارات 16 في 6 مخرجات Datapath وتوجيهها إلى مصفوفة التتبع. بشكل افتراضي ، تتم مزامنة المخرجات مع تردد ساعة ، مما يخلق خطوط أنابيب مع تأخير دورة واحدة على مدار الساعة. أيضًا ، يمكن تحويل (المخرجات) إلى الوضع غير المتزامن (التوافقي) (انظر ملاحظات المترجم).

ملاحظة المترجم

لقد بحثت لفترة طويلة عن توقيت مخرجات Datapath. لقد ذكرت تجربتي أن كل شيء موجود بشكل غير متزامن. اتضح أن هذه ليست حالة المخرجات ، بل إعداد المحرر للمتغيرات القائمة عليها.



هذا سيجبر المحرر على إنشاء كود Verilog التالي:
/* ==================== Assignment of Registered Variables ==================== */ always @ (posedge clock) begin : register_assignments var1 <= (decr_finished); end 

إذا قمت بالتبديل إلى وضع اندماجي



سيصبح الرمز هكذا:

 assign var1 = (decr_finished); 

ولكن كل هذا ينطبق على المتغيرات التي تم إنشاؤها من مخرجات Datapath. والنواتج نفسها هي دائما غير متزامن. ويمكن استخدام أسمائهم (في هذا المثال decr_finished ) دون إدخال متغيرات إضافية.

سجلات العمل Datapath

كل وحدة Datapath لديها ستة سجلات العمل 8 بت. وحدة المعالجة المركزية أو DMA لديه قراءة وكتابة الوصول إلى جميع السجلات.

الجدول 21-1
اكتبالاسم الأولالوصف
البطاريةA0 ، A1يمكن أن تكون البطاريات إما مصدرًا أو مستقبلًا
ل ALU. يمكن أيضًا تحميلها من سجل البيانات.
أو FIFO. تحتوي البطاريات عادةً على قيمة الوظيفة الحالية.
(على سبيل المثال ، عداد ، أو اتفاقية حقوق الطفل ، أو التحول). هذه السجلات تفقد بها
القيم عند الدخول في وضع السكون وعند إعادة تعيين تأخذ
القيمة 0x00.
البياناتD0 ، D1سجلات البيانات عادة ما تحتوي على ثوابت وظيفة ،
على سبيل المثال ، قيمة مقارنة PWM أو فترة المؤقت أو متعدد الحدود CRC.
تحتفظ هذه السجلات بقيمها أثناء النوم.
الوضع.
FIFOF0 ، F1توفر اثنين من المخازن المؤقتة FIFO 4 بايت كمصدر ،
وجهاز استقبال للبيانات مخزنة. FIFO يمكن أن يكون
تكوينه كمخازن الإدخال المؤقتة ، ومخازن الإخراج المؤقتة ، أو كواحد
المدخلات العازلة والمخزن المؤقت الناتج واحد. تظهر إشارات الحالة
قراءة وكتابة حالة هذه المخازن المؤقتة. إلى أمثلة الاستخدام
يمكن تضمين بيانات TX و RX المخزنة مؤقتًا في SPI أو UART ،
وكذلك مخزنة مؤقتا البيانات والبيانات المخزنة مؤقتا
عن فترة الموقت. هذه السجلات لا تحفظ قيمها.
في وضع السكون وأثناء إعادة التعيين ، يأخذون القيمة 0x00.

في المقالة التالية ، سنبدأ في التعامل مع FIFO.

Source: https://habr.com/ru/post/ar433018/


All Articles