Სარჩევი:
- ნაბიჯი 1: VHDL და Modelsim
- ნაბიჯი 2: VHDL კოდი დიზაინისა და საცდელი სკამისთვის
- ნაბიჯი 3: თანდართული ფაილები
- ნაბიჯი 4: მინი -კორდიკული IP ბირთვი - 16 ბიტიანი
ვიდეო: კორდიკული ალგორითმი VHDL– ის გამოყენებით: 4 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:16
ავტორის მიერ
შესახებ: მიტუ რაჯი - უბრალოდ ჰობი და შემსწავლელი - ჩიპების შემქმნელი - პროგრამული უზრუნველყოფის შემქმნელი - ფიზიკა და მათემატიკის ენთუზიასტი მეტი AmCoder- ის შესახებ »
## ეს არის ყველაზე დაწკაპუნებული, ყველაზე პოპულარული ბმული Google– ში CORDIC ALGORITHM– ის VHDL დანერგვისთვის სინუსური და კოსინუსური ტალღის შესაქმნელად ## ამჟამად ბევრი აპარატურა ეფექტური ალგორითმი არსებობს, მაგრამ ეს არ არის კარგად ცნობილი პროგრამული სისტემების დომინირების გამო მრავალი წელი CORDIC არის ისეთი ალგორითმი, რომელიც სხვა არაფერია თუ არა ცვლისა და ლოგიკის დამატება, რომელიც გამოიყენება მრავალი ფუნქციის გამოსათვლელად, მათ შორის გარკვეული ტრიგონომეტრიული, ჰიპერბოლური, ხაზოვანი და ლოგარითმული ფუნქციები. ეს არის ალგორითმი, რომელიც გამოიყენება გამომთვლელებში და ა.შ. ამრიგად, უბრალო გადამრთველებისა და დამატებების გამოყენებით ჩვენ შეგვიძლია შევქმნათ აპარატურა ნაკლები სირთულის, მაგრამ DSP- ის სიმძლავრის კარდიული ალგორითმის გამოყენებით. ამრიგად, ის შეიძლება შეიქმნას როგორც შიშველი RTL დიზაინი VHDL- ში ან Verilog– ში ყოველგვარი გამოყოფილი მცურავი ერთეულის ან მათემატიკური რთული IP– ების გამოყენების გარეშე.
ნაბიჯი 1: VHDL და Modelsim
აქ კორდიული ალგორითმი ხორციელდება VHDL– ის გამოყენებით სინუსური ტალღისა და ტალღის შესაქმნელად. მას შეუძლია დიდი სიზუსტით გამოუშვას შეყვანის კუთხის სინუსი და კოსინუსი. კოდი სინთეზირდება FPGA– ზე. Modelsim გამოიყენება დიზაინისა და საცდელი სკამის სიმულაციისთვის.
ნაბიჯი 2: VHDL კოდი დიზაინისა და საცდელი სკამისთვის
ორობითი სკალირების ტექნიკა გამოიყენება მცურავი წერტილების რიცხვების გამოსახატავად.
გთხოვთ გაიაროთ თანდართული დოკუმენტები კოდამდე.
გადადით კორდიკულ_ვ4.ვჰდის იმიტირებაზე - დიზაინი - შეყვანის კუთხეა 32 ბიტი + ნიშანი ბიტი; მას შეუძლია ნებისმიერი კუთხის დამუშავება 0-დან +/- 360 გრადუსამდე შეყვანის სიზუსტით 0.000000000233 გრადუსი. შეყვანისას -> MSB არის ნიშანი ბიტი და დანარჩენი 32 ბიტი ასახავს სიდიდეს. -დიზაინის გამომუშავება არის მისი სინუსური და cos მნიშვნელობა 16 ბიტი + ნიშანი ბიტი. სიზუსტით 0.00001526. გთხოვთ გაითვალისწინოთ, რომ გამომავალი ნაჩვენებია 2 -ის კომპლიმენტის სახით, თუ შესაბამისი სინუსის ან კოსმოსის მნიშვნელობა უარყოფითია. Testb.vhd სიმულაცია - დიზაინის საცდელი დიზაინი (1) შეყვანის კუთხეები და გაყვანის გადატვირთვა = '0'. სიმულაციის ორი ნაბიჯის შემდეგ გადააყენეთ გადატვირთვა '1' და "გაუშვით ყველა". (2) სიმულაციის ფანჯარაში დააყენეთ ცოდვისა და სამყაროს სიგნალების რადიკალური ათწილადი და ფორმატი> ანალოგი (ავტომატური). (3) გაადიდეთ ტალღის ფორმის სანახავად სათანადოდ.
ნაბიჯი 3: თანდართული ფაილები
(1) cordic_v4.vhd - დიზაინი. (2) testb.vhd - სატესტო სკამი დიზაინისთვის.
(3) დოკუმენტი, თუ როგორ უნდა აიძულოს კუთხის შეყვანა და გარდაქმნას ორობითი შედეგები.
განახლება: ეს ფაილები არის აბსოლუტური და აღარ არის მოწოდებული. გთხოვთ გამოიყენოთ ფაილები შემდეგი ნაბიჯისგან
ნაბიჯი 4: მინი -კორდიკული IP ბირთვი - 16 ბიტიანი
ზემოაღნიშნული განხორციელების შეზღუდვა არის ნელი, საათის დაბალი სიხშირე, ერთი საათის ციკლში გამოთვლების გამო. მინი-კორდიკული IP ბირთვი- 16 ბიტიანი
- კრიტიკული გზები გადანაწილებულია მრავალ ციკლზე მუშაობის გასაუმჯობესებლად.- უფრო სწრაფად- FPGA დადასტურებული დიზაინი სინთეზირებულია 100 Mhz საათამდე.- მეტი ფართობი ოპტიმიზირებულია HDL– ში, მცირე აპარატურაში.- დატვირთვისა და შესრულების სტატუსის სიგნალები დაემატა. წინა. Testbench:
სრულად ავტომატიზირებულია 0 -დან 360 გრადუსამდე კუთხის შეყვანისთვის
თანდართული ფაილები: 1) მინი კორდიკული ძირითადი vhdl ფაილი 2) მინი კორდიკული საცდელი სკამი 3) მინი კორდიკული IP ძირითადი სახელმძღვანელო 4) დოკუმენტი, თუ როგორ უნდა აიძულოს კუთხეები და გარდაქმნას შედეგები
ნებისმიერი შეკითხვისთვის, გთხოვთ დამიკავშირდეთ:
მიტუ რაჯი
გამომყევი:
ფოსტა: [email protected]
### სულ ჩამოტვირთვები: 325 01-05-2021 წლამდე ###
### კოდი ბოლოს რედაქტირებულია: ივლისი-07-2020 ###
გირჩევთ:
თვითბალანსირებული რობოტი - PID კონტროლის ალგორითმი: 3 ნაბიჯი
თვითდაბალანსებული რობოტი - PID კონტროლის ალგორითმი: ეს პროექტი ჩაფიქრებული იყო იმიტომ, რომ მე დაინტერესებული ვიყავი უფრო მეტი მესწავლა კონტროლის ალგორითმების შესახებ და როგორ ეფექტურად განეხორციელებინა ფუნქციური PID მარყუჟები. პროექტი ჯერ კიდევ განვითარების ფაზაშია, რადგან ჯერ კიდევ არ არის დამატებული Bluetooth მოდული, რომელიც
სამაგიდო თამაში ხელოვნური ინტელექტი: მინიმაქსის ალგორითმი: 8 ნაბიჯი
სამაგიდო თამაში ხელოვნური ინტელექტი: მინიმაქსის ალგორითმი: ოდესმე გიფიქრიათ იმაზე, თუ როგორ მზადდება კომპიუტერები, რომლებთანაც თამაშობთ ჭადრაკში ან ქვაში? კარგად ნუ შეხედავთ ამ ინსტრუქციულს, რადგან ის გაჩვენებთ თუ როგორ უნდა გააკეთოთ მარტივი, მაგრამ ეფექტური ხელოვნური ინტელექტი (AI) მინიმაქსის ალგორითმის გამოყენებით! გამოყენებით th
ძირითადი წამზომი VHDL და Basys3 დაფის გამოყენებით: 9 ნაბიჯი
ძირითადი წამზომი VHDL და Basys3 დაფის გამოყენებით: კეთილი იყოს თქვენი მობრძანება ინსტრუქციის შესახებ, თუ როგორ უნდა ავაშენოთ წამზომი ძირითადი VHDL და Basys 3 დაფის გამოყენებით. ჩვენ მოხარული ვართ გაგიზიაროთ ჩვენი პროექტი! ეს იყო საბოლოო პროექტი კურსის CPE 133 (ციფრული დიზაინი) Cal Poly- ში, SLO 2016 წლის შემოდგომაზე. პროექტი ჩვენ ვაშენებთ
Tic Tac Toe არდუინოზე AI (მინიმაქსის ალგორითმი): 3 ნაბიჯი
Tic Tac Toe Arduino– სთან AI (მინიმაქსის ალგორითმი): ამ ინსტრუქციურად მე ვაჩვენებ, თუ როგორ უნდა ავაშენოთ Tic Tac Toe თამაში AI– ით Arduino– ს გამოყენებით. თქვენ შეგიძლიათ ითამაშოთ არდუინოს წინააღმდეგ ან უყუროთ არდუინოს თამაშს საკუთარი თავის წინააღმდეგ. მე ვიყენებ ალგორითმს სახელწოდებით "მინიმაქსის ალგორითმი"
ვიდეო დამუშავება VHDL და Zybo გამოყენებით: 10 ნაბიჯი
ვიდეო დამუშავება VHDL და Zybo გამოყენებით: FPGA– ები უფრო სწრაფია ვიდრე CPU– ები, რადგან მათ შეუძლიათ მრავალი გათვლების გაკეთება პარალელურად შენიშვნა: ეს პროექტი ჯერ კიდევ მშენებლობის პროცესშია და გაუმჯობესდება (როგორც კი დრო მექნება). ამასობაში მე ვმოგზაურობ მსოფლიოში