VHDLwiz Երկուական File Reader Writer Packages
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.
Exampօգտագործման դեպքեր

Տարբեր երկարությունների վեկտորներ գրելը

Մյուս կողմից, գրելով տարբեր երկարության վեկտորներ file ծանրաբեռնված է TEXTIO-ով, բայց ոչնչով չի տարբերվում VHDLwhiz-ի փաթեթներով բայթ գրելուց:

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

Նկատի ունեցեք, որ վերջին բայթը զրոյական է, քանի որ գրությունները չեն լրացրել այն:

Ընթերցանությունը ճիշտ հակառակ գործողությունն է, որը վերակառուցում է տվյալները և անտեսում լցոնման բիթերը:

Մեթոդի նախատիպեր

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

VHDLwhiz.com

VHDLwiz լոգոն

Փաստաթղթեր / ռեսուրսներ

VHDLwiz Երկուական File Reader Writer Packages [pdf] Օգտագործողի ձեռնարկ
Երկուական File Reader Writer Packages, Երկուական File, Reader Writer Packages, Writer Packages, Packages

Հղումներ

Թողնել մեկնաբանություն

Ձեր էլփոստի հասցեն չի հրապարակվի: Պարտադիր դաշտերը նշված են *