RENESAS ForgeFPGA программалык симуляциясы

RENESAS ForgeFPGA программалык симуляциясы

Маанилүү маалымат

Симуляция - бул RTL коду болжолдонгон жолду алып барарын текшерүү үчүн дизайнга ар кандай киргизүү стимулдарын колдонуу ыкмасы. Ал дизайндын бекемдигин текшерүү үчүн колдонулат. Симуляция колдонуучуга мүмкүнчүлүк берет view дизайндагы дизайн сүрөттөлүшүн түшүнүү үчүн тиешелүү сигналдардын убакыт диаграммасы file мамиле кылат.

Testbenches - бул симуляция үчүн колдонулган коддун бөлүктөрү. Жөнөкөй тестирлөө бирдигин (UUT) ишке киргизет жана киргизүүнү башкарат. Go Configure программасы Icarus Verilog (iVerilog) жана GTKWave менен симуляциянын толкун формаларына байкоо жүргүзүү үчүн колдонот.

Бул документ системаңызга Icarus орнотуп жатканда жасалышы керек болгон кадамдарды жана ийгиликтүү симуляцияны кантип иштетүү керектигин сүрөттөйт.

Icarus Verilog орнотулууда

a. Icarus Verilog (IVerilog) эң акыркы версиясын орнотуңуз https://bleyer.org/icarus/
b. PATHге IVerilog кошуп, GTKWave орнотууга уруксат бериңиз (1-сүрөттү караңыз)
Icarus Verilog орнотулууда

c. Go Configure Программасын ачып, Forge семинарын ачуу үчүн SLG47910(Rev BB) бөлүгүн тандаңыз (2-сүрөттү караңыз).
Icarus Verilog орнотулууда

d. Жогорудагы куралдар панелинин ортосунда жайгашкан FPGA Редакторун чыкылдатыңыз же колдонуучу терезенин ортосундагы FPGA Core түзүмүн эки жолу чыкылдата алат.
Icarus Verilog орнотулууда

e. Forge семинары деп аталган жаңы терезе ачылат. Жогору жактагы меню куралдар тилкесинде Жолдор → Орнотууларды басыңыз. Орнотуулар диалог кутусунда Колдонуучунун Орнотуулары өтмөгүнүн астындагы Куралдарга өтүңүз. Icarus Verilog жана GTKWave үчүн "система чөйрөсүн" колдонуу кутусун тандоодон чыгарыңыз. Берилген мейкиндикке тутумуңузда сакталган Iverilog жана GTKWave жолун кошуңуз (4-сүрөттү караңыз).
Icarus Verilog орнотулууда

Баардыгыңар тестирлөө системасын имитациялоого орнотулгансыңар жана жогорудагы кадамдар Go Configure программасында testbenchти симуляциялоодо GTKWave автоматтык түрдө ишке киришин камсыздайт.

Testbench

Ар кандай системаны ийгиликтүү ишке ашыруунун эң маанилүү кадамы бул дизайнды жана анын иштешин текшерүү. Аппараттык камсыздоону ишке ашыргандан кийин татаал системаны текшерүү акылдуу чечим эмес. Бул акча, убакыт жана ресурстар жагынан натыйжасыз. Демек, FPGA учурда, Verilog булак кодун сыноо үчүн testbench колдонулат.

Бизде 11 биттен турган киргизүү бар дейли, жана биз аппаратты бардык мүмкүн болгон киргизүү комбинациясынын маанилери үчүн сынагыбыз келет, б.а. (211). Бул комбинациялардын өтө көп саны болгондуктан, аны кол менен текшерүү мүмкүн эмес. Мындай учурларда, тесттик столдор абдан пайдалуу, анткени сиз дизайнды бардык мүмкүн болгон баалуулуктар үчүн автоматтык түрдө сынай аласыз, демек, тест дизайнынын ишенимдүүлүгүн ырастай аласыз. Verilog Testbenches эч кандай физикалык аппараттык түзүлүшкө муктаж болбостон конструкцияларды симуляциялоо жана талдоо үчүн колдонулат.

DUT катары кыскартылган сыналып жаткан дизайн, биз сынагыбыз келген функциянын синтезделүүчү модулу. Башкача айтканда, бул биз сынагыбыз келген схема дизайны. Биз Verilogдогу үч моделдөө стилинин бирин колдонуп DUT-бузду сүрөттөй алабыз - Gate-level, Dataflow же Behavioral.

Testbench синтезделбейт, ошондуктан ал симуляциялык максаттар үчүн гана колдонулат. Бул колдонуучуга Verilog конструкцияларынын толук спектрин колдонууга мүмкүндүк берет, мисалы, "үчүн", "$дисплей" жана "$monitor" сыяктуу ачкыч сөздөр жана башкалар. Жөнөкөй тестирлөө аппараты Сыноодогу Бирдикти (UUT) же Сыноодогу Түзмөктү (DUT) жаратат жана киргизүүлөрдү айдайт.

Testbench түшүнүү

Testbench түшүнүү

Testbenchте убакыт шкаласынын аныктамасы

Симуляциялоодо программалык камсыздоо убакыттын кантип аныкталганын билиши керек. Кечиктирүү бирдиги убакыт бирдигин жана аны ээрчиген модулдардын тактыгын белгилеген `timescale директивасы аркылуу аныкталат. `Убакыт шкаласы №1 убакыт боюнча эмнени билдирерин аныктоого жардам берет. # убакыт шкаласында көрсөтүлгөн убакыт бирдигине ылайык системага киргизиле турган кечиктирүүнү аныктоо үчүн колдонулат. Демек, №1 убакыт_бирдиги ns менен болсо, 1 нс кечиктирүүнү билдирет.

Синтаксис:
`убакыт шкаласы / /

time_unit - №1 кечиктирүү көрсөткөн убакыттын көлөмү. time_precision базасы убакыт бирдиктерине салыштырмалуу тактыктын канча ондук чекиттерин колдонуу керектигин көрсөтөт. (23-сүрөттө 5-сапты караңыз)

Биз бир эле долбоордо ар кандай убакыт бирдиктерин колдонуу үчүн убакыт шкаласынын конструкцияларын колдоно алабыз. Колдонуучу кечиктирүү спецификацияларын синтездөө мүмкүн эмес экенин жана аппараттык логикага айландыруу мүмкүн эмес экенин эстен чыгарбашы керек. Кечиктирүү функциялары толугу менен симуляциялык максаттар үчүн. $убакыт жана $реалдуу убакыт система функциялары учурдагы убакытты кайтарат жана демейки отчеттун форматын башка система тапшырмасы менен өзгөртүүгө болот $timeformat .

Exampле: 

`убакыт шкаласы 10us/100ns
`убакыт шкаласы 1ns/1ps
#10 баштапкы абалга келтирүү = 1; // сигналды 10 нс кечиктирет
#0.49 $display( “T = %0t at Time #0.49”, $realtime) ;

Көрсөтүлгөн кечигүү №0.49, бул жарым бирдик убакыттан азыраак. Бирок, убакыттын тактыгы 1ps деп көрсөтүлгөн, ошондуктан симулятор 1нстен кичирейе албайт, бул аны берилген кечигүү билдирүүсүн тегеректөө жана 0ns кирешесин берет. Демек, бул билдирүү эч кандай кечиктирүүнү камсыз кыла албайт.

Симуляция журналы: 

T = 1 убакыт боюнча №0.49

Модул декларациясы

Ар кандай тестирлөөдө модулдун декларациясы негизги Verilog кодунан айырмаланып турат. Testbenchте модуль аны менен бирге эч кандай терминалдык портсуз жарыяланды. (25-сүрөттө 5-сапты караңыз)

Синтаксис: 

модулу ;

Модуль декларациясы негизги долбоордо мурда аныкталган кириш жана чыгуу сигналдарын аныктоо менен коштолот. file.
Моделдештирүү учурунда сигналдарды айдоо жана көзөмөлдөө үчүн эки сигнал түрүн колдонобуз. reg маалымат түрү ага жаңы маани дайындалмайынча маанини кармап турат. Бул маалымат түрүнө ар дайым же баштапкы блокто гана маани берилиши мүмкүн.
Зым маалымат түрү физикалык байланышка окшош. Ал порт, дайындоо билдирүүсү же reg тарабынан башкарылган маанини кармайт. Бул маалымат түрүн баштапкы же дайыма блокто колдонууга болбойт. Каалаган параметр жана бүтүн санды жарыялоо да ушул бөлүмдө жасалат.

Exampле:
Reg a,b; // HDL кодундагы киргизүү testbenchте reg катары аныкталат
Wire y; // HDLдеги чыгуу сигналы testbenchтеги зым катары аныкталат

DUT Instantiation

Testbenchтин максаты биздин DUT модулубуз иштеп жатканын текшерүү. Демек, модулду сыноо үчүн дизайн модулубузду ишке киргизишибиз керек.

Синтаксис: 

(. (сигнал1), . сигнал1>(сигнал2));

Exampле:

ALU d0 (.a(a), // ALUдагы "a" сигналы ALU_tb модулундагы "a" менен туташтырылышы керек
.b(b), // ALUдагы "b" сигналы ALU_tb модулундагы "b" менен туташтырылышы керек
.c(c)) ;// ALUдагы "c" сигналы ALU_tb модулундагы "c" менен туташтырылышы керек

Биз DUT модулун ALU тестирлөө модулуна киргиздик. Мисал аты (d0) колдонуучунун тандоосу. "." чекити бар сигналдар. Алардын алдында ALU модулунун ичиндеги сигналдардын аттары, ал эми тесттик стендде алар туташтырылган зым же reg кашаадагы () сигналдын жанында жайгашкан. Ар бир порттун байланышын өзүнчө сапта коддоо сунушталат, андыктан компиляция катасы жөнүндө билдирүү ката болгон саптын номерин туура көрсөтөт. Бул байланыштар аты менен жасалгандыктан, алардын пайда болуу тартиби эч кандай мааниге ээ эмес.

DUT инстанциациясы, ошондой эле testbench модулунун ар кандай сигнал аттары бар модулдар үчүн жасалышы мүмкүн. Сигналдардын туура картасын түзүү - инстанциялоодо маанилүү нерсе.

Exampле: 

ALU d0 (.a(A), // ALUдагы "a" сигналы ALU_tb модулундагы "A" менен туташтырылышы керек
.clk(саат), // ALUдагы "clk" сигналы "саат" ALU_tb модулуна туташтырылышы керек
.out(OUT)); // ALUдагы “чыгыш” сигналы ALU_tb модулундагы “OUT” менен туташтырылышы керек

Ар дайым & Баштапкы блок

Verilogдо эки ырааттуу блок бар, баштапкы жана ар дайым. Дал ушул блокторго биз стимул колдонобуз.

Баштапкы блок

Баштапкы блок, ал бир гана жолу аткарылат жана блоктун акыркы сабы аткарылганда токтотулат. стимул баштапкы блокко жазылган. (54-сүрөттө 72-5-сапты караңыз)

Синтаксис:
..
баштапкы башталат
$dumpfile();
$dumpvars();
..(стимул киргизүү)
бүтүү

баштапкы блок өзүнүн аткарылышын симуляциянын башталышында t = 0 убактысында баштайт. Башталыш жана аяктоо ортосундагы биринчи саптан баштап, ар бир сап кечиктирилгенге чейин жогорудан ылдыйга чейин аткарылат. Кечигүүгө жеткенде, бул блоктун аткарылышы кечигүү убактысы (10 убакыт бирдиги) өткөнгө чейин күтөт жана андан кийин кайра аткарууну баштайт.
Колдонуучу бардык комбинацияларды кол менен киргизүүнүн ордуна стимулдарды циклдерди (for, while, if-else) жана ушул баштапкы блоктун ичинде аныктай алат.
Баштапкы блок

 

Exampле:
Баштапкы баштоо
A = 0; b = 0; // аткарууну баштоо
№10 a = 0; b = 1; // аткаруу t = 10 бирдик убакытта
№10 a = 1; b = 0; // аткаруу t = 20 бирдик убакытта
бүтүү

Таштанды Files

Дагы бир эске ала турган нерсе - доллардын декларациясыташтандыfiles жана $дампварлар баштапкы блоктун ичинде (55-сүрөттө 56-5-сапты караңыз). $таштандыfile а-да торлордун жана регистрлердин маанилериндеги өзгөрүүлөрдү таштоо үчүн колдонулат file бул анын аргументи деп аталат.

Мисалы үчүнampле:

$таштандыfile(“alu_tb.vcd”);

адагы өзгөрүүлөрдү жок кылат file alu_tb.vcd деп аталган. Өзгөрүүлөр а-да жазылат file VCD деп аталат file бул маанини өзгөртүү таштандысын билдирет. VCD (маани өзгөртүү таштандысы) нарктын өзгөрүшү жөнүндө бардык маалыматты сактайт. Бизде бирден ашык $дамп болушу мүмкүн эмесfile Verilog симуляциясындагы билдирүүлөр.

$дампварлар кайсы өзгөрмөлөр ташталышы керек экенин көрсөтүү үчүн колдонулат ( file $dump тарабынан айтылганfile). Аны колдонуунун эң жөнөкөй жолу эч кандай талашсыз. $dumpvars жалпы синтаксиси болуп саналат

$дампварлар ( <, >);

Биз, негизинен, кайсы модулдар жана модулдардагы кайсы өзгөрмөлөр ташталаарын аныктай алабыз. Муну колдонуунун эң жөнөкөй жолу - деңгээлди 0 жана модулдун аталышын жогорку модул катары коюу (адатта, жогорку тесттик модулу).

$дампварлар(0, alu_tb);

Деңгээл 0гө коюлганда жана модулдун аты гана көрсөтүлгөндө, ал ошол модулдун БАРДЫК өзгөрмөлөрүн жана ушул жогорку модул тарабынан түзүлгөн БАРДЫК төмөнкү деңгээлдеги модулдардагы бардык өзгөрмөлөрдү таштайт. Эгерде кандайдыр бир модуль бул жогорку модулда түзүлбөсө, анда анын өзгөрүлмөлөрү камтылбайт. Дагы бир нерсе, доллардын декларациясыташтандыfile $dumpvars же дампты көрсөткөн башка система тапшырмаларынан мурун келиши керек. Бул таштандылар files башка стимул киргизүүлөрдүн алдында жарыяланышы керек, бул таштандыда эч кандай маани сакталбайт files.

Ар дайым бөгөттөө

Баштапкы билдирүүлөрдөн айырмаланып, ар дайым блок кайра-кайра аткарылат, бирок аткаруу t = 0 убагында башталат. Мисалы үчүнample, саат сигналы Flip-flops сыяктуу ырааттуу схемалардын иштеши үчүн абдан маанилүү. Ал үзгүлтүксүз камсыз кылуу керек. Демек, биз сааттын иштөө кодун тесттик столдо төмөнкүчө жаза алабыз (52-сүрөттө 5-сапты караңыз):

ар дайым
#10 clk = ~clk;
endmodule

Жогорудагы оператор t = 10 баштап 0 нс кийин аткарылат. clk мааниси мурунку мааниден 10 нс кийин тескери болот. Ошентип, импульстун туурасы 20 нс болгон саат сигналын түзүү. Демек, бул билдирүү 50 МГц жыштыктагы сигналды жаратат. Белгилей кетчү нерсе, сигналды инициализациялоо дайыма блокко чейин жасалат. Эгерде биз инициализациялоо бөлүгүн аткарбасак, clk сигналы t – 0ден х болот, ал эми 10 нс кийин башка хга тескери болот.

Өзүн өзү текшерүүчү тест

Өзүн-өзү текшерүүчү сынама учурдагы абалды текшерүү үчүн билдирүүнү камтыйт.

  • $көрсөтүү Системалык тапшырма негизинен симуляциянын агымына көз салуу үчүн мүчүлүштүктөрдү оңдоо билдирүүлөрүн көрсөтүү үчүн колдонулат

баштапкы башталат
A = 0; b = 0; c = 0; #10; // киргизүүнү колдонуу, күтүү
if( y ! == 1) башталат
$display( "000 ишке ашкан жок"); //текшерүү
c = 1; #10; //киргизүүнү колдонуу, күтүү
бүтүү
else if ( y ! == 0) башталса
$display("001 ишке ашкан жок") // текшерүү
b = 1; c = 0; #10; бүтүү
башка if(y!==0)
$display (“010 ишке ашкан жок”); //текшерүү
бүтүү
endmodule

$көрсөтүү өзгөрмөлөрдүн, саптардын же туюнтмалардын маанилерин көрсөтүү үчүн колдонулат. Жогорудагы эксample, качан if-else циклинин кайсынысы канааттандырылса, симулятор журналы тиешелүү $ну көрсөтөт.көрсөтүү билдирүү. Саптардын аягында демейки боюнча жаңы сап бар.

$көрсөтүү («убакыт = %t , A = %b, B = %b, C = % b», $убакыт, A,B,C);

Тырмакчада айтылган каармандар кандай болсо, ошондой басылып чыгат. % менен бирге тамга саптын форматын билдирет. Биз бинардык маалыматтарды көрсөтүү үчүн %b колдонобуз. Тиешелүүлүгүнө жараша ондук, он алтылык жана сегиздик санды көрсөтүү үчүн %d, %h, %o колдоно алабыз. %g чыныгы сандарды туюндуруу үчүн колдонулат. Булар айтылган тартипте цитатадан тышкары маанилер менен алмаштырылат. Мисалы үчүнample, жогорудагы билдирүү симуляция журналында төмөнкүдөй көрсөтүлөт: убакыт = 20, A = 0, B =1, C = 0

Таблица 1. Verilog таблица форматтары

Аргумент Description
%h, %H Он алтылык форматта көрсөтүү
%d, %D Ондук формада көрсөтүү
%b, %B бинардык форматта көрсөтүү
%м, %М Иерархиялык аталышты көрсөтүү
%s, %S Сап катары көрсөтүү
%t, %T Убакыт форматында көрсөтүү
%f, %F Ондук форматта "чыныгы" көрсөтүү
%e, %E Экспоненциалдык форматта "чыныгы" көрсөтүү

$көрсөтүү негизинен C тилиндеги printf сыяктуу ошол убактагыдай эле маалыматтарды же өзгөрмөлөрдү басып чыгарат. Биз $ белгилешибиз керек.көрсөтүү каалаган текст үчүн view симуляция журналында.

  • $убакыт

$убакыт симуляциянын учурдагы убактысын кайтара турган система тапшырмасы.

  • $монитор

$монитор ал жазылган маалыматтарды же өзгөрмөлөрдү көзөмөлдөйт жана өзгөрмө өзгөргөндө, ал басып чыгарат
өзгөргөн маани. Анын аргументтери ар бир жолу келгенден кийин $display чакырганда ушундай эффектке жетишет
жаңыртылган. $монитор жана мониторинг жүргүзгөн негизги жиптин фонунда иштөө үчүн түзүлгөн тапшырмага окшош
анын аргумент өзгөрмөлөрүнүн маанисинин өзгөрүүлөрүн көрсөтөт. $монитор $ менен бирдей синтаксиске ээкөрсөтүү.

$монитор(“убакыт = %t, A = %b, B = %b, C = % b”, $убакыт, A,B,C);
Өзүн өзү текшерүүчү тест

7-сүрөттөн сиз тесттин өзүн өзү баалоо үчүн коддордун жаңы саптары кошулганын байкай аласыз. долларын жайгаштыруукөрсөтүү жана $монитор сыноо столунун ар кандай бөлүмдөрүндөгү билдирүүлөр ар кандай натыйжаларды берет (8-сүрөттү караңыз). $убакыт бул билдирүүдө айтылган маани басып чыгарылган убакытты басып чыгарат. Ошол эле учурда бирдик 170000 деп айтсак, биз $ га байланыштуу А жана В наркында кандайча айырма бар экенин көрө алабыз.көрсөтүү жана $монитор билдирүүлөр.
Өзүн өзү текшерүүчү тест

GTKWave программасы

GTKWave бул толук өзгөчөлөнгөн GTK+ толкуну viewer Unix, Win32 жана Mac OSX үчүн LXT, LXT2, VZT, FST жана GHW окуйт fileс, ошондой эле стандарттык VCD/EVCD fileс жана аларга мүмкүндүк берет viewing. Анын расмий webсайт жайгашкан http://gtkwave.sourceforge.net/ . GTKWave сунушталат viewIcarus Verilog симуляция куралы тарабынан.

Колдонуучу дизайндын функционалдуулугун текшерүү үчүн тесттен ийгиликтүү түзүлгөндөн кийин, колдонуучу эми GTKWave программасын колдоно алат. view толкун формалары.

GTKWave программасын ишке киргизүү үчүн view толкун формаларында колдонуучу куралдар панелинин жогору жагындагы же негизги менюдан Simulate Testbench баскычын чыкылдатуусу керек Tools→ Simulation→ Simulation Testbench. Эгерде синтаксистик каталар жок болсо, анда дизайнга жараша, GTKWave автоматтык түрдө ишке кириши керек же терезенин Logger бөлүмүндө testbenchтеги стимулдардын натыйжалары көрсөтүлөт.

GTKWave программасы .vcd форматындагы таштандыны ачатfile автоматтык түрдө. GTKWave терезеси ачылганда толкун формасын көрсөтпөйт. Бул колдонуучуга каалаган сигналдарды тандоо мүмкүнчүлүгүн берет view жана байкоо. Сигналды тандоо үчүн колдонуучу көрсөтүүсү керек, колдонуучуга SST өтмөгүнүн астындагы терезенин сол жагындагы модулунун/инстанциясынын атын басуу керек. Ар бир инстанциянын + белгисин басуу менен, төмөнкү бөлүмдө ошол инстанцияга тиешелүү сигналдарды көрө аласыз. Андан кийин сиз каалаган сигналды сүйрөп, таштай аласыз же Сигнал терезесинде көрсөтүү үчүн эки жолу чыкылдатсаңыз болот. Сиз ошондой эле баарын тандап (CTRL + A) жана аларды сигналдар терезесине киргизе аласыз (9-сүрөттү караңыз).
GTKWave программасы

Сигналдар азыр сигнал терезесине кошулду, бирок ал азырынча симуляциялана элек. Сигнал терезесине керектүү сигналдарды кошкондон кийин, чыкылдатыңызСимвол сигналдарды терезенин учурдагы туурасына туура келтирип, андан кийин кайра жүктөөдөн сигналдарды кайра жүктөңүзСимвол белги куралдар панелинде бар. Эми сиз сигналдарды тиешелүү маанилери менен көрө аласыз.

Сигнал баалуулуктары

Демейки боюнча, сигналдардын маанилери он алтылык форматта жана бардык толкундар жашыл түстө (эгер туура иштеп жатса).

Колдонуучу бул сигналдын касиеттерин сигналды оң баскыч менен чыкылдатып, Маалымат форматын же Түс форматын тандап өзгөртө алат. Колдонуучу ошондой эле сигналдар тобунун ортосунда бөлүмдөрдү түзүү үчүн бош сигнал киргизе алат. Каалаган оптикалык натыйжага ээ болгондо, конфигурацияңызды сактап кала аласыз File → Сактоо жаз File.

GTKWave куралдар панели

Куралдар панели (10-сүрөттү караңыз) колдонуучуга сигнал үчүн негизги функцияларды аткарууга мүмкүндүк берет. Келгиле, куралдар панелиндеги ар бир вариантты солдон оңго карай талкуулайлы.
GTKWave куралдар панели

  1. Меню параметрлери: Бул параметр боюнча биз мүмкүн view программалык камсыздоо менен ойноо үчүн колдонулушу мүмкүн программалык камсыздоонун бардык ар кандай өзгөчөлүктөрү. Бул меню опциясынын чоо-жайы ушул колдонуучу колдонмонун 8-бөлүмүндө камтылган.
  2. Издерди кесип: Сигнал терезесинен тандоо сигналын өчүрүү/кесүү үчүн колдонулат
  3. Издерди көчүрүү: Ал сигнал терезесинен тандалган сигналды көчүрүү үчүн колдонулат
  4. Издерди чаптоо: Көчүрүлгөн/кесилген изи сигнал терезесинин башка жерине чапталышы мүмкүн
  5. Zoom Fit: Бул колдонуучу көрсөтүүнү тандаган терезенин өлчөмүнө ылайык сигналдарды тууралоо үчүн колдонулат
  6. Чоңойтуу: Ал сигнал терезесин чоңойтуу үчүн колдонулат
  7. Кичирейтүү: Ал сигнал терезесин кичирейтүү үчүн колдонулат
  8. Масштабды жокко чыгаруу: ал сигнал терезесинде кичирейтүү/кичирейтүүнү жокко чыгаруу үчүн колдонулат
  9. Баштоо үчүн чоңойтуу: бул сигналдардын башталыш убактысын көрсөтүү менен сигнал терезесин чоңойтот.
  10. Аягына чейин чоңойтуу: бул сигналдардын аяктоо убактысын көрсөтүүчү сигнал терезесин чоңойтот
  11. Мурунку четин табыңыз: Бул маркерди мурунку четин көрсөтүү менен сол тарапка жылдырат
  12. Кийинки четин табыңыз: Бул белгини кийинки четти көрсөтүү менен оңго жылдырат
  13. Төмөнкү/жогорку байланышты жылдырыңыз: муну колдонуу менен биз колдонуучу көрсөтүүнү каалаган убакыт алкагын орното алабыз. Мисалы үчүнample, биз убакыт алкагын 0 сектен 500 нс чейин орното алабыз, ал ошол узактыктагы сигналдарды гана көрсөтөт.
  14. Кайра жүктөө: Көрсөтүлгөн сигнал өзгөргөн сайын кайра жүктөө басылып турат. Ал жаңы параметрлерге ылайык сигналды кайра жүктөйт жана көрсөтөт. Мисалы үчүнample, сигналдын убакыт алкагын өзгөрткөндөн кийин, сигналды жаңы белгиленген убакыт алкагында көрсөтүү үчүн сигналды кайра жүктөө керек.

Меню параметрлери

GTKWave программасынын жогорку сол бурчунан колдонуучу үч вертикалдуу сызыкты чыкылдатуу менен меню параметрлерине кире алат (11-сүрөттү караңыз). Колдонуучу Меню параметрлери астында төмөнкү параметрлерди таба аласыз:
Меню параметрлери

File

The File субменю кирүү менен байланышкан ар кандай элементтерди камтыйт fileс, импорттоо-экспорттоо VCD fileс, басып чыгаруу жана окуу/жазуу files жана чыгуу.

Түзөтүү

Түзөтүү подменюсу ар кандай пайдалуу функцияларды аткаруу үчүн колдонулат, мисалы, толкундун ички терезесиндеги маанилердин берилиштерин көрсөтүүнү өзгөртүү. Түзөтүү подменюсунун астындагы опцияларды колдонуу менен колдонуучу сигналдардын маалымат форматын өзгөртө алат, аларды кайра иретке келтирип, жылдыра алат, кыркып, бөлүп, сигналдарды топтой алат, сигналдарга комментарий бере алат, сигналдардын түсүн өзгөртө алат ж.б.

издөө

Издөө субменюсу таза аттар жана баалуулуктар боюнча издөөлөрдү жүргүзүү үчүн колдонулат. Бул VCDдеги сигналдардын жана инстанциялардын ар кандай иерархиялык деңгээлдеринде функцияларды аткарууга жардам берет file.

Убакыт

Убакыт кошумча менюсунда Навигациялар жана Статус панелинин баскычтары аткарган функциялардын жогорку топтому камтылган.
Ал жөнөкөй, убакытка байланыштуу, масштабдоо, белгилүү бир убакыт чекитине жылдыруу, сигналды белгилүү бир багытта жылдыруу ж.б.

Маркер

Маркердин ички менюсу маркерде ар кандай манипуляцияларды аткаруу үчүн, ошондой эле экрандан сыдырууну башкаруу үчүн колдонулат.
Бул сигнал терезесине көптөгөн маркерлерди кошууга мүмкүнчүлүк берет. Эң көп дегенде 26 ысым маркерине уруксат берилет жана бардыгы үчүн убакыт ар башка болушу керек.

a. Сигнал терезесине маркерлерди кошуу үчүн
Маркер коюла турган керектүү жерди сол баскыч менен чыкылдатыңыз жана ALT + N баскычтарын басыңыз. Бул керектүү чекитке аталган маркерди (A,B,C, ж.б.) жайгаштырат. Колдонуучу муну 26 башка убакытта жасай алат.
Бардык жерлердин маркерлеринде убакыттын маанисин салыштыруу үчүн, Меню → Маркерлер → Өзгөртүү белгисин көрсөтүү.
Бул ар бир Белгиде убакыт мааниси менен терезени ачат. Колдонуучу коюлган ар бир маркердеги убакыттын маанисин кол менен белгилеп, 2 маркердин ортосундагы убакыт айырмасын эсептөө үчүн аларды кемите алат.
b. Сигнал терезесинде Маркерди алып салуу үчүн

Колдонуучу Меню → Белгилер → Аты коюлган маркерди чогулта алат. Бул сигнал терезесине жайгаштырылган акыркы аталышты алып салат. Колдонуучу Меню → Маркерлер → Бардык аталган маркерди чогултуу (12-сүрөт) бөлүмүнө өтүп, бардык аталган маркерлерди өчүрө алат.
Меню параметрлери

13-сүрөттө сигнал түстөрүнүн кандайча өзгөргөнүн көрө алабыз. Сиз сигнал терезесине кошулган бош сигналды, ошондой эле комментарий менен байкай аласыз - бош сигнал.
Ошондой эле 6 Атылуу Маркерлердин (A – E) бар экендигине жана ps.
Меню параметрлери

View

The View субменю статус элементтерин графикалык көрсөтүү менен байланышкан ар кандай атрибуттарды, ошондой эле сигналдын кошумча терезесиндеги маанилерди башкаруу үчүн колдонулат. Бул менюдан сиз сигнал терезесин кара жана ак же түстүү түргө алмаштыра аласыз. The View кошумча меню сизге убакыттын өлчөмүн секундадан (сек.) фикосекундга (fs) чейин өзгөртүүгө мүмкүнчүлүк берет. Колдонуучу бул параметрди таба алат View → Убакыт өлчөмүнө масштабдоо → fs.

Жардам

Жардам кошумча менюсунда онлайн жардамды иштетүү, ошондой эле программанын версиясы тууралуу маалыматты көрсөтүү параметрлери бар.

Корутунду

Бул документ колдонуучуга алардын дизайнын ийгиликтүү имитациялоого жана функционалдуулугун текшерүүгө жардам берүү үчүн, керектүү тесттик столдун долбоорун оңдоо жана Icarus Verilog менен GTKWave менен бирге толкун формаларын көрсөтүү жана натыйжаларга байкоо жүргүзүү үчүн түзүлгөн.

Кайра карап чыгуу тарыхы

Ревизия Дата Description
1.00 20-май, 2024-жыл Алгачкы чыгаруу.

R19US0011EU0100 Rev.1.0
20-май, 2024-жыл
© 2024 Renesas Electronics
Логотип

Документтер / Ресурстар

RENESAS ForgeFPGA программалык симуляциясы [pdf] Колдонуучунун колдонмосу
REN_r19us0011eu0100, ForgeFPGA Software Simulation, ForgeFPGA Software, ForgeFPGA, ForgeFPGA Simulation, Software Simulation, Simulation, Software

Шилтемелер

Комментарий калтырыңыз

Сиздин электрондук почта дарегиңиз жарыяланбайт. Талап кылынган талаалар белгиленген *