VHDLwhiz-ლოგო

VHDLwiz UART ტესტის ინტერფეისის გენერატორი

VHDLwhiz-UART-Test-Interface-Generator-PRODUCT

პროდუქტის ინფორმაცია

სპეციფიკაციები:

  • პროდუქტის დასახელება: VHDL რეგისტრირებს UART ტესტის ინტერფეისის გენერატორს
  • ვერსია: 1.0.4
  • თარიღი: 18 წლის 2024 აგვისტო
  • ავტორი: იონას ჯულიან ჯენსენი
  • პროდუქტი URL: პროდუქტის ბმული
  • საკონტაქტო ელფოსტა: jonas@vhdlwhiz.com

აღწერა

ეს პროდუქტი საშუალებას გაძლევთ შექმნათ მორგებული ინტერფეისები FPGA რეგისტრის მნიშვნელობების წაკითხვისა და ჩაწერისთვის UART-ის გამოყენებით. გენერირებული VHDL მოდული და Python სკრიპტი უზრუნველყოფს თქვენს FPGA დიზაინში სხვადასხვა ტიპის რეგისტრებთან ურთიერთობის შესაძლებლობას.

მოთხოვნები

  • Python 3 თარჯიმანი
  • პისერიული პაკეტი

პროტოკოლი

პროდუქტი იყენებს მონაცემთა ჩარჩოს პროტოკოლს ოთხი საკონტროლო სიმბოლოთი:

  • სახელი: READ_REQ, ღირებულება: 0x0A - ბრძანება ჰოსტიდან FPGA-ზე, რათა დაიწყოს ჩაწერის თანმიმდევრობა, რათა ყველა რეგისტრი უკან გაიგზავნოს UART-ზე
  • სახელი: START_WRITE, ღირებულება: 0x0B – აღნიშნავს ჩაწერის თანმიმდევრობის დასაწყისს ორივე მიმართულებით
  • სახელი: END_WRITE, ღირებულება: 0x0C - აღნიშნავს ჩაწერის თანმიმდევრობის დასასრულს ორივე მიმართულებით
  • სახელი: გაქცევა, ღირებულება: 0x0D - Escape სიმბოლო, რომელიც გამოიყენება საკონტროლო სიტყვების გასაქცევად

პროდუქტის გამოყენების ინსტრუქცია

სკრიპტების გაშვება

პროდუქტის გამოსაყენებლად დარწმუნდით, რომ დაინსტალირებული გაქვთ Python 3 და Pyserial პაკეტი. გაუშვით სკრიპტები Python 3 თარჯიმნის საშუალებით.

მორგებული ინტერფეისების გენერირება

გამოიყენეთ gen_uart_regs.py სკრიპტი პერსონალური ინტერფეისების გენერირებისთვის FPGA რეგისტრის მნიშვნელობების წაკითხვისა და ჩაწერისთვის. გამოსავლის გენერირებისას შეგიძლიათ მიუთითოთ შემავალი და გამომავალი რეგისტრების შემადგენლობა და ტიპები files.

რეგისტრებთან ურთიერთობა

თქვენ შეგიძლიათ წაიკითხოთ ან ჩაწეროთ ნებისმიერი რაოდენობის რეგისტრი თქვენს FPGA დიზაინში გენერირებული VHDL მოდულის და Python სკრიპტის გამოყენებით. ხელმისაწვდომ რეგისტრებს შეიძლება ჰქონდეთ ისეთი ტიპები, როგორიცაა std_logic, std_logic_vector, signed ან unsigned.

ლიცენზია

  • MIT ლიცენზია მოიცავს წყაროს კოდის საავტორო უფლებების მოთხოვნებს და გამოყენების პირობებს. იხილეთ LICENSE.txt file Zip-ში file დეტალებისთვის.

ცვლილებების ჟურნალი

  • ეს ცვლილებები ეხება პროექტს files, და ეს დოკუმენტი შესაბამისად განახლებულია
ვერსია შენიშვნები
1.0.0 თავდაპირველი გამოშვება
1.0.1 დაფიქსირდა გამოტოვებული «self» მითითების ხარვეზი, როდესაც იმპორტირდება როგორც uart_regs.py, როგორც Python მოდული. ჩაწერის წარუმატებელი ამონაწერი შეიცვალა გამონაკლისად

მოერიდეთ კონსოლზე დაბეჭდვას იმპორტირებულ მოდულად მუშაობისას.

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 სკრიპტი ახლა მხოლოდ უნიკალურ რეგის სახელებს იძლევა.

აღწერა

  • ეს დოკუმენტი აღწერს შემდეგს files და საქაღალდეები:
  • 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 files ამ პროექტში საშუალებას გაძლევთ შექმნათ ინდივიდუალური ინტერფეისები სხვადასხვა ტიპისა და სიგანის FPGA რეგისტრის მნიშვნელობების წასაკითხად და ჩასაწერად UART-ის გამოყენებით.
  • თქვენ შეგიძლიათ გამოიყენოთ გენერირებული VHDL მოდული და პითონის სკრიპტი, რომ წაიკითხოთ ან ჩაწეროთ ნებისმიერი რაოდენობის რეგისტრი თქვენს დიზაინში. UART ხელმისაწვდომ რეგისტრებს შეიძლება ჰქონდეთ ტიპები std_logic, std_logic_vector, signed ან unsigned.
  • თქვენ შეგიძლიათ გადაწყვიტოთ შემავალი და გამომავალი რეგისტრებისა და ტიპების ზუსტი შემადგენლობა გამომავალი გენერირებისას files იყენებს gen_uart_regs.py სკრიპტს.
  • პითონის სკრიპტები ნაწილობრივ შეიქმნა ChatGPT ხელოვნური ინტელექტის ინსტრუმენტის დახმარებით, ხოლო VHDL კოდი ხელნაკეთია.

მოთხოვნები

  • ამ პროექტში სკრიპტები უნდა იყოს გაშვებული Python 3 თარჯიმნის მეშვეობით და დაინსტალირებული უნდა იყოს Pyserial პაკეტი.
  • თქვენ შეგიძლიათ დააინსტალიროთ pyserial Pip-ის მეშვეობით ამ ბრძანების გამოყენებით: pip install pyserial

პროტოკოლი

  • VHDL files და Python სკრიპტი იყენებს მონაცემთა ჩარჩოს პროტოკოლს ოთხი კონტროლით
სახელი ღირებულება კომენტარი
READ_REQ 0x0A ბრძანება მასპინძლიდან FPGA-ს ჩაწერის დასაწყებად

თანმიმდევრობა ყველა რეგისტრის უკან გაგზავნისთვის UART-ზე

START_WRITE 0XXX აღნიშნავს ჩაწერის თანმიმდევრობის დასაწყისს რომელიმეში

მიმართულება

END_WRITE 0x0C აღნიშნავს ჩაწერის თანმიმდევრობის დასასრულს ორივე მიმართულებით
გაქცევა 0x0D Escape სიმბოლო გამოიყენება ნებისმიერი საკონტროლო სიტყვის, მათ შორის თავად ESCAPE სიმბოლოს გასაქცევად, როდესაც ისინი გამოჩნდება როგორც მონაცემები START_WRITE და END_WRITE მარკერებს შორის.

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-Test-Interface-Generator-FIG-1
  • მორგებული ინტერფეისის გენერირებისთვის, თქვენ უნდა გაუშვათ სკრიპტი არგუმენტებად ჩამოთვლილი თითოეული თქვენთვის სასურველი UART კონტროლირებადი რეგისტრით. ხელმისაწვდომი ტიპებია std_logic, std_logic_vector, unsigned და signed.
  • ნაგულისხმევი რეჟიმი (მიმართულება) არის და ნაგულისხმევი ტიპი არის 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ქვემოთ ჩამოთვლილი. თუ ისინი უკვე არსებობენ, ისინი გადაიწერება.
  • გენერირებული/uart_regs.vhd
  • გენერირებული/uart_regs.py
  • გენერირებული/instantiation_template.vho
  • uart_regs.vhd
  • ეს არის პერსონალური ინტერფეისის მოდული, რომელიც გენერირებულია სკრიპტის მიერ. თქვენ უნდა დააინსტალიროთ ის თქვენს დიზაინში, სადაც მას შეუძლია წვდომა იმ რეგისტრებზე, რომელთა კონტროლიც გსურთ UART-ის გამოყენებით.
  • განყოფილების „– UART ხელმისაწვდომი რეგისტრების“ ზემოთ ყველაფერი იდენტური იქნება ყველა uart_regs მოდულისთვის, ხოლო ამ ხაზის ქვემოთ პორტის სიგნალების შემადგენლობა დამოკიდებულია გენერატორის სკრიპტზე მოცემულ არგუმენტებზე.
  • ქვემოთ მოყვანილი ჩამონათვალი გვიჩვენებს uart_regs მოდულის ერთეულს, რომელიც წარმოიქმნება გენერირების ბრძანების exampნაჩვენებია gen_uart_regs.py განყოფილებაში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 პორტის დაყენება

  • სკრიპტს აქვს UART პორტის დაყენების ვარიანტები -c გადამრთველის გამოყენებით. ეს მუშაობს Windows-ზე და Linux-ზე. დააყენეთ იგი დახმარების მენიუში ჩამოთვლილ ერთ-ერთ ხელმისაწვდომ პორტზე. ნაგულისხმევი პორტის დასაყენებლად, ასევე შეგიძლიათ დაარედაქტიროთ UART_PORT ცვლადი uart_regs.py სკრიპტში.

ჩამონათვალის რეგისტრები

  • ინფორმაცია რეგისტრის რუკების შესახებ მოთავსებულია uart_regs.py სკრიპტის სათაურში gen_uart_regs.py სკრიპტით. თქვენ შეგიძლიათ ჩამოთვალოთ ხელმისაწვდომი რეგისტრები -l გადამრთველით, როგორც ეს ჩანს ქვემოთ. ეს არის ადგილობრივი ბრძანება და არ ურთიერთქმედებს სამიზნე FPGA-სთანVHDLwhiz-UART-Test-Interface-Generator-FIG-6

რეგისტრაციებზე წერა

  • თქვენ შეგიძლიათ ჩაწეროთ გამოსვლის რეჟიმის ნებისმიერ რეგისტრში -w გადამრთველის გამოყენებით. მიუთითეთ რეგისტრის სახელი, რასაც მოჰყვება „=“ და მნიშვნელობა მოცემულია ორობითი, თექვსმეტობითი ან ათობითი მნიშვნელობის სახით, როგორც ნაჩვენებია ქვემოთ.VHDLwhiz-UART-Test-Interface-Generator-FIG-7
  • გაითვალისწინეთ, რომ VHDL დანერგვა მოითხოვს სკრიპტის ყველა გამომავალი რეგისტრის ერთდროულად დაწერას. ამიტომ, თუ არ მიუთითებთ გამომავალი რეგისტრების სრულ კომპლექტს, სკრიპტი ჯერ შეასრულებს წაკითხვას სამიზნე FPGA-დან და შემდეგ გამოიყენებს ამ მნიშვნელობებს გამოტოვებულებისთვის. შედეგი იქნება, რომ შეიცვლება მხოლოდ მითითებული რეგისტრები
  • როდესაც თქვენ ასრულებთ ჩაწერას, ყველა მითითებული რეგისტრი შეიცვლება იმავე საათის ციკლის განმავლობაში და არა როგორც კი ისინი მიიღება UART-ზე.

რეგისტრების კითხვა

  • გამოიყენეთ -r გადამრთველი ყველა რეგისტრის მნიშვნელობის წასაკითხად, როგორც ნაჩვენებია ქვემოთ. ყვითლად მონიშნული მნიშვნელობები არის ის მნიშვნელობები, რომლებიც ჩვენ შევცვალეთ წინა ჩაწერისას exampleVHDLwhiz-UART-Test-Interface-Generator-FIG-8
  • ყოველი წაკითხვა აჩვენებს ყველა შეყვანისა და გამომავალი რეგისტრის მყისიერ სურათს. ისინი ყველა სampხელმძღვანელობდა იმავე საათის ციკლის განმავლობაში

გამართვა

გამოიყენეთ -d გადამრთველი ნებისმიერ სხვა გადამრთველთან, თუ გჭირდებათ საკომუნიკაციო პროტოკოლის გამართვა. შემდეგ, სკრიპტი ამობეჭდავს ყველა გაგზავნილ და მიღებულ ბაიტს და tag თუ ისინი საკონტროლო სიმბოლოებია, როგორც ეს ნაჩვენებია ქვემოთ.VHDLwhiz-UART-Test-Interface-Generator-FIG-9

ინტერფეისის გამოყენება პითონის სხვა სკრიპტებში

  • uart_regs.py სკრიპტი შეიცავს UartRegs კლასს, რომელიც შეგიძლიათ მარტივად გამოიყენოთ როგორც საკომუნიკაციო ინტერფეისი სხვა პირად პითონის სკრიპტებში. უბრალოდ შემოიტანეთ კლასი, შექმენით მისი ობიექტი და დაიწყეთ მეთოდების გამოყენება, როგორც ეს ნაჩვენებია ქვემოთ.VHDLwhiz-UART-Test-Interface-Generator-FIG-10
  • იხილეთ პითონის კოდის დოკუმენტის სტრიქონები მეთოდისა და აღწერილობისთვის და დაბრუნების მნიშვნელობის ტიპებისთვის.

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_rx და uart_tx მოდულებს ჰოსტთან UART კომუნიკაციის დასამუშავებლად.

დემო პროექტები

  • Zip-ში შედის სამი დემო პროექტი file. ისინი საშუალებას გაძლევთ აკონტროლოთ პერიფერიული მოწყობილობები სხვადასხვა დაფებზე, ისევე როგორც რამდენიმე უფრო დიდი შიდა რეგისტრი.
  • დემო საქაღალდეებში შედის წინასწარ გენერირებული uart_regs.vhd და uart_regs.py fileშექმნილია სპეციალურად ამ დიზაინისთვის.

გისოსის გისოსი

  • დემო/icecube2_icestick საქაღალდე შეიცავს რეგისტრის წვდომის დემო განხორციელებას Lattice iCEstick FPGA დაფისთვის.
  • განხორციელების პროცესის გასაშვებად გახსენით demo/lattice_icestick/icecube2_proj/uart_regs_sbt.project file Lattice iCEcube2 დიზაინის პროგრამაში.
  • პროექტის iCEcube2 GUI-ში ჩატვირთვის შემდეგ დააწკაპუნეთ Tools→Run All პროგრამირების ბიტმაპის გენერირებისთვის. file.
  • თქვენ შეგიძლიათ გამოიყენოთ Lattice Diamond Programmer Standalone ინსტრუმენტი FPGA-ის კონფიგურაციისთვის გენერირებული ბიტმაპით file. როდესაც Diamond Programmer იხსნება, დააწკაპუნეთ გახსნა არსებული პროგრამისტის პროექტი მისასალმებელი დიალოგის ფანჯარაში.
  • აირჩიეთ პროექტი file ნაპოვნია Zip-ში: demo/lattice_icestick/diamond_programmer_project.xcf და დააწკაპუნეთ OK.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-ს კონფიგურაციისთვის.
  • ახლა შეგიძლიათ გააგრძელოთ რეგისტრების კითხვა და ჩაწერა demo/lattice_icestick/uart_regs.py სკრიპტის გამოყენებით, როგორც ეს აღწერილია uart_regs.py განყოფილებაში.

Xilinx Digilent Arty A7-35T

  • თქვენ შეგიძლიათ იპოვოთ დემო განხორციელება Artix-7 35T Arty FPGA შეფასების ნაკრებისთვის დემო/arty_a7_35 საქაღალდეში.
  • გახსენით Vivado და გადადით ამოღებულზე files გამოყენებით Tcl კონსოლი, რომელიც ნაპოვნია GUI ინტერფეისის ბოლოში. ჩაწერეთ ეს ბრძანება დემო პროექტის საქაღალდეში შესასვლელად:
  • cd /demo/arty_a7_35/vivado_proj/
  • შეასრულეთ create_vivado_proj.tcl Tcl სკრიპტი Vivado პროექტის რეგენერაციისთვის:
  • წყარო ./create_vivado_proj.tcl
  • დააწკაპუნეთ გენერირება Bitstream-ის გვერდითა ზოლში, რათა გაიაროთ განხორციელების ყველა ნაბიჯი და გენერირება პროგრამირების ბიტტრიმი file.
  • ბოლოს დააჭირეთ Open Hardware Manager და დაპროგრამეთ FPGA GUI-ის მეშვეობით.
  • ახლა შეგიძლიათ გააგრძელოთ რეგისტრების კითხვა და ჩაწერა demo/arty_a7_35/uart_regs.py სკრიპტის გამოყენებით, როგორც ეს აღწერილია uart_regs.py განყოფილებაში.

Xilinx Digilent Arty S7-50

  • თქვენ შეგიძლიათ იპოვოთ დემო განხორციელება Arty S7: Spartan-7 FPGA განვითარების დაფისთვის დემო/arty_s7_50 საქაღალდეში.
  • გახსენით Vivado და გადადით ამოღებულზე files გამოყენებით Tcl კონსოლი, რომელიც ნაპოვნია GUI ინტერფეისის ბოლოში. ჩაწერეთ ეს ბრძანება დემო პროექტის საქაღალდეში შესასვლელად:
  • cd /demo/arty_s7_50/vivado_proj/
  • შეასრულეთ create_vivado_proj.tcl Tcl სკრიპტი Vivado პროექტის რეგენერაციისთვის:
  • წყარო ./create_vivado_proj.tcl
  • დააწკაპუნეთ გენერირება Bitstream-ის გვერდითა ზოლში, რათა გაიაროთ განხორციელების ყველა ნაბიჯი და გენერირება პროგრამირების ბიტტრიმი file.
  • ბოლოს დააჭირეთ Open Hardware Manager და დაპროგრამეთ FPGA GUI-ის მეშვეობით.
  • ახლა შეგიძლიათ გააგრძელოთ რეგისტრების კითხვა და ჩაწერა demo/arty_s7_50/uart_regs.py სკრიპტის გამოყენებით, როგორც ეს აღწერილია uart_regs.py განყოფილებაში.

განხორციელება

  • არ არსებობს კონკრეტული განხორციელების მოთხოვნები.

შეზღუდვები

  • არ არის საჭირო კონკრეტული დროის შეზღუდვები ამ დიზაინისთვის, რადგან UART ინტერფეისი ნელია და განიხილება როგორც ასინქრონული ინტერფეისი.
  • uart_rx შეყვანა uart_regs მოდულში სინქრონიზებულია uart_rx მოდულში. ამრიგად, მას არ სჭირდება სინქრონიზაცია ზედა დონის მოდულში.

ცნობილი საკითხები

  • შეიძლება დაგჭირდეთ მოდულის გადატვირთვა მის გამოყენებამდე, იმისდა მიხედვით, მხარს უჭერს თუ არა თქვენი FPGA არქიტექტურა ნაგულისხმევი რეგისტრის მნიშვნელობებს.

მეტი ინფორმაცია

ხშირად დასმული კითხვები

Q: რა არის UART ტესტის ინტერფეისის გენერატორის დანიშნულება?

პასუხი: UART ტესტის ინტერფეისის გენერატორი საშუალებას გაძლევთ შექმნათ მორგებული ინტერფეისები FPGA რეგისტრის მნიშვნელობებთან UART კომუნიკაციის გამოყენებით.

კითხვა: როგორ დავაინსტალირო Pyserial პაკეტი?

პასუხი: შეგიძლიათ დააინსტალიროთ Pyserial Pip-ის მეშვეობით ბრძანების გამოყენებით: pip install pyserial

დოკუმენტები / რესურსები

VHDLwiz UART ტესტის ინტერფეისის გენერატორი [pdf] მომხმარებლის სახელმძღვანელო
UART სატესტო ინტერფეისის გენერატორი, ტესტის ინტერფეისის გენერატორი, ინტერფეისის გენერატორი, გენერატორი

ცნობები

დატოვე კომენტარი

თქვენი ელფოსტის მისამართი არ გამოქვეყნდება. მონიშნულია აუცილებელი ველები *