VHDLwhiz-لوگو

VHDLwhiz UART ٹیسٹ انٹرفیس جنریٹر

VHDLwhiz-UART-Test-Interface-Generator-PRODUCT

پروڈکٹ کی معلومات

تفصیلات:

  • پروڈکٹ کا نام: VHDL UART ٹیسٹ انٹرفیس جنریٹر کو رجسٹر کرتا ہے۔
  • ورژن: 1.0.4
  • تاریخ: 18 اگست 2024
  • مصنف: جوناس جولین جینسن
  • پروڈکٹ URL: پروڈکٹ لنک
  • رابطہ ای میل: jonas@vhdlwhiz.com

تفصیل

یہ پروڈکٹ آپ کو UART کا استعمال کرتے ہوئے FPGA رجسٹر ویلیوز کو پڑھنے اور لکھنے کے لیے حسب ضرورت انٹرفیس بنانے کی اجازت دیتا ہے۔ تیار کردہ VHDL ماڈیول اور Python اسکرپٹ آپ کے FPGA ڈیزائن میں مختلف قسم کے رجسٹروں کے ساتھ تعامل کرنے کی صلاحیت فراہم کرتا ہے۔

تقاضے

  • Python 3 ترجمان
  • pyserial پیکج

پروٹوکول

پروڈکٹ چار کنٹرول حروف کے ساتھ ڈیٹا فریمنگ پروٹوکول کا استعمال کرتا ہے:

  • نام: READ_REQ، قدر: 0x0A - تمام رجسٹروں کو UART پر واپس بھیجنے کے لیے ایک تحریری ترتیب شروع کرنے کے لیے میزبان سے FPGA کو حکم
  • نام: START_WRITE، قدر: 0x0B - کسی بھی سمت میں تحریری ترتیب کے آغاز کو نشان زد کرتا ہے۔
  • نام: END_WRITE، قدر: 0x0C - کسی بھی سمت میں تحریری ترتیب کے اختتام کو نشان زد کرتا ہے۔
  • نام: فرار، قدر: 0x0D - فرار ہونے والا کردار جو کنٹرول الفاظ سے بچنے کے لیے استعمال ہوتا ہے۔

مصنوعات کے استعمال کی ہدایات

سکرپٹ چلانا

پروڈکٹ کو استعمال کرنے کے لیے، یقینی بنائیں کہ آپ کے پاس Python 3 انسٹال ہے اور Pyserial پیکیج ہے۔ اسکرپٹ کو ازگر 3 ترجمان کے ذریعے چلائیں۔

کسٹم انٹرفیس تیار کرنا

FPGA رجسٹر اقدار کو پڑھنے اور لکھنے کے لیے حسب ضرورت انٹرفیس بنانے کے لیے gen_uart_regs.py اسکرپٹ کا استعمال کریں۔ آپ آؤٹ پٹ پیدا کرتے وقت ان پٹ اور آؤٹ پٹ رجسٹر اور اقسام کی ترکیب بتا سکتے ہیں files.

رجسٹروں کے ساتھ تعامل

آپ تیار کردہ VHDL ماڈیول اور Python اسکرپٹ کا استعمال کرتے ہوئے اپنے FPGA ڈیزائن میں رجسٹروں کی کسی بھی تعداد کو پڑھ سکتے ہیں یا لکھ سکتے ہیں۔ قابل رسائی رجسٹروں میں std_logic، std_logic_vector، دستخط شدہ، یا غیر دستخط شدہ جیسی اقسام ہوسکتی ہیں۔

لائسنس

  • MIT لائسنس سورس کوڈ کے کاپی رائٹ کی ضروریات اور استعمال کی شرائط کا احاطہ کرتا ہے۔ LICENSE.txt سے رجوع کریں۔ file زپ میں file تفصیلات کے لیے

چینج لاگ

  • یہ تبدیلیاں منصوبے کا حوالہ دیتی ہیں۔ files، اور اس دستاویز کو اسی کے مطابق اپ ڈیٹ کیا جاتا ہے۔
ورژن ریمارکس
1.0.0 ابتدائی رہائی
1.0.1 uart_regs.py کو ازگر کے ماڈیول کے طور پر درآمد کرتے وقت گمشدہ «خود» حوالہ بگ کو درست کر دیا گیا۔ لکھنے میں ناکام پرنٹ آؤٹ کو استثناء میں تبدیل کر دیا گیا۔

درآمد شدہ ماڈیول کے طور پر چلتے وقت کنسول پر پرنٹ کرنے سے گریز کریں۔

1.0.2 Vivado [Synth 8-248] کی خرابی کو درست کریں جب کوئی آؤٹ موڈ ریگز نہ ہو۔
1.0.3 Vivado Linter وارننگ کو درست کریں: رجسٹر نے کارفرما ہے۔

ہم وقت ساز ری سیٹ

1.0.4 آخری بائٹ کے طور پر فرار کردار کے ساتھ خراب شکل والا لفظ موصول ہونے پر کارنر کیس کو درست کریں۔ اگلا لفظ بھی ضائع ہو جائے گا کیونکہ ہم نے IDLE پر واپس آتے وقت recv_data_prev_is_escape کو صاف نہیں کیا۔

gen_uart_regs.py اسکرپٹ اب صرف منفرد reg ناموں کی اجازت دیتا ہے۔

تفصیل

  • یہ دستاویز درج ذیل کی وضاحت کرتی ہے۔ files اور فولڈرز:
  • gen_uart_regs.py
  • generated/uart_regs.vhd
  • generated/uart_regs.py
  • generated/instantiation_template.vho
  • rtl/uart_regs_backend.vhd
  • rtl/uart_rx.vhd
  • rtl/uart_tx.vhd
  • demo/lattice_icestick/
  • demo/xilinx_arty_a7_35/
  • demo/xilinx_arty_s7_50/
  • gen_uart_regs.py اسکرپٹ اور معاون VHDL fileاس پروجیکٹ میں آپ کو UART کا استعمال کرتے ہوئے مختلف اقسام اور چوڑائیوں کے FPGA رجسٹر ویلیو کو پڑھنے اور لکھنے کے لیے حسب ضرورت انٹرفیس بنانے کی اجازت دیتا ہے۔
  • آپ تیار کردہ VHDL ماڈیول اور Python اسکرپٹ کو اپنے ڈیزائن میں کسی بھی رجسٹر کو پڑھنے یا لکھنے کے لیے استعمال کر سکتے ہیں۔ UART قابل رسائی رجسٹروں میں std_logic، std_logic_vector، دستخط شدہ، یا غیر دستخط شدہ اقسام ہو سکتی ہیں۔
  • آپ آؤٹ پٹ پیدا کرتے وقت ان پٹ اور آؤٹ پٹ رجسٹروں اور اقسام کی صحیح ساخت کے بارے میں فیصلہ کر سکتے ہیں filegen_uart_regs.py اسکرپٹ استعمال کر رہا ہے۔
  • Python اسکرپٹس کو جزوی طور پر ChatGPT مصنوعی ذہانت کے آلے کی مدد سے بنایا گیا تھا، جبکہ VHDL کوڈ ہاتھ سے تیار کیا گیا ہے۔

تقاضے

  • اس پروجیکٹ میں اسکرپٹ کو Python 3 انٹرپریٹر کے ذریعے چلایا جانا چاہیے اور Pyserial پیکیج انسٹال ہونا چاہیے۔
  • آپ اس کمانڈ کا استعمال کرتے ہوئے Pip کے ذریعے pyserial انسٹال کر سکتے ہیں: pip install pyserial

پروٹوکول

  • وی ایچ ڈی ایل files اور Python اسکرپٹ چار کنٹرول کے ساتھ ڈیٹا فریمنگ پروٹوکول کا استعمال کرتے ہیں۔
نام قدر تبصرہ
READ_REQ 0x0A ایک تحریر شروع کرنے کے لیے میزبان سے FPGA کو حکم دیں۔

UART پر تمام رجسٹر واپس بھیجنے کا سلسلہ

START_WRITE 0x0B دونوں میں تحریری ترتیب کے آغاز کو نشان زد کرتا ہے۔

سمت

END_WRITE 0x0C۔ کسی بھی سمت میں تحریری ترتیب کے اختتام کو نشان زد کرتا ہے۔
فرار 0x0D Escape کریکٹر کسی بھی کنٹرول الفاظ سے بچنے کے لیے استعمال کیا جاتا ہے، بشمول ESCAPE کریکٹر، جب وہ START_WRITE اور END_WRITE مارکر کے درمیان ڈیٹا کے طور پر ظاہر ہوتے ہیں۔

FPGA کو بھیجا گیا کوئی بھی unescaped READ_REQ بائٹ اپنے تمام UART- قابل رسائی رجسٹر (ان پٹ اور آؤٹ پٹس) کو واپس UART پر میزبان کو بھیجنے کی ہدایت ہے۔ یہ کمانڈ عام طور پر صرف uart_regs.py اسکرپٹ کے ذریعے جاری کی جاتی ہے۔
یہ کمانڈ موصول ہونے پر، FPGA تمام رجسٹروں کا مواد میزبان کو واپس بھیج کر جواب دے گا۔ پہلے ان پٹ سگنلز، پھر آؤٹ پٹ سگنلز۔ اگر ان کی لمبائی 8 بٹس کے متعدد تک نہیں جوڑتی ہے، تو آخری بائٹ کے نچلے بٹس پیڈڈ زیرو ہوں گے۔
لکھنے کا سلسلہ ہمیشہ START_WRITE بائٹ سے شروع ہوتا ہے اور END_WRITE بائٹ پر ختم ہوتا ہے۔ ان کے درمیان کسی بھی بائٹس کو ڈیٹا بائٹس سمجھا جاتا ہے۔ اگر کسی بھی ڈیٹا بائٹس کی قدر ایک کنٹرول کریکٹر کے برابر ہے، تو ڈیٹا بائٹ کو فرار ہونا چاہیے۔ اس کا مطلب ہے کہ ڈیٹا بائٹ سے پہلے ایک اضافی ESCAPE کریکٹر بھیجنا اس بات کی نشاندہی کرنے کے لیے کہ یہ اصل میں ڈیٹا ہے۔
اگر کوئی غیر محفوظ شدہ START_WRITE بائٹس کے سلسلے میں کہیں بھی آجاتا ہے، تو اسے تحریری ترتیب کا آغاز سمجھا جاتا ہے۔ uart_regs_backend ماڈیول اس معلومات کو دوبارہ سنکرونائز کرنے کے لیے استعمال کرتا ہے اگر بات چیت کی مطابقت پذیری سے باہر ہو جائے۔

gen_uart_regs.py

  • یہ وہ اسکرپٹ ہے جس سے آپ کو انٹرفیس بنانے کے لیے شروع کرنا ہوگا۔ ذیل میں مدد کے مینو کا اسکرین شاٹ ہے جسے آپ چلا کر حاصل کر سکتے ہیں: python gen_uart_regs.py -hVHDLwhiz-UART-Test-interface-generator-FIG-1
  • ایک حسب ضرورت انٹرفیس بنانے کے لیے، آپ کو اپنے ہر مطلوبہ UART قابل کنٹرول رجسٹر کے ساتھ اسکرپٹ چلانا چاہیے جو بطور دلیل درج ہے۔ دستیاب اقسام std_logic، std_logic_vector، غیر دستخط شدہ، اور دستخط شدہ ہیں۔
  • پہلے سے طے شدہ موڈ (سمت) میں ہے اور پہلے سے طے شدہ قسم std_logic_vector ہے جب تک کہ رجسٹر کی لمبائی نہ ہو: 1. پھر، یہ پہلے سے طے شدہ std_logic ہو جائے گا۔
  • اس طرح، اگر آپ std_logic ان پٹ سگنل بنانا چاہتے ہیں، تو آپ ان میں سے کوئی بھی دلیل استعمال کر سکتے ہیں:
  • my_sl=1
  • my_sl=1:in
  • my_sl=1:in:std_logic
  • مندرجہ بالا تمام قسموں کے نتیجے میں اسکرپٹ یہ UART قابل رسائی سگنل پیدا کرے گا:VHDLwhiz-UART-Test-interface-generator-FIG-2
  • آئیے مختلف سمتوں، لمبائیوں اور اقسام کے متعدد رجسٹروں کے ساتھ ایک انٹرفیس بنانے کے لیے اسکرپٹ کو دلائل کے ساتھ چلائیں۔VHDLwhiz-UART-Test-interface-generator-FIG-3

پیدا کیا files

  • gen_uart_regs.py اسکرپٹ کا کامیاب رن تینوں کے ساتھ تیار کردہ نام کا آؤٹ پٹ فولڈر تیار کرے گا۔ fileذیل میں درج ہے۔ اگر وہ پہلے سے موجود ہیں، تو وہ اوور رائٹ ہو جائیں گے۔
  • generated/uart_regs.vhd
  • generated/uart_regs.py
  • generated/instantiation_template.vho
  • uart_regs.vhd
  • یہ اسکرپٹ کے ذریعہ تیار کردہ حسب ضرورت انٹرفیس ماڈیول ہے۔ آپ کو اسے اپنے ڈیزائن میں فوری بنانے کی ضرورت ہے، جہاں یہ ان رجسٹروں تک رسائی حاصل کر سکتا ہے جنہیں آپ UART کے ذریعے کنٹرول کرنا چاہتے ہیں۔
  • "- UART قابل رسائی رجسٹرز" سیکشن کے اوپر موجود ہر چیز uart_regs ماڈیول کے لیے یکساں ہوگی، جب کہ اس لائن کے نیچے پورٹ سگنلز کی تشکیل جنریٹر اسکرپٹ کو دیے گئے دلائل پر منحصر ہے۔
  • نیچے دی گئی فہرست uart_regs ماڈیول کی ہستی کو ظاہر کرتی ہے جس کے نتیجے میں generate کمانڈ example gen_uart_regs.py secti میں دکھایا گیا ہے۔VHDLwhiz-UART-Test-interface-generator-FIG-4
  • آپ کو uart_rx سگنل کو سنکرونائز کرنے کی ضرورت نہیں ہے، جیسا کہ uart_rx میں ہینڈل کیا جاتا ہے۔ ماڈیول
  • جب ماڈیول کو پڑھنے کی درخواست موصول ہوتی ہے، تو یہ موجودہ گھڑی کے چکر میں تمام ان پٹ اور آؤٹ پٹ سگنلز کی قدروں کو حاصل کر لے گا۔ اس کے بعد فوری سنیپ شاٹ میزبان کو UART پر بھیجا جاتا ہے۔
  • جب کوئی تحریر ہوتی ہے، تمام آؤٹ پٹ رجسٹر ایک ہی گھڑی کے چکر میں نئی ​​اقدار کے ساتھ اپ ڈیٹ ہو جاتے ہیں۔ آؤٹ پٹ سگنل کی قدروں کو انفرادی طور پر تبدیل کرنا ممکن نہیں ہے۔
  • تاہم، uart_regs.py اسکرپٹ صارف کو تمام رجسٹروں کی موجودہ اقدار کو پہلے پڑھ کر صرف منتخب آؤٹ پٹ کو اپ ڈیٹ کرنے کی اجازت دیتا ہے۔ اس کے بعد یہ تمام اقدار کو واپس لکھتا ہے، بشمول اپ ڈیٹ شدہ۔
  • uart_regs.py
  • تیار کردہ/uart_regs.py file uart_regs VHDL ماڈیول کے ساتھ تیار کیا گیا ہے اور اس کے ہیڈر میں اپنی مرضی کے رجسٹر کی معلومات پر مشتمل ہے file. اس اسکرپٹ کے ساتھ، آپ آسانی سے اپنے حسب ضرورت رجسٹروں سے پڑھ سکتے ہیں یا لکھ سکتے ہیں۔

مدد کا مینو

  • ہیلپ مینو پرنٹ کرنے کے لیے python uart_regs.py -h ٹائپ کریں:VHDLwhiz-UART-Test-interface-generator-FIG-5

UART پورٹ سیٹ کرنا

  • اسکرپٹ میں -c سوئچ کا استعمال کرتے ہوئے UART پورٹ کو سیٹ کرنے کے اختیارات ہیں۔ یہ ونڈوز اور لینکس پر کام کرتا ہے۔ اسے مدد کے مینو میں درج دستیاب بندرگاہوں میں سے ایک پر سیٹ کریں۔ ڈیفالٹ پورٹ سیٹ کرنے کے لیے، آپ uart_regs.py اسکرپٹ میں UART_PORT متغیر میں ترمیم بھی کر سکتے ہیں۔

فہرست سازی کے رجسٹر

  • رجسٹر میپنگ کے بارے میں معلومات gen_uart_regs.py اسکرپٹ کے ذریعہ uart_regs.py اسکرپٹ کے ہیڈر میں رکھی گئی ہے۔ آپ دستیاب رجسٹروں کو -l سوئچ کے ساتھ درج کر سکتے ہیں، جیسا کہ ذیل میں دیکھا گیا ہے۔ یہ ایک مقامی کمانڈ ہے اور ہدف FPGA کے ساتھ تعامل نہیں کرے گا۔VHDLwhiz-UART-Test-interface-generator-FIG-6

رجسٹروں کو لکھنا

  • آپ -w سوئچ کا استعمال کرکے آؤٹ موڈ رجسٹر میں سے کسی کو بھی لکھ سکتے ہیں۔ رجسٹر کا نام فراہم کریں جس کے بعد "=" اور بائنری، ہیکساڈیسیمل، یا ڈیسیمل ویلیو کے طور پر دی گئی قدر، جیسا کہ ذیل میں دکھایا گیا ہے۔VHDLwhiz-UART-Test-interface-generator-FIG-7
  • نوٹ کریں کہ VHDL نفاذ کے لیے اسکرپٹ کو تمام آؤٹ پٹ رجسٹر بیک وقت لکھنے کی ضرورت ہوتی ہے۔ لہذا، اگر آپ آؤٹ پٹ رجسٹروں کے مکمل سیٹ کی وضاحت نہیں کرتے ہیں، تو اسکرپٹ پہلے ہدف FPGA سے پڑھے گا اور پھر ان اقدار کو گمشدہ کے لیے استعمال کرے گا۔ نتیجہ یہ نکلے گا کہ صرف مخصوص رجسٹر ہی تبدیل ہوں گے۔
  • جب آپ تحریر کرتے ہیں، تمام مخصوص رجسٹر ایک ہی گھڑی کے دوران بدل جائیں گے، نہ کہ UART پر موصول ہوتے ہی۔

رجسٹر پڑھنا

  • رجسٹر کی تمام اقدار کو پڑھنے کے لیے -r سوئچ کا استعمال کریں، جیسا کہ ذیل میں دکھایا گیا ہے۔ پیلے رنگ میں نشان زد اقدار وہی ہیں جنہیں ہم نے سابقہ ​​تحریر میں تبدیل کیا تھا۔ampleVHDLwhiz-UART-Test-interface-generator-FIG-8
  • ہر پڑھنا تمام ان پٹ اور آؤٹ پٹ رجسٹروں کا ایک فوری اسنیپ شاٹ دکھاتا ہے۔ وہ تمام ایسampایک ہی گھڑی سائیکل کے دوران قیادت

ڈیبگنگ

اگر آپ کو کمیونیکیشن پروٹوکول کو ڈیبگ کرنے کی ضرورت ہو تو کسی دوسرے سوئچ کے ساتھ -d سوئچ استعمال کریں۔ اس کے بعد، اسکرپٹ تمام بھیجے گئے اور موصول ہونے والے بائٹس کو پرنٹ کرے گا اور tag اگر وہ کنٹرول کریکٹر ہیں، جیسا کہ ذیل میں دکھایا گیا ہے۔VHDLwhiz-UART-Test-interface-generator-FIG-9

دیگر Python اسکرپٹس میں انٹرفیس کا استعمال

  • uart_regs.py اسکرپٹ میں UartRegs کلاس ہے جسے آپ آسانی سے دیگر حسب ضرورت Python اسکرپٹ میں کمیونیکیشن انٹرفیس کے طور پر استعمال کرسکتے ہیں۔ بس کلاس درآمد کریں، اس کا ایک آبجیکٹ بنائیں، اور طریقے استعمال کرنا شروع کریں، جیسا کہ ذیل میں دکھایا گیا ہے۔VHDLwhiz-UART-Test-interface-generator-FIG-10
  • طریقہ اور وضاحت اور واپسی کی قیمت کی اقسام کے لیے Python کوڈ میں docstrings کا حوالہ دیں۔

instantiation_template.vho

  • انسٹیٹیئشن ٹیمپلیٹ آپ کی سہولت کے لیے uart_regs ماڈیول کے ساتھ تیار کیا گیا ہے۔ کوڈنگ کا وقت بچانے کے لیے، آپ ماڈیول انسٹیٹیوشن اور سگنل ڈیکلریشن کو اپنے ڈیزائن میں کاپی کر سکتے ہیں۔VHDLwhiz-UART-Test-interface-generator-FIG-11VHDLwhiz-UART-Test-interface-generator-FIG-12

جامد RTL files

  • آپ کو درج ذیل شامل کرنے کی ضرورت ہے۔ files آپ کے VHDL پروجیکٹ میں ہے تاکہ وہ اسی لائبریری میں مرتب ہوں جیسے uart_regs ماڈیول:
  • rtl/uart_regs_backend.vhd
  • rtl/uart_rx.vhd
  • rtl/uart_tx.vhd
  • uart_regs_backend ماڈیول محدود ریاست کی مشینوں کو لاگو کرتا ہے جو رجسٹر ڈیٹا کو اندر اور باہر کرتی ہے۔ یہ میزبان کے ساتھ UART مواصلات کو سنبھالنے کے لیے uart_rx اور uart_tx ماڈیولز کا استعمال کرتا ہے۔

ڈیمو پروجیکٹس

  • زپ میں تین ڈیمو پروجیکٹس شامل ہیں۔ file. وہ آپ کو مختلف بورڈز کے ساتھ ساتھ کچھ بڑے، اندرونی رجسٹروں پر موجود آلات کو کنٹرول کرنے دیتے ہیں۔
  • ڈیمو فولڈرز میں پہلے سے تیار کردہ uart_regs.vhd اور uart_regs.py شامل ہیں۔ fileخاص طور پر ان ڈیزائنوں کے لیے بنایا گیا ہے۔

جالی آئی سی اسٹک

  • demo/icecube2_icestick فولڈر میں Lattice iCEstick FPGA بورڈ کے لیے رجسٹر تک رسائی کے ڈیمو نفاذ پر مشتمل ہے۔
  • عمل درآمد کے عمل سے گزرنے کے لیے، demo/lattice_icestick/icecube2_proj/uart_regs_sbt.project کھولیں۔ file Lattice iCEcube2 ڈیزائن سافٹ ویئر میں۔
  • iCEcube2 GUI میں پروجیکٹ کو لوڈ کرنے کے بعد، پروگرامنگ بٹ میپ بنانے کے لیے Tools→Run All پر کلک کریں۔ file.
  • آپ تیار کردہ بٹ میپ کے ساتھ FPGA کو ترتیب دینے کے لیے لیٹیس ڈائمنڈ پروگرامر اسٹینڈ ایلون ٹول استعمال کر سکتے ہیں۔ file. جب ڈائمنڈ پروگرامر کھلتا ہے تو خوش آمدید ڈائیلاگ باکس میں موجود پروگرامر پروجیکٹ کو کھولیں پر کلک کریں۔
  • پروجیکٹ منتخب کریں۔ file زپ میں پایا: demo/lattice_icestick/diamond_programmer_project.xcf اور ٹھیک ہے پر کلک کریں۔VHDLwhiz-UART-Test-interface-generator-FIG-13
  • پروجیکٹ لوڈ ہونے کے بعد، میں تین نقطوں پر کلک کریں۔ File کالم کا نام دیں، جیسا کہ اوپر دکھایا گیا ہے۔ بٹ میپ کو منتخب کرنے کے لیے براؤز کریں۔ file جو آپ نے iCEcube2 میں تیار کیا ہے۔
  • demo/lattice_icestick/icecube2_proj/uart_regs_Implmnt/sbt/outputs/bitmap/top_icestick_bitmap.bin
  • آخر میں، iCEstick بورڈ کو اپنے کمپیوٹر پر USB پورٹ میں پلگ کرنے کے ساتھ، SPI فلیش کو پروگرام کرنے اور FPGA کو کنفیگر کرنے کے لیے Design→پروگرام کو منتخب کریں۔
  • اب آپ demo/lattice_icestick/uart_regs.py اسکرپٹ کا استعمال کرکے رجسٹر پڑھنے اور لکھنے کے لیے آگے بڑھ سکتے ہیں جیسا کہ uart_regs.py سیکشن میں بیان کیا گیا ہے۔

Xilinx Digilent Arty A7-35T

  • آپ ڈیمو/arty_a7_35 فولڈر میں Artix-7 35T Arty FPGA تشخیصی کٹ کے لیے ڈیمو نفاذ تلاش کر سکتے ہیں۔
  • Vivado کھولیں اور نکالے گئے پر جائیں۔ files GUI انٹرفیس کے نیچے پائے جانے والے Tcl کنسول کا استعمال کر رہا ہے۔ ڈیمو پروجیکٹ فولڈر میں داخل ہونے کے لیے یہ کمانڈ ٹائپ کریں:
  • سی ڈی /demo/arty_a7_35/vivado_proj/
  • Vivado پروجیکٹ کو دوبارہ بنانے کے لیے create_vivado_proj.tcl Tcl اسکرپٹ پر عمل کریں:
  • ماخذ ./create_vivado_proj.tcl
  • عمل درآمد کے تمام مراحل سے گزرنے اور پروگرامنگ بٹ اسٹریم بنانے کے لیے سائڈبار میں جنریٹ بٹ اسٹریم پر کلک کریں۔ file.
  • آخر میں، اوپن ہارڈ ویئر مینیجر پر کلک کریں اور GUI کے ذریعے FPGA پروگرام کریں۔
  • اب آپ demo/arty_a7_35/uart_regs.py اسکرپٹ کا استعمال کرکے رجسٹر پڑھنے اور لکھنے کے لیے آگے بڑھ سکتے ہیں جیسا کہ uart_regs.py سیکشن میں بیان کیا گیا ہے۔

Xilinx Digilent Arty S7-50

  • آپ ڈیمو/arty_s7_7 فولڈر میں Arty S7: Spartan-50 FPGA ڈویلپمنٹ بورڈ کے لیے ڈیمو نفاذ تلاش کر سکتے ہیں۔
  • Vivado کھولیں اور نکالے گئے پر جائیں۔ files GUI انٹرفیس کے نیچے پائے جانے والے Tcl کنسول کا استعمال کر رہا ہے۔ ڈیمو پروجیکٹ فولڈر میں داخل ہونے کے لیے یہ کمانڈ ٹائپ کریں:
  • سی ڈی /demo/arty_s7_50/vivado_proj/
  • Vivado پروجیکٹ کو دوبارہ بنانے کے لیے create_vivado_proj.tcl Tcl اسکرپٹ پر عمل کریں:
  • ماخذ ./create_vivado_proj.tcl
  • عمل درآمد کے تمام مراحل سے گزرنے اور پروگرامنگ بٹ اسٹریم بنانے کے لیے سائڈبار میں جنریٹ بٹ اسٹریم پر کلک کریں۔ file.
  • آخر میں، اوپن ہارڈ ویئر مینیجر پر کلک کریں اور GUI کے ذریعے FPGA پروگرام کریں۔
  • اب آپ demo/arty_s7_50/uart_regs.py اسکرپٹ کا استعمال کرکے رجسٹر پڑھنے اور لکھنے کے لیے آگے بڑھ سکتے ہیں جیسا کہ uart_regs.py سیکشن میں بیان کیا گیا ہے۔

عمل درآمد

  • نفاذ کے لیے کوئی خاص تقاضے نہیں ہیں۔

پابندیاں

  • اس ڈیزائن کے لیے وقت کی کسی خاص پابندی کی ضرورت نہیں ہے کیونکہ UART انٹرفیس سست ہے اور اسے غیر مطابقت پذیر انٹرفیس کے طور پر سمجھا جاتا ہے۔
  • uart_regs ماڈیول میں uart_rx ان پٹ uart_rx ماڈیول کے اندر مطابقت پذیر ہوتا ہے۔ اس طرح، اسے اعلیٰ سطح کے ماڈیول میں مطابقت پذیر ہونے کی ضرورت نہیں ہے۔

معلوم مسائل

  • آپ کو ماڈیول کو استعمال کرنے سے پہلے اسے دوبارہ ترتیب دینے کی ضرورت پڑ سکتی ہے، اس بات پر منحصر ہے کہ آیا آپ کا FPGA فن تعمیر پہلے سے طے شدہ رجسٹر اقدار کو سپورٹ کرتا ہے۔

مزید معلومات

اکثر پوچھے گئے سوالات

س: UART ٹیسٹ انٹرفیس جنریٹر کا مقصد کیا ہے؟

A: UART ٹیسٹ انٹرفیس جنریٹر UART مواصلات کا استعمال کرتے ہوئے FPGA رجسٹر اقدار کے ساتھ تعامل کرنے کے لیے اپنی مرضی کے مطابق انٹرفیس بنانے کی اجازت دیتا ہے۔

سوال: میں پیسیریل پیکیج کو کیسے انسٹال کروں؟

A: آپ Pip کے ذریعے Pyserial انسٹال کر سکتے ہیں کمانڈ استعمال کر کے: pip install pyserial

دستاویزات / وسائل

VHDLwhiz UART ٹیسٹ انٹرفیس جنریٹر [پی ڈی ایف] یوزر مینوئل
UART ٹیسٹ انٹرفیس جنریٹر، ٹیسٹ انٹرفیس جنریٹر، انٹرفیس جنریٹر، جنریٹر

حوالہ جات

ایک تبصرہ چھوڑیں۔

آپ کا ای میل پتہ شائع نہیں کیا جائے گا۔ مطلوبہ فیلڈز نشان زد ہیں۔ *