VHDLwhiz-లోగో

VHDLwhiz UART టెస్ట్ ఇంటర్‌ఫేస్ జనరేటర్

VHDLwhiz-UART-టెస్ట్-ఇంటర్‌ఫేస్-జనరేటర్-PRODUCT

ఉత్పత్తి సమాచారం

స్పెసిఫికేషన్‌లు:

  • ఉత్పత్తి పేరు: VHDL UART పరీక్ష ఇంటర్‌ఫేస్ జనరేటర్‌ను నమోదు చేస్తుంది
  • వెర్షన్: 1.0.4
  • తేదీ: ఆగస్టు 18, 2024
  • రచయిత: జోనాస్ జూలియన్ జెన్సన్
  • ఉత్పత్తి URL: ఉత్పత్తి లింక్
  • సంప్రదింపు ఇమెయిల్: jonas@vhdlwhiz.com

వివరణ

ఈ ఉత్పత్తి UART ఉపయోగించి FPGA రిజిస్టర్ విలువలను చదవడానికి మరియు వ్రాయడానికి కస్టమ్ ఇంటర్‌ఫేస్‌లను రూపొందించడానికి మిమ్మల్ని అనుమతిస్తుంది. ఉత్పత్తి చేయబడిన VHDL మాడ్యూల్ మరియు పైథాన్ స్క్రిప్ట్ మీ FPGA డిజైన్‌లోని వివిధ రకాల రిజిస్టర్‌లతో సంకర్షణ చెందే సామర్థ్యాన్ని అందిస్తాయి.

అవసరాలు

  • పైథాన్ 3 ఇంటర్‌ప్రెటర్
  • పైసీరియల్ ప్యాకేజీ

ప్రోటోకాల్

ఈ ఉత్పత్తి నాలుగు నియంత్రణ అక్షరాలతో కూడిన డేటా ఫ్రేమింగ్ ప్రోటోకాల్‌ను ఉపయోగిస్తుంది:

  • పేరు: చదవండి_REQ, విలువ: 0x0A – అన్ని రిజిస్టర్‌లను UART ద్వారా తిరిగి పంపడానికి వ్రాత క్రమాన్ని ప్రారంభించడానికి హోస్ట్ నుండి FPGA కి ఆదేశం.
  • పేరు: START_వ్రాయండి, విలువ: 0x0B – రెండు దిశలలో వ్రాసే క్రమం యొక్క ప్రారంభాన్ని సూచిస్తుంది
  • పేరు: రాయండి, విలువ: 0x0C – రెండు దిశలలో వ్రాసే క్రమం ముగింపును సూచిస్తుంది
  • పేరు: తప్పించుకోండి, విలువ: 0x0D – నియంత్రణ పదాల నుండి తప్పించుకోవడానికి ఉపయోగించే ఎస్కేప్ అక్షరం

ఉత్పత్తి వినియోగ సూచనలు

స్క్రిప్ట్‌లను అమలు చేస్తోంది

ఉత్పత్తిని ఉపయోగించడానికి, మీరు పైథాన్ 3 మరియు పైసీరియల్ ప్యాకేజీని ఇన్‌స్టాల్ చేసుకున్నారని నిర్ధారించుకోండి. పైథాన్ 3 ఇంటర్‌ప్రెటర్ ద్వారా స్క్రిప్ట్‌లను అమలు చేయండి.

కస్టమ్ ఇంటర్‌ఫేస్‌లను రూపొందించడం

FPGA రిజిస్టర్ విలువలను చదవడానికి మరియు వ్రాయడానికి కస్టమ్ ఇంటర్‌ఫేస్‌లను రూపొందించడానికి gen_uart_regs.py స్క్రిప్ట్‌ను ఉపయోగించండి. అవుట్‌పుట్‌ను రూపొందించేటప్పుడు మీరు ఇన్‌పుట్ మరియు అవుట్‌పుట్ రిజిస్టర్‌లు మరియు రకాల కూర్పును పేర్కొనవచ్చు. files.

రిజిస్టర్లతో పరస్పర చర్య చేయడం

జనరేట్ చేయబడిన VHDL మాడ్యూల్ మరియు పైథాన్ స్క్రిప్ట్‌ని ఉపయోగించి మీరు మీ FPGA డిజైన్‌లోని ఎన్ని రిజిస్టర్‌ల నుండి అయినా చదవవచ్చు లేదా వ్రాయవచ్చు. యాక్సెస్ చేయగల రిజిస్టర్‌లలో std_logic, std_logic_vector, సైన్డ్ లేదా అన్‌సైన్డ్ వంటి రకాలు ఉండవచ్చు.

లైసెన్స్

  • MIT లైసెన్స్ సోర్స్ కోడ్ యొక్క కాపీరైట్ అవసరాలు మరియు ఉపయోగ నిబంధనలను కవర్ చేస్తుంది. LICENSE.txtని చూడండి file జిప్ లో file వివరాల కోసం.

చేంజ్లాగ్

  • ఈ మార్పులు ప్రాజెక్ట్‌ను సూచిస్తాయి files, మరియు ఈ పత్రం తదనుగుణంగా నవీకరించబడింది
వెర్షన్ వ్యాఖ్యలు
1.0.0 ప్రారంభ విడుదల
1.0.1 పైథాన్ మాడ్యూల్‌గా uart_regs.pyగా దిగుమతి చేసుకుంటున్నప్పుడు తప్పిపోయిన «self» రిఫరెన్స్ బగ్ పరిష్కరించబడింది. రైట్ ఫెయిల్డ్ ప్రింట్‌అవుట్‌ను మినహాయింపుకు మార్చారు.

దిగుమతి చేసుకున్న మాడ్యూల్‌గా నడుస్తున్నప్పుడు కన్సోల్‌కు ముద్రించడాన్ని నివారించండి.

1.0.2 అవుట్ మోడ్ రెగ్‌లు లేనప్పుడు వివాడో [సింత్ 8-248] ఎర్రర్‌ను పరిష్కరించండి.
1.0.3 వివాడో లింటర్ హెచ్చరికను పరిష్కరించండి: రిజిస్టర్ ఎనేబుల్ ద్వారా నడపబడుతుంది

సమకాలిక రీసెట్

1.0.4 చివరి బైట్‌గా escape అక్షరంతో తప్పుగా ఫార్మాట్ చేయబడిన పదాన్ని స్వీకరించినప్పుడు కార్నర్ కేస్‌ను పరిష్కరించండి. IDLEకి తిరిగి వచ్చేటప్పుడు మనం recv_data_prev_is_escapeని క్లియర్ చేయనందున తదుపరి పదం కూడా పోతుంది.

gen_uart_regs.py స్క్రిప్ట్ ఇప్పుడు ప్రత్యేకమైన reg పేర్లను మాత్రమే అనుమతిస్తుంది.

వివరణ

  • ఈ పత్రం క్రింది వాటిని వివరిస్తుంది fileలు మరియు ఫోల్డర్‌లు:
  • gen_uart_regs.py
  • జనరేట్/uart_regs.vhd
  • జనరేట్/uart_regs.py
  • జనరేట్/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 fileUARTని ఉపయోగించి వివిధ రకాలు మరియు వెడల్పుల FPGA రిజిస్టర్ విలువలను చదవడానికి మరియు వ్రాయడానికి అనుకూల ఇంటర్‌ఫేస్‌లను రూపొందించడానికి ఈ ప్రాజెక్ట్‌లోని లు మిమ్మల్ని అనుమతిస్తాయి.
  • మీరు రూపొందించిన VHDL మాడ్యూల్ మరియు పైథాన్ స్క్రిప్ట్‌ని ఉపయోగించి మీ డిజైన్‌లోని ఎన్ని రిజిస్టర్‌ల నుండి అయినా చదవవచ్చు లేదా వ్రాయవచ్చు. UART యాక్సెస్ చేయగల రిజిస్టర్‌లు std_logic, std_logic_vector, సంతకం లేదా సంతకం చేయని రకాలు కలిగి ఉండవచ్చు.
  • అవుట్‌పుట్‌ను ఉత్పత్తి చేసేటప్పుడు మీరు ఇన్‌పుట్ మరియు అవుట్‌పుట్ రిజిస్టర్‌లు మరియు రకాల ఖచ్చితమైన కూర్పుపై నిర్ణయం తీసుకోవచ్చు filegen_uart_regs.py స్క్రిప్ట్‌ని ఉపయోగిస్తున్నారు.
  • పైథాన్ స్క్రిప్ట్‌లు చాట్‌జిపిటి ఆర్టిఫిషియల్ ఇంటెలిజెన్స్ సాధనం సహాయంతో పాక్షికంగా సృష్టించబడ్డాయి, అయితే VHDL కోడ్ చేతితో తయారు చేయబడింది.

అవసరాలు

  • ఈ ప్రాజెక్ట్‌లోని స్క్రిప్ట్‌లను తప్పనిసరిగా పైథాన్ 3 ఇంటర్‌ప్రెటర్ ద్వారా అమలు చేయాలి మరియు పైసీరియల్ ప్యాకేజీ తప్పనిసరిగా ఇన్‌స్టాల్ చేయబడాలి.
  • మీరు ఈ ఆదేశాన్ని ఉపయోగించి Pip ద్వారా pyserial ను ఇన్‌స్టాల్ చేయవచ్చు: pip install pyserial

ప్రోటోకాల్

  • VHDL files మరియు పైథాన్ స్క్రిప్ట్ నాలుగు నియంత్రణలతో డేటా-ఫ్రేమింగ్ ప్రోటోకాల్‌ను ఉపయోగిస్తాయి
పేరు విలువ వ్యాఖ్యానించండి
చదవండి_REQ 0x0A హోస్ట్ నుండి FPGA కి వ్రాయడం ప్రారంభించడానికి ఆదేశం

UART ద్వారా అన్ని రిజిస్టర్‌లను తిరిగి పంపే క్రమం

START_వ్రైట్ 0x0B రెండింటిలో దేనిలోనైనా వ్రాత క్రమం యొక్క ప్రారంభాన్ని సూచిస్తుంది

దిశ

END_WRITE 0x0 సి ఏదైనా దిశలో వ్రాసే క్రమం యొక్క ముగింపును సూచిస్తుంది
తప్పించుకో 0x0D START_WRITE మరియు END_WRITE మార్కర్‌ల మధ్య డేటాగా కనిపించినప్పుడు ESCAPE అక్షరంతో సహా ఏదైనా నియంత్రణ పదాల నుండి తప్పించుకోవడానికి ఎస్కేప్ అక్షరం ఉపయోగించబడుతుంది.

FPGAకి పంపబడిన ఏదైనా తప్పించుకోబడని 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-టెస్ట్-ఇంటర్‌ఫేస్-జనరేటర్-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-టెస్ట్-ఇంటర్‌ఫేస్-జనరేటర్-FIG-2
  • వివిధ దిశలు, పొడవులు మరియు రకాల అనేక రిజిస్టర్‌లతో ఇంటర్‌ఫేస్‌ను రూపొందించడానికి ఆర్గ్యుమెంట్‌లతో స్క్రిప్ట్‌ను అమలు చేద్దాం.VHDLwhiz-UART-టెస్ట్-ఇంటర్‌ఫేస్-జనరేటర్-FIG-3

ఉత్పత్తి చేయబడింది files

  • gen_uart_regs.py స్క్రిప్ట్ యొక్క విజయవంతమైన రన్ ఈ మూడింటితో రూపొందించబడిన అవుట్‌పుట్ ఫోల్డర్‌ను ఉత్పత్తి చేస్తుంది fileక్రింద జాబితా చేయబడింది. అవి ఇప్పటికే ఉన్నట్లయితే, అవి భర్తీ చేయబడతాయి.
  • జనరేట్/uart_regs.vhd
  • జనరేట్/uart_regs.py
  • జనరేట్/instantiation_template.vho
  • uart_regs.vhd
  • ఇది స్క్రిప్ట్ ద్వారా రూపొందించబడిన కస్టమ్ ఇంటర్‌ఫేస్ మాడ్యూల్. మీరు UARTని ఉపయోగించి మీరు నియంత్రించాలనుకుంటున్న రిజిస్టర్‌లను యాక్సెస్ చేయగల మీ డిజైన్‌లో దీన్ని ఇన్‌స్టాంటియేట్ చేయాలి.
  • ప్రతి uart_regs మాడ్యూల్‌కు “– UART యాక్సెస్ చేయగల రిజిస్టర్‌లు” విభాగానికి ఎగువన ఉన్న ప్రతిదీ ఒకేలా ఉంటుంది, అయితే ఆ లైన్‌కు దిగువన ఉన్న పోర్ట్ సిగ్నల్‌ల కూర్పు జనరేటర్ స్క్రిప్ట్‌కు ఇచ్చిన ఆర్గ్యుమెంట్‌లపై ఆధారపడి ఉంటుంది.
  • దిగువ జాబితా uart_regs మాడ్యూల్ కోసం జెనరేట్ కమాండ్ ఎక్స్ ఫలితంగా ఎంటిటీని చూపుతుందిample gen_uart_regs.py విభాగంలో చూపబడిందిVHDLwhiz-UART-టెస్ట్-ఇంటర్‌ఫేస్-జనరేటర్-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-టెస్ట్-ఇంటర్‌ఫేస్-జనరేటర్-FIG-5

UART పోర్ట్‌ను సెట్ చేస్తోంది

  • -c స్విచ్‌ని ఉపయోగించి UART పోర్ట్‌ను సెట్ చేయడానికి స్క్రిప్ట్‌లో ఎంపికలు ఉన్నాయి. ఇది Windows మరియు Linuxలో పనిచేస్తుంది. సహాయ మెనులో జాబితా చేయబడిన అందుబాటులో ఉన్న పోర్ట్‌లలో ఒకదానికి దీన్ని సెట్ చేయండి. డిఫాల్ట్ పోర్ట్‌ను సెట్ చేయడానికి, మీరు uart_regs.py స్క్రిప్ట్‌లో UART_PORT వేరియబుల్‌ను కూడా సవరించవచ్చు.

లిస్టింగ్ రిజిస్టర్లు

  • రిజిస్టర్ మ్యాపింగ్ గురించి సమాచారం gen_uart_regs.py స్క్రిప్ట్ ద్వారా uart_regs.py స్క్రిప్ట్ యొక్క హెడర్‌లో ఉంచబడుతుంది. క్రింద చూపిన విధంగా, మీరు -l స్విచ్‌తో అందుబాటులో ఉన్న రిజిస్టర్‌లను జాబితా చేయవచ్చు. ఇది స్థానిక కమాండ్ మరియు లక్ష్య FPGAతో సంకర్షణ చెందదు.VHDLwhiz-UART-టెస్ట్-ఇంటర్‌ఫేస్-జనరేటర్-FIG-6

రిజిస్టర్లకు రాయడం

  • -w స్విచ్‌ని ఉపయోగించడం ద్వారా మీరు అవుట్ మోడ్ రిజిస్టర్‌లలో దేనికైనా వ్రాయవచ్చు. క్రింద చూపిన విధంగా “=” తర్వాత రిజిస్టర్ పేరు మరియు బైనరీ, హెక్సాడెసిమల్ లేదా దశాంశ విలువగా ఇవ్వబడిన విలువను అందించండి.VHDLwhiz-UART-టెస్ట్-ఇంటర్‌ఫేస్-జనరేటర్-FIG-7
  • VHDL అమలుకు స్క్రిప్ట్ అన్ని అవుట్‌పుట్ రిజిస్టర్‌లను ఒకేసారి వ్రాయవలసి ఉంటుందని గమనించండి. కాబట్టి, మీరు పూర్తి అవుట్‌పుట్ రిజిస్టర్‌ల సెట్‌ను పేర్కొనకపోతే, స్క్రిప్ట్ మొదట లక్ష్య FPGA నుండి రీడ్‌ను నిర్వహిస్తుంది మరియు తరువాత తప్పిపోయిన వాటి కోసం ఆ విలువలను ఉపయోగిస్తుంది. ఫలితంగా పేర్కొన్న రిజిస్టర్‌లు మాత్రమే మారుతాయి.
  • మీరు వ్రాసేటప్పుడు, పేర్కొన్న అన్ని రిజిస్టర్‌లు ఒకే క్లాక్ సైకిల్‌లో మారుతాయి, UART ద్వారా స్వీకరించిన వెంటనే కాదు.

రిజిస్టర్లను చదవడం

  • దిగువ చూపిన విధంగా అన్ని రిజిస్టర్ విలువలను చదవడానికి -r స్విచ్‌ని ఉపయోగించండి. పసుపు రంగులో గుర్తించబడిన విలువలు మనం మునుపటి రైట్ ఎక్స్‌లో మార్చినవిampleVHDLwhiz-UART-టెస్ట్-ఇంటర్‌ఫేస్-జనరేటర్-FIG-8
  • ప్రతి రీడ్ అన్ని ఇన్‌పుట్ మరియు అవుట్‌పుట్ రిజిస్టర్‌ల తక్షణ స్నాప్‌షాట్‌ను చూపుతుంది. వారంతా రుampఅదే గడియార చక్రంలో దారితీసింది

డీబగ్గింగ్

మీరు కమ్యూనికేషన్ ప్రోటోకాల్‌ను డీబగ్ చేయవలసి వస్తే -d స్విచ్‌ని ఏదైనా ఇతర స్విచ్‌లతో ఉపయోగించండి. అప్పుడు, స్క్రిప్ట్ పంపిన మరియు స్వీకరించిన అన్ని బైట్‌లను ప్రింట్ చేస్తుంది మరియు tag అవి నియంత్రణ అక్షరాలు అయితే, క్రింద చూపిన విధంగా.VHDLwhiz-UART-టెస్ట్-ఇంటర్‌ఫేస్-జనరేటర్-FIG-9

ఇతర పైథాన్ స్క్రిప్ట్‌లలో ఇంటర్‌ఫేస్‌ని ఉపయోగించడం

  • uart_regs.py స్క్రిప్ట్ UartRegs తరగతిని కలిగి ఉంది, మీరు ఇతర అనుకూల పైథాన్ స్క్రిప్ట్‌లలో కమ్యూనికేషన్ ఇంటర్‌ఫేస్‌గా సులభంగా ఉపయోగించవచ్చు. దిగువ చూపిన విధంగా తరగతిని దిగుమతి చేయండి, దాని యొక్క వస్తువును సృష్టించండి మరియు పద్ధతులను ఉపయోగించడం ప్రారంభించండి.VHDLwhiz-UART-టెస్ట్-ఇంటర్‌ఫేస్-జనరేటర్-FIG-10
  • పద్ధతి మరియు వివరణలు మరియు రిటర్న్ విలువ రకాల కోసం పైథాన్ కోడ్‌లోని డాక్‌స్ట్రింగ్‌లను చూడండి.

instantiation_template.vho

  • మీ సౌలభ్యం కోసం uart_regs మాడ్యూల్‌తో పాటు తక్షణ టెంప్లేట్ రూపొందించబడింది. కోడింగ్ సమయాన్ని ఆదా చేయడానికి, మీరు మాడ్యూల్ ఇన్‌స్టంటేషన్ మరియు సిగ్నల్ డిక్లరేషన్‌లను మీ డిజైన్‌లోకి కాపీ చేయవచ్చు.VHDLwhiz-UART-టెస్ట్-ఇంటర్‌ఫేస్-జనరేటర్-FIG-11VHDLwhiz-UART-టెస్ట్-ఇంటర్‌ఫేస్-జనరేటర్-FIG-12

స్టాటిక్ RTL files

  • మీరు ఈ క్రింది వాటిని చేర్చాలి fileమీ 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లు ఆ డిజైన్ల కోసం ప్రత్యేకంగా తయారు చేయబడ్డాయి.

లాటిస్ iCEstick

  • డెమో/icecube2_icestick ఫోల్డర్ లాటిస్ iCEstick FPGA బోర్డ్ కోసం రిజిస్టర్ యాక్సెస్ డెమో అమలును కలిగి ఉంది.
  • అమలు ప్రక్రియ ద్వారా అమలు చేయడానికి, demo/lattice_icestick/icecube2_proj/uart_regs_sbt.projectని తెరవండి file లాటిస్ iCEcube2 డిజైన్ సాఫ్ట్‌వేర్‌లో.
  • iCEcube2 GUIలో ప్రాజెక్ట్‌ను లోడ్ చేసిన తర్వాత, ప్రోగ్రామింగ్ బిట్‌మ్యాప్‌ను రూపొందించడానికి టూల్స్→అన్నీ రన్ చేయి క్లిక్ చేయండి file.
  • మీరు రూపొందించిన బిట్‌మ్యాప్‌తో FPGAని కాన్ఫిగర్ చేయడానికి లాటిస్ డైమండ్ ప్రోగ్రామర్ స్వతంత్ర సాధనాన్ని ఉపయోగించవచ్చు file. డైమండ్ ప్రోగ్రామర్ తెరిచినప్పుడు, స్వాగత డైలాగ్ బాక్స్‌లో ఇప్పటికే ఉన్న ప్రోగ్రామర్ ప్రాజెక్ట్‌ను తెరువు క్లిక్ చేయండి.
  • ప్రాజెక్ట్ ఎంచుకోండి file జిప్‌లో కనుగొనబడింది: demo/lattice_icestick/diamond_programmer_project.xcf మరియు సరి క్లిక్ చేయండి.VHDLwhiz-UART-టెస్ట్-ఇంటర్‌ఫేస్-జనరేటర్-FIG-13
  • ప్రాజెక్ట్ లోడ్ అయిన తర్వాత, మూడు చుక్కలను క్లిక్ చేయండి File పైన చూపిన విధంగా నిలువు వరుసకు పేరు పెట్టండి. బిట్‌మ్యాప్‌ని ఎంచుకోవడానికి బ్రౌజ్ చేయండి file మీరు iCEcube2 లో జనరేట్ చేసారు
  • డెమో/లాటిస్_ఐస్ స్టిక్/ఐస్ క్యూబ్ 2_ప్రోజ్/యుఆర్ట్_రెగ్స్_ఇమ్ప్లాంట్/ఎస్బిటి/అవుట్పుట్స్/బిట్ మ్యాప్/టాప్_ఐస్ స్టిక్_బిట్ మ్యాప్.బిన్
  • చివరగా, iCEstick బోర్డ్‌తో మీ కంప్యూటర్‌లోని USB పోర్ట్‌కి ప్లగ్ చేయబడి, SPI ఫ్లాష్‌ని ప్రోగ్రామ్ చేయడానికి డిజైన్→ప్రోగ్రామ్‌ని ఎంచుకోండి మరియు FPGAని కాన్ఫిగర్ చేయండి.
  • ఇప్పుడు మీరు uart_regs.py విభాగంలో వివరించిన విధంగా demo/lattice_icestick/uart_regs.py స్క్రిప్ట్‌ని ఉపయోగించి రిజిస్టర్‌లను చదవడం మరియు వ్రాయడం కొనసాగించవచ్చు.

Xilinx డిజిలెంట్ ఆర్టీ A7-35T

  • మీరు Demo/arty_a7_35 ఫోల్డర్‌లో Artix-7 35T ఆర్టీ FPGA మూల్యాంకన కిట్ కోసం డెమో అమలును కనుగొనవచ్చు.
  • వివాడో తెరిచి, సంగ్రహించిన వాటికి నావిగేట్ చేయండి fileGUI ఇంటర్‌ఫేస్ దిగువన ఉన్న Tcl కన్సోల్‌ని ఉపయోగిస్తుంది. డెమో ప్రాజెక్ట్ ఫోల్డర్‌ను నమోదు చేయడానికి ఈ ఆదేశాన్ని టైప్ చేయండి:
  • సిడి /డెమో/arty_a7_35/వివాడో_ప్రోజ్/
  • Vivado ప్రాజెక్ట్‌ను పునరుత్పత్తి చేయడానికి create_vivado_proj.tcl Tcl స్క్రిప్ట్‌ని అమలు చేయండి:
  • మూలం ./create_vivado_proj.tcl
  • అన్ని అమలు దశలను అమలు చేయడానికి మరియు ప్రోగ్రామింగ్ బిట్‌స్ట్రీమ్‌ను రూపొందించడానికి సైడ్‌బార్‌లోని బిట్‌స్ట్రీమ్‌ను రూపొందించు క్లిక్ చేయండి file.
  • చివరగా, ఓపెన్ హార్డ్‌వేర్ మేనేజర్‌ని క్లిక్ చేసి, GUI ద్వారా FPGAని ప్రోగ్రామ్ చేయండి.
  • మీరు ఇప్పుడు uart_regs.py విభాగంలో వివరించిన విధంగా demo/arty_a7_35/uart_regs.py స్క్రిప్ట్‌ని ఉపయోగించడం ద్వారా రిజిస్టర్‌లను చదవడం మరియు వ్రాయడం కొనసాగించవచ్చు.

Xilinx డిజిలెంట్ ఆర్టీ S7-50

  • మీరు Demo/arty_s7_7 ఫోల్డర్‌లో ఆర్టీ S7: Spartan-50 FPGA డెవలప్‌మెంట్ బోర్డ్ కోసం డెమో అమలును కనుగొనవచ్చు.
  • వివాడో తెరిచి, సంగ్రహించిన వాటికి నావిగేట్ చేయండి fileGUI ఇంటర్‌ఫేస్ దిగువన ఉన్న Tcl కన్సోల్‌ని ఉపయోగిస్తుంది. డెమో ప్రాజెక్ట్ ఫోల్డర్‌ను నమోదు చేయడానికి ఈ ఆదేశాన్ని టైప్ చేయండి:
  • సిడి /డెమో/arty_s7_50/వివాడో_ప్రోజ్/
  • Vivado ప్రాజెక్ట్‌ను పునరుత్పత్తి చేయడానికి create_vivado_proj.tcl Tcl స్క్రిప్ట్‌ని అమలు చేయండి:
  • మూలం ./create_vivado_proj.tcl
  • అన్ని అమలు దశలను అమలు చేయడానికి మరియు ప్రోగ్రామింగ్ బిట్‌స్ట్రీమ్‌ను రూపొందించడానికి సైడ్‌బార్‌లోని బిట్‌స్ట్రీమ్‌ను రూపొందించు క్లిక్ చేయండి file.
  • చివరగా, ఓపెన్ హార్డ్‌వేర్ మేనేజర్‌ని క్లిక్ చేసి, GUI ద్వారా FPGAని ప్రోగ్రామ్ చేయండి.
  • మీరు ఇప్పుడు uart_regs.py విభాగంలో వివరించిన విధంగా demo/arty_s7_50/uart_regs.py స్క్రిప్ట్‌ని ఉపయోగించడం ద్వారా రిజిస్టర్‌లను చదవడం మరియు వ్రాయడం కొనసాగించవచ్చు.

అమలు

  • నిర్దిష్ట అమలు అవసరాలు లేవు.

పరిమితులు

  • UART ఇంటర్‌ఫేస్ నెమ్మదిగా ఉంటుంది మరియు అసమకాలిక ఇంటర్‌ఫేస్‌గా పరిగణించబడుతుంది కాబట్టి ఈ డిజైన్‌కు నిర్దిష్ట సమయ పరిమితులు అవసరం లేదు.
  • uart_regs మాడ్యూల్‌కు uart_rx ఇన్‌పుట్ uart_rx మాడ్యూల్‌లో సమకాలీకరించబడింది. కాబట్టి, ఇది అగ్ర-స్థాయి మాడ్యూల్‌లో సమకాలీకరించాల్సిన అవసరం లేదు.

తెలిసిన సమస్యలు

  • మీ FPGA ఆర్కిటెక్చర్ డిఫాల్ట్ రిజిస్టర్ విలువలకు మద్దతిస్తుందా లేదా అనేదానిపై ఆధారపడి మీరు మాడ్యూల్‌ను ఉపయోగించటానికి ముందు దాన్ని రీసెట్ చేయాల్సి ఉంటుంది.

మరింత సమాచారం

తరచుగా అడిగే ప్రశ్నలు

ప్ర: UART టెస్ట్ ఇంటర్‌ఫేస్ జనరేటర్ యొక్క ఉద్దేశ్యం ఏమిటి?

A: UART టెస్ట్ ఇంటర్‌ఫేస్ జనరేటర్ UART కమ్యూనికేషన్‌ని ఉపయోగించి FPGA రిజిస్టర్ విలువలతో సంకర్షణ చెందడానికి కస్టమ్ ఇంటర్‌ఫేస్‌లను సృష్టించడానికి అనుమతిస్తుంది.

ప్ర: పైసీరియల్ ప్యాకేజీని ఎలా ఇన్‌స్టాల్ చేయాలి?

జ: మీరు ఈ కమాండ్ ఉపయోగించి Pip ద్వారా Pyserial ని ఇన్‌స్టాల్ చేయవచ్చు: pip install pyserial

పత్రాలు / వనరులు

VHDLwhiz UART టెస్ట్ ఇంటర్‌ఫేస్ జనరేటర్ [pdf] యూజర్ మాన్యువల్
UART టెస్ట్ ఇంటర్‌ఫేస్ జనరేటర్, టెస్ట్ ఇంటర్‌ఫేస్ జనరేటర్, ఇంటర్‌ఫేస్ జనరేటర్, జనరేటర్

సూచనలు

వ్యాఖ్యానించండి

మీ ఇమెయిల్ చిరునామా ప్రచురించబడదు. అవసరమైన ఫీల్డ్‌లు గుర్తించబడ్డాయి *