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-суретті қараңыз)
c. Go Configure бағдарламалық құралын ашыңыз және бөлікті таңдаңыз: SLG47910(Rev BB) Forge шеберханасын ашу үшін (2-суретті қараңыз).
d. Жоғарғы жағындағы құралдар тақтасының ортасында орналасқан FPGA өңдегішін басыңыз немесе пайдаланушы терезенің ортасында орналасқан FPGA Core құрылымын екі рет баса алады.
e. Соғу шеберханасы деп аталатын жаңа терезе ашылады. Жоғарғы жағындағы мәзір құралдар тақтасында Параметрлер → Параметрлер түймесін басыңыз. Параметрлер тілқатысу терезесінде Пайдаланушы параметрлері қойындысының астындағы Құралдар тармағына өтіңіз. Icarus Verilog және GTKWave үшін "жүйе ортасын пайдалану" жолағын алып тастаңыз. Жүйеде сақталған Iverilog және GTKWave жолын берілген кеңістікке қосыңыз (4-суретті қараңыз).
Барлығыңыз сынақ үстелін имитациялауға дайынсыз және жоғарыда көрсетілген қадамдар Go Configure бағдарламалық құралында сынақ үстелін модельдеу кезінде GTKWave автоматты түрде іске қосылуын қамтамасыз етеді.
Сынақ үстелі
Кез келген жүйені сәтті енгізудің ең маңызды қадамы дизайн мен оның функционалдығын тексеру болып табылады. Аппараттық құралды енгізгеннен кейін күрделі жүйені тексеру дұрыс таңдау емес. Бұл ақша, уақыт және ресурстар тұрғысынан тиімсіз. Демек, FPGA жағдайында Verilog бастапқы кодын сынау үшін сынақ үстелі қолданылады.
Бізде 11 биттік кіріс бар делік және біз құрылғыны барлық ықтимал кіріс комбинациясы мәндері үшін сынағымыз келеді, яғни (211). Бұл комбинациялардың өте үлкен саны болғандықтан, оны қолмен тексеру мүмкін емес. Мұндай жағдайларда сынақ үстелдері өте пайдалы, өйткені сіз дизайнды барлық ықтимал мәндер үшін автоматты түрде тексере аласыз және осылайша сынақ дизайнының сенімділігін растай аласыз. Verilog Testbenches ешқандай физикалық аппараттық құрылғыны қажет етпей-ақ дизайнды модельдеу және талдау үшін қолданылады.
DUT ретінде қысқартылған сынақтан өтіп жатқан дизайн біз сынағымыз келетін функционалдылықтың синтезделетін модулі болып табылады. Басқаша айтқанда, бұл біз сынағымыз келетін схема дизайны. Біз Verilog жүйесіндегі үш модельдеу стилінің бірін пайдаланып DUT-ті сипаттай аламыз – Gate-level, Dataflow немесе Behavioral.
Testbench синтезделмейді, сондықтан ол тек модельдеу мақсатында пайдаланылады. Бұл пайдаланушыға Verilog конструкцияларының толық ауқымын пайдалануға мүмкіндік береді, мысалы, «үшін», «$дисплей» және «$монитор» сияқты кілт сөздерді және т.б. сынақ үстелдерін жазу үшін. Қарапайым сынақ үстелі сынақтан өтіп жатқан құрылғыны (UUT) немесе құрылғыны сынақтан өткізуді (DUT) жасайды және кірістерді жетектейді.
Testbench туралы түсінік
Testbench бағдарламасындағы уақыт шкаласының анықтамасы
Модельдеу кезінде бағдарламалық құрал уақыттың қалай анықталғанын білуі керек. Кідірту бірлігі уақыт бірлігін және оған сәйкес келетін модульдер үшін дәлдікті көрсететін `уақыт шкаласы директивасы арқылы анықталады. `Уақыт шкаласы №1 уақыт бойынша нені білдіретінін анықтауға көмектеседі. # уақыт шкаласында көрсетілген уақыт бірлігіне сәйкес жүйеге енгізілетін кешіктіруді анықтау үшін пайдаланылады. Сонымен, #1 уақыт_бірлігі ns-де болса, 1 нс кідірісті білдіреді.
Синтаксис:
`уақыт шкаласы/ /
time_unit - №1 кідіріс көрсететін уақыт мөлшері. Уақыт_дәлдігі базасы уақыт бірліктеріне қатысты дәлдіктің қанша ондық нүктелерін пайдалану керектігін көрсетеді. (23-суреттегі 5-жолды қараңыз)
Бір дизайнда әртүрлі уақыт бірліктерін пайдалану үшін уақыт шкаласы конструкцияларын пайдалана аламыз. Пайдаланушы кідіріс спецификацияларының синтезделмейтінін және оны аппараттық логикаға түрлендіруге болмайтынын есте сақтауы керек. Кешіктіру функциялары толығымен модельдеу мақсаттарына арналған. $уақыт және $нақты уақытта жүйе функциялары ағымдағы уақытты қайтарады және әдепкі есеп пішімін басқа жүйе тапсырмасымен өзгертуге болады $timeformat .
Exampле:
`уақыт шкаласы 10us/100ns
`уақыт шкаласы 1ns/1ps
№10 қалпына келтіру = 1; // сигналды 10 нс кешіктіреді
#0.49 $display( “T = %0t уақыт #0.49”, $нақты уақытта) ;
Көрсетілген кідіріс №0.49, ол жарты бірлік уақытынан аз. Дегенмен, уақыт дәлдігі 1ps деп көрсетілген, сондықтан тренажер 1нс-тен кішірейе алмайды, бұл оны берілген кідіріс мәлімдемесін дөңгелектейді және 0ns береді. Осылайша, бұл мәлімдеме ешқандай кешіктіруді қамтамасыз ете алмайды.
Модельдеу журналы:
№1 уақытында T = 0.49
Модуль декларациясы
Кез келген сынақ тақтасындағы модуль декларациясы негізгі Verilog кодына ұқсамайды. Testbench-те модуль онымен бірге ешқандай терминалдық порттарсыз жарияланады. (25-суреттегі 5-жолды қараңыз)
Синтаксис:
модуль ;
Модуль декларациясы негізгі дизайнда бұрын анықталған кіріс және шығыс сигналдарын анықтау арқылы орындалады. file.
Модельдеу кезінде сигналдарды басқару және бақылау үшін екі сигнал түрін қолданамыз. Reg деректер түрі оған жаңа мән тағайындалғанша мәнді сақтайды. Бұл деректер түріне мән әрқашанда немесе бастапқы блокта ғана тағайындалуы мүмкін.
Сымның деректер түрі физикалық қосылымға ұқсайды. Ол порт, тағайындау мәлімдемесі немесе reg арқылы басқарылатын мәнді сақтайды. Бұл деректер түрін бастапқы немесе әрқашан блокта пайдалану мүмкін емес. Кез келген параметр мен бүтін санды жариялау да осы бөлімде орындалады.
Exampле:
Reg a,b; // HDL кодындағы кіріс testbench ішіндегі reg ретінде анықталады
сым y; // HDL ішіндегі шығыс сигналы сынақ үстеліндегі сым ретінде анықталады
DUT инстанциясы
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 жақшадағы () сигналдың жанында орналасқан. Кез келген компиляция қатесі туралы хабар қате орын алған жол нөмірін дұрыс көрсетуі үшін әрбір порт қосылымын бөлек жолда кодтау ұсынылады. Бұл жалғаулар атау арқылы жасалғандықтан, олардың пайда болу реті маңызды емес.
Testbench модулінің сигнал атаулары әртүрлі болатын модульдер үшін де DUT инстанциясын жасауға болады. Сигналдарды дұрыс картаға түсіру инстанциялау кезінде маңызды болып табылады.
Exampле:
ALU d0 (.a(A), // ALU ішіндегі «a» сигналы ALU_tb модуліндегі «A» сигналына қосылуы керек
.clk(сағат), // ALU ішіндегі «clk» сигналы «сағаттық» ALU_tb модуліне қосылуы керек
.out(OUT)) ; // ALU ішіндегі «шығу» сигналы ALU_tb модуліндегі «OUT» сигналына қосылуы керек
Әрқашан & Testbench ішіндегі бастапқы блок
Verilog-те бастапқы және әрқашан екі тізбекті блок бар. Дәл осы блоктарда біз ынталандыруды қолданамыз.
Бастапқы блок
Тек бір рет орындалатын және блоктың соңғы жолы орындалғанда аяқталатын бастапқы блок. Тітіркендіргіш бастапқы блокқа жазылады. (54-суреттегі 72-5 жолды қараңыз)
Синтаксис:
..
бастапқы басталуы
$дампfile();
$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 a-дағы желілер мен регистрлердің мәндеріндегі өзгерістерді тастау үшін қолданылады 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, тактілік сигнал флип-флоптар сияқты дәйекті тізбектердің жұмысы үшін маңызды. Оны үздіксіз қамтамасыз ету қажет. Демек, тесттік үстелде сағаттың жұмыс істеу кодын келесідей жаза аламыз (52-суреттегі 5 жолды қараңыз):
әрқашан
#10 clk = ~clk;
соңғы модуль
Жоғарыдағы мәлімдеме t = 10-ден бастап 0 нс-тен кейін орындалады. clk мәні алдыңғы мәннен 10 нс кейін инверсияланады. Осылайша, импульстік ені 20 нс тактілік сигналды генерациялау. Сондықтан бұл мәлімдеме жиілігі 50 МГц сигнал жасайды. Сигналдың инициализациясы әрқашан блокқа дейін орындалатынын ескеру маңызды. Егер біз инициализация бөлігін орындамасақ, clk сигналы t – 0-ден x болады, ал 10 нс-тен кейін ол басқа х-қа инверттелген болады.
Өзін-өзі тексеру стенді
Өзін-өзі тексеретін сынақ үстелі ағымдағы күйді тексеруге арналған мәлімдемені қамтиды.
- $көрсету жүйелік тапсырма негізінен модельдеу ағынын бақылау үшін жөндеу хабарларын көрсету үшін пайдаланылады
бастапқы басталуы
A = 0; b = 0; c = 0; №10; // енгізуді қолдану, күту
if( y ! == 1) басталады
$display («000 сәтсіз аяқталды»); //тексеру
c = 1; №10 ; //енгізуді қолдану, күту
Соңы
әйтпесе ( y ! == 0) басталса
$display («001 орындалмады») // тексеру
b = 1; c = 0; №10 ; Соңы
басқа болса(y!==0)
$display («010 орындалмады»); //тексеру
Соңы
соңғы модуль
$көрсету айнымалылардың, жолдардың немесе өрнектердің мәндерін көрсету үшін пайдаланылады. Жоғарыдағы бұрынғыдан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 кесте пішімдері
Аргумент | Сипаттама |
%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+ толқыны viewLXT, LXT32, VZT, FST және GHW оқитын Unix, Win2 және Mac OSX үшін er files, сондай-ақ стандартты VCD/EVCD files және оларға мүмкіндік береді viewing. Оның ресми webсайтында орналасқан http://gtkwave.sourceforge.net/ . GTKWave ұсынылады viewIcarus Verilog модельдеу құралы арқылы.
Пайдаланушы дизайнның функционалдығын тексеру үшін сынақ үстелін сәтті жасағаннан кейін, пайдаланушы енді GTKWave бағдарламалық құралын пайдалана алады. view толқын пішіндері.
GTKWave бағдарламалық құралын іске қосу үшін view толқын пішіндері үшін пайдаланушы құралдар тақтасының жоғарғы жағындағы немесе Құралдар → Симуляция → Testbench симуляциясы негізгі мәзірінен Simulate Testbench түймесін басу керек. Егер синтаксистік қателер болмаса, дизайнға байланысты GTKWave автоматты түрде іске қосылуы керек немесе сынақ үстеліндегі ынталандырулардың нәтижелері терезенің Logger бөлімінде көрсетіледі.
GTKWave бағдарламалық құралы .vcd пішімінің қоқысын ашадыfile автоматты түрде. GTKWave терезесі ашылған кезде толқын пішінін көрсетпейді. Бұл пайдаланушыға қандай сигналдарды қалайтынын таңдау мүмкіндігін береді view және бақылаңыз. Сигналды таңдау үшін пайдаланушы көрсетуі керек, пайдаланушы терезенің сол жағындағы SST қойындысының астындағы модуль/данасы атауын басу керек. Әрбір дананың + түймесін басу арқылы төменгі бөлімде осы данаға қатысты сигналдарды көре аласыз. Содан кейін қажетті сигналды сүйреп апаруға немесе Сигналдар терезесінде көрсету үшін оларды екі рет шертуге болады. Сіз сондай-ақ барлығын таңдай аласыз (CTRL + A) және оларды сигналдар терезесіне кірістіре аласыз (9-суретті қараңыз).
Сигналдар енді сигнал терезесіне қосылды, бірақ ол әлі имитацияланбаған. Сигнал терезесіне қажетті сигналдарды қосқаннан кейін түймесін басыңыз сигналдарды терезенің ағымдағы еніне сәйкестендіру үшін, содан кейін қайта жүктеуден сигналдарды қайта жүктеңіз
таңба құралдар тақтасында болады. Енді сіз сигналдарды сәйкес мәндерімен көре аласыз.
Сигнал мәндері
Әдепкі бойынша, сигналдардың мәндері он алтылық пішімде және барлық толқындар жасыл түске боялады (дұрыс іске қосылса).
Пайдаланушы сигналды тінтуірдің оң жақ түймешігімен басып, Деректер пішімін немесе Түс пішімін таңдау арқылы осы сигналдың қасиеттерін өзгерте алады. Сондай-ақ, пайдаланушы сигналдар тобы арасында бөлімдер жасау үшін бос сигнал енгізе алады. Қажетті оптикалық нәтижеге қол жеткізгенде, өту арқылы конфигурацияларды сақтауға болады File → Сақтау жазу File.
GTKWave құралдар тақтасы
Құралдар тақтасы (10-суретті қараңыз) пайдаланушыға сигнал үшін негізгі функцияларды орындауға мүмкіндік береді. Құралдар тақтасындағы әрбір опцияны солдан оңға қарай талқылайық.
- Мәзір опциялары: Бұл опция бойынша біз жасай аламыз view бағдарламалық құралмен ойнау үшін пайдалануға болатын бағдарламалық құралдың барлық түрлі мүмкіндіктері. Осы мәзір опциясының астындағы мәліметтер осы пайдаланушы нұсқаулығының 8-бөлімінде қарастырылған.
- Іздерді кесу: Ол сигнал терезесінен таңдау сигналын жою/қию үшін пайдаланылады
- Іздерді көшіру: Ол таңдалған сигналды сигнал терезесінен көшіру үшін қолданылады
- Іздерді қою: Көшірілген/қиылған ізді сигнал терезесінің басқа орнына қоюға болады
- Zoom Fit: Ол пайдаланушы көрсету үшін таңдаған терезе өлшеміне сәйкес сигналдарды сәйкестендіру үшін пайдаланылады
- Үлкейту: Ол сигнал терезесін масштабтау үшін пайдаланылады
- Кішірейту: Ол сигнал терезесін кішірейту үшін пайдаланылады
- Масштабты болдырмау: ол сигнал терезесіндегі үлкейту/кішірейтуді болдырмау үшін қолданылады
- Бастау үшін масштабтау: бұл сигналдардың басталу уақытын көрсететін сигнал терезесін үлкейтеді.
- Соңына дейін масштабтау: бұл сигналдардың аяқталу уақытын көрсететін сигнал терезесін үлкейтеді
- Алдыңғы жиекті табыңыз: Бұл маркерді алдыңғы жиекті көрсететін сол жаққа жылжытады
- Келесі жиекті табыңыз: Бұл келесі жиекті көрсететін маркерді оңға жылжытады
- Төменгі/жоғарғы байланыс: мұны пайдаланып, пайдаланушы көрсеткісі келетін уақыт шеңберін орнатуға болады. Мысалыample, біз уақыт шеңберін 0 сек пен 500 нс дейін орната аламыз, ол тек осы ұзақтықтағы сигналдарды көрсетеді.
- Қайта жүктеу: Қайта жүктеу көрсетілген сигнал өзгерген сайын басылады. Ол жаңа параметрлерге сәйкес сигналды қайта жүктеп, көрсетеді. Мысалыample, сигналдың уақыт шеңберін өзгерткеннен кейін, сигналды жаңа орнатылған уақыт шеңберінде көрсету үшін сигналды қайта жүктеу керек.
Мәзір опциялары
GTKWave бағдарламалық құралының сол жақ жоғарғы бұрышынан пайдаланушы үш тік сызықты басу арқылы мәзір опцияларына қол жеткізе алады (11-суретті қараңыз). Пайдаланушы Мәзір опциялары астында келесі опцияларды таба алады:
File
The File ішкі мәзірде кіруге қатысты әртүрлі элементтер бар files, VCD импорттау-экспорттау files, басып шығару және оқу/жазу 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.
Көмек
Анықтама ішкі мәзірінде онлайн анықтаманы қосу және бағдарлама нұсқасы туралы ақпаратты көрсету опциялары бар.
Қорытынды
Бұл құжат пайдаланушыға олардың дизайнын сәтті модельдеуге және функционалдылықты тексеруге көмектесу үшін қажетті сынақ үстелінің жобасын түзету және толқын пішіндерін көрсету және нәтижелерді бақылау үшін GTKWave бірге Icarus Verilog қолданбасын пайдалану үшін жасалған.
Қайта қарау тарихы
Қайта қарау | Күн | Сипаттама |
1.00 | 20 жылдың 2024 мамыры | Бастапқы шығарылым. |
R19US0011EU0100 Rev.1.0
20 жылдың 2024 мамыры
© 2024 Renesas Electronics
Құжаттар / Ресурстар
![]() |
RENESAS ForgeFPGA бағдарламалық құралын модельдеу [pdf] Пайдаланушы нұсқаулығы REN_r19us0011eu0100, ForgeFPGA бағдарламалық жасақтамасын симуляциясы, ForgeFPGA бағдарламалық құралы, ForgeFPGA, ForgeFPGA симуляциясы, бағдарламалық құралды модельдеу, модельдеу, бағдарламалық құрал |