VHDLwiz Երկուական File Reader Writer Packages

Այս փաստաթուղթը նկարագրում է, թե ինչպես օգտագործել VHDLwiz-ի երկուականը file ընթերցող և գրող VHDL մոդելավորման փաթեթներ, որոնք մշակում են ցանկացած երկարության վեկտորներ:
Լիցենզիա
MIT լիցենզիան ծածկում է սկզբնական կոդի հեղինակային իրավունքի պահանջները և օգտագործման պայմանները:
Տե՛ս LICENSE.txt file Zip-ում file մանրամասների համար.
Փոփոխությունների օրագիր
Այս փոփոխությունները վերաբերում են նախագծին files, և այս փաստաթուղթը համապատասխանաբար թարմացվում է:
| Տարբերակ | Դիտողություններ |
| 1.0.0 | Նախնական թողարկում |
| 1.0.1 | Ուղղված մեթոդի նախատիպի մեկնաբանությունները: Ֆունկցիոնալ փոփոխություններ չկան: |
| 1.0.2 | Read_bits ֆունկցիայի ավելացում՝ որպես ընթացակարգի այլընտրանք |
Նկարագրություն
Այս նախագիծը պարունակում է երկու VHDL փաթեթ՝ երկուականից կարդալու կամ գրելու համար files սիմուլյացիայի մեջ:
Նոր փաթեթների պաշտպանված տեսակները (VHDL դասեր) ապահովում են ավելի պարզ ինտերֆեյս file մուտք, քան VHDL-ի ստանդարտ TEXTIO փաթեթը: Բացի այդ, այն թույլ է տալիս հեշտությամբ կարդալ և գրել տվյալների կտորները կամայական բիթերի երկարությամբ:
Այն օգտակար է երկուականով աշխատող թեստային նստարանների համար files, որտեղ տեղեկատվական դաշտերը չեն տեղավորվում բայթերի սահմաններում, օրինակample, պատկեր files կամ ցանցային փաթեթներ:
Exampօգտագործման դեպքեր
Մեկնաբանությունները վերը նշված մեթոդի նախատիպի կոդը VHDL-ում fileնկարագրում են, թե ինչպես են գործում պաշտպանված տեսակների ընթացակարգերն ու գործառույթները:
Ուսումնասիրեք VHDL թեստային սեղանը՝ աշխատող նախկինին տեսնելու համարample, որը գրում և հետ կարդում է տվյալները երկուականից files, եւ review նախկինampստորև՝ տեսնելու, թե ինչպես են տարբեր երկարությունների վեկտորները ազդում պահվող բայթերի վրա files.

Տարբեր երկարությունների վեկտորներ գրելը
Մյուս կողմից, գրելով տարբեր երկարության վեկտորներ file ծանրաբեռնված է TEXTIO-ով, բայց ոչնչով չի տարբերվում VHDLwhiz-ի փաթեթներով բայթ գրելուց:
Նախկինումampներքևում մենք նախ գրում ենք 12-բիթանոց վեկտոր, այնուհետև մեկ բիթ, և վերջապես, 12-բիթանոց վեկտոր կրկին նույնը: file. Ստորև բերված նկարը ցույց է տալիս, թե ինչպես է տեղեկատվությունը պահվում արդյունքում file.

Նկատի ունեցեք, որ վերջին բայթը զրոյական է, քանի որ գրությունները չեն լրացրել այն:
Ընթերցանությունը ճիշտ հակառակ գործողությունն է, որը վերակառուցում է տվյալները և անտեսում լցոնման բիթերը:
Մեթոդի նախատիպեր
file_reader_pkg.vhd
Ստորև բերված ծածկագիրը ցույց է տալիս դեկլարատիվ շրջանը file ընթերցող փաթեթ:
փաթեթ file_reader_pkg տեսակն է file_reader is protected -- Բացեք երկուական տարբերակը file կարդալու համար -- -- @param fileանունը Մուտքի ուղին file -- ընթացակարգը բաց_file(fileանունը: տող); -- Փակեք երկուականը file եթե բաց ընթացակարգը փակվի_file; -- Ստուգեք, արդյոք file բացվել է կարդալու համար -- -- @return true, եթե file բաց է - անմաքուր ֆունկցիա is_open վերադարձ բուլյան; -- Ստուգեք, արդյոք առկա են ավելի շատ տվյալներ՝ ից կարդալու համար file -- -- @param min_bits_left Հաջորդ պոտենցիալ ընթերցման բիթերի թիվը: -- Արժեքներ > 8 լռելյայն մինչև 8 (մեկ բայթ): -- Գործառույթը պետք է իմանա, արդյոք հաջորդ ակնկալվող ընթերցման չափը պակաս է -- մեկ բայթից, որպեսզի որոշի, թե մնացած բիթերը լրացվում են, թե տվյալների բիթ: -- -- @return true, եթե կարդալու համար մնացել են առնվազն'min_bits_left' բիթեր -- impure ֆունկցիան is_empty(min_bits_left : integer := 8) վերադարձ բուլյան; -- Կարդացեք մուտքագրումից file --- @param n_bits Բիթերի քանակը, որոնցից պետք է կարդալ file -- -- @return Վեկտոր, որը պարունակում է ընթերցված բիթներ -- անմաքուր ֆունկցիա read_bits(n_bits : integer) վերադարձնում է std_logic_vector; -- Կարդացեք մուտքագրումից file. -- Այս պրոցեդուրան կատարում է նույնը, ինչ read_bits ֆունկցիան, -- բայց պրոցեդուրան աշխատում է միայն փոփոխականին վերագրելիս: --- @param bits Վեկտորը, որտեղ տեղադրվում են ընթերցված բիթերը: -- Ընթացակարգը կարդալու է բիթերի երկարության բիթերի թիվը file. - պրոցեդուրա read_bits (փոփոխական բիթ. out std_logic_vector); վերջը պաշտպանված; |
file_writer_pkg.vhd
Ստորև բերված ծածկագիրը ցույց է տալիս դեկլարատիվ շրջանը file գրող փաթեթ.
փաթեթ file_writer_pkg տեսակն է file_writer is protected -- Բացեք երկուականը file գրելու համար -- -- Եթե file գոյություն ունի, այն կվերագրվի: --- @param fileանունը Մուտքի ուղին file -- ընթացակարգը բաց_file(fileանունը: տող); -- Փակեք ելքը file եթե բաց է -- -- Նախքան սիմուլյացիայից դուրս գալը, -- դուք պետք է զանգահարեք այս մեթոդը համոզվելու համար, որ յուրաքանչյուր բիթ գրվի: -- -- Եթե գրված բիթերի ընդհանուր թիվը 8-ի բազմապատիկ չէ, -- ելքը file վերջնական բայթում կլրացվի զրոյական բիթերով: ընթացակարգը փակվում է_file; -- Ստուգեք, արդյոք file բացվել է գրելու համար -- -- @return true, եթե file բաց է - անմաքուր ֆունկցիա is_open վերադարձ բուլյան; -- Գրեք տվյալներ ելքի վրա file --- @param bits Գրելու համար նախատեսված տվյալներ պարունակող վեկտորը: -- Բիթերի վեկտորից յուրաքանչյուր բիթ գրվելու է file. - ընթացակարգը write_bits (bits: in std_logic_vector); վերջը պաշտպանված; վերջնական փաթեթ; |
Zip File Բովանդակություն
├── Երկուական file RW փաթեթ – User Manual.pdf Այս փաստաթուղթը
├── file_reader_pkg.vhd VHDL փաթեթը երկուական ընթերցման համար files
├── file_writer_pkg.vhd Երկուական գրելու VHDL փաթեթ files
├── Ինչպես run.gif Screencast ուղեցույց՝ թեստային նստարանն աշխատեցնելու համար
├── LICENSE.txt Լիցենզային պայմանագիր
├── նախագիծ.mpf ModelSim/Questa նախագիծ file
├── run.do ModelSim/Questa սկրիպտ՝ փորձնական նստարանն աշխատեցնելու համար
└── testbench.vhd Փաթեթների համար ինքնաստուգվող VHDL թեստային նստարան
Դիզայնի մոդելավորում
Zip-ում կա ինքնաստուգվող թեստային նստարան file (testbench.vhd): VHDL testbench-ը պետք է աշխատի ցանկացած ունակ VHDL սիմուլյատորում, որն աջակցում է 2008 թվականի VHDL-ի ամբողջական վերանայումը, սակայն տրամադրված run.do սցենարն աշխատում է միայն ModelSim/Questa-ում: Testbench-ը գործարկելու համար բացեք ModelSim/Questa և մուտքագրեք սիմուլյատորի վահանակում.
անել /run.do runtb
Հայտնի խնդիրներ
Endianness-ը կարող է տարբեր լինել օպերացիոն համակարգերի, սիմուլյատորների և իրականացման գործիքների միջև: Այնուամենայնիվ, ընթերցողի փաթեթը միշտ պետք է կարողանա վերականգնել գրողի փաթեթի հետ ստեղծված տվյալները նույն համակարգի կարգավորումներում:
Փաթեթը սինթեզվող չէ և նախատեսված է միայն փորձարկման նստարաններում/սիմուլյացիաներում օգտագործելու համար:
Տարբերակ՝ 1.0.2
Ամսաթիվ՝ 11 հուլիսի, 2022թ
Արտադրանք URL: https://vhdlwhiz.com/product/vhdl-package-binary-file-readerwriter/
Կոնտակտային էլ. jonas@vhdlwhiz.com

Փաստաթղթեր / ռեսուրսներ
![]() |
VHDLwiz Երկուական File Reader Writer Packages [pdf] Օգտագործողի ձեռնարկ Երկուական File Reader Writer Packages, Երկուական File, Reader Writer Packages, Writer Packages, Packages |
