Simulation Software RENESAS ForgeFPGA

Simulation Software 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. Боварӣ ҳосил кунед, ки IVerilog -ро ба PATH илова кунед ва ба он GTKWave -ро насб кунед (нигаред ба расми 1)
Насб кардани Icarus Verilog

c. Барномаи Go Configure -ро кушоед ва қисматро интихоб кунед: SLG47910(Rev BB) барои кушодани Семинари Forge (ниг. Расми 2).
Насб кардани Icarus Verilog

d. Муҳаррири FPGA-ро дар мобайни панели асбобҳо дар боло клик кунед ё корбар инчунин метавонад сохтори асосии FPGA-ро дар мобайни тиреза ду маротиба клик кунед.
Насб кардани Icarus Verilog

e. Равзанаи нав кушода мешавад, ки устохонаи Forge номида мешавад. Дар панели асбобҳои менюи боло, Имконот → Танзимот -ро клик кунед. Дар қуттии муколамаи Танзимот, ба Асбобҳо дар зери ҷадвали Танзимоти корбар гузаред. Истифодаи "қуттии муҳити система" -ро барои Icarus Verilog ва GTKWave интихоб кунед. Роҳро ба Iverilog ва GTKWave, ки дар системаи шумо захира шудааст, ба фазои додашуда илова кунед (ниг. Расми 4).
Насб кардани Icarus Verilog

Ҳамаи шумо барои тақлид кардани як testbench омода шудаед ва қадамҳои дар боло зикршуда кафолат медиҳанд, ки GTKWave ҳангоми симулятсияи testbench дар нармафзори Go Configure ба таври худкор оғоз меёбад.

Санҷиш

Қадами муҳимтарин дар татбиқи бомуваффақияти ҳама гуна система санҷиши тарҳрезӣ ва фаъолияти он мебошад. Тафтиши системаи мураккаб пас аз татбиқи сахтафзор интихоби оқилона нест. Он аз ҷиҳати пул, вақт ва захираҳо бесамар аст. Аз ин рӯ, дар ҳолати FPGA, барои санҷиши коди сарчашмаи Verilog як testbench истифода мешавад.

Фарз мекунем, ки мо вуруди 11 бит дорем ва мо мехоҳем дастгоҳро барои ҳамаи арзишҳои омезиши вуруди имконпазир санҷем, яъне (211). Азбаски ин миқдори хеле зиёди комбинатсияҳост, санҷиши дастӣ ғайриимкон аст. Дар чунин мавридҳо, озмоишгоҳҳо хеле муфиданд, зеро шумо метавонед тарҳро ба таври худкор барои ҳама арзишҳои имконпазир санҷед ва аз ин рӯ, эътимоднокии тарҳи санҷишро тасдиқ кунед. Verilog Testbenches барои тақлид ва таҳлили тарҳҳо бидуни ниёз ба ягон дастгоҳи сахтафзори ҷисмонӣ истифода мешавад.

Тарҳе, ки таҳти озмоиш қарор дорад, бо номи DUT ихтисор шудааст, як модули синтезшавандаи функсияест, ки мо мехоҳем озмоиш кунем. Ба ибораи дигар, ин тарҳи схемаест, ки мо мехоҳем озмоиш кунем. Мо метавонем DUT-и худро бо истифода аз яке аз се услуби моделсозӣ дар Verilog - Gate-level, Dataflow ё Behavioral тавсиф кунем.

Testbench синтез карда намешавад, аз ин рӯ он танҳо барои мақсадҳои моделиронӣ истифода мешавад. Ин ба корбар имкон медиҳад, ки маҷмӯи пурраи конструксияҳои Verilog-ро истифода барад, масалан, калимаҳои калидӣ ба монанди "барои", "$дисплей" ва "$монитор" ва ғайра барои навиштани панелҳои санҷишӣ. Таҷҳизоти оддии санҷишӣ воҳиди зери озмоиш (UUT) ё дастгоҳи зери санҷиш (DUT) -ро ба кор медарорад ва вурудҳоро идора мекунад.

Фаҳмидани Testbench

Фаҳмидани Testbench

Таърифи ҷадвали вақт дар Testbench

Ҳангоми моделсозӣ, нармафзор бояд донад, ки вақт чӣ гуна муайян карда шудааст. Воҳиди таъхир бо истифода аз `директиваи ҷадвали вақт муайян карда мешавад, ки воҳиди вақт ва дақиқии модулҳои пайрави онро муайян мекунад. Ҷадвали вақт дар муайян кардани он, ки №1 аз нуқтаи назари вақт чӣ маъно дорад, кӯмак мекунад. # барои муайян кардани таъхир дар система мувофиқи воҳиди вақт, ки дар ҷадвали вақт нишон дода шудааст, истифода мешавад. Ҳамин тавр, №1 маънои 1 нс таъхирро дорад, агар воҳиди вақт дар ns бошад.

Синтаксис:
`мӯҳлати вақт / /

воҳиди вақт миқдори вақтест, ки таъхири №1 нишон медиҳад. Пойгоҳи time_precision нишон медиҳад, ки чанд нуқтаи даҳии дақиқро нисбат ба воҳидҳои вақт истифода бурдан мумкин аст. (Ба сатри 23 дар расми 5 нигаред)

Мо метавонем конструксияҳои вақтро истифода барем, то воҳидҳои гуногуни вақтро дар як тарҳ истифода барем. Истифодабаранда бояд дар хотир дошта бошад, ки мушаххасоти таъхир синтезшаванда нестанд ва наметавонанд ба мантиқи сахтафзор табдил дода шаванд. Функсияҳои таъхир комилан барои мақсадҳои моделиронӣ мебошанд. $вақт ва $вақти ҳақиқӣ Функсияҳои система вақти ҷорӣро бармегардонанд ва формати гузоришдиҳии пешфарзро метавон бо вазифаи дигари система иваз кард $timeformat .

Exampле: 

`Мӯҳлати вақт 10us/100ns
` ҷадвали вақт 1ns/1ps
#10 аз нав танзимкунии = 1; // сигналро 10 нс таъхир мекунад
#0.49 $дисплей("T = %0t дар вақти #0.49", $воқеӣ);

Таъхири муайяншуда # 0.49 аст, ки камтар аз ним воҳиди вақт аст. Бо вуҷуди ин, дақиқии вақт 1ps муайян карда шудааст ва аз ин рӯ симулятор наметавонад аз 1ns хурдтар бошад, ки он изҳороти таъхири додашударо давр мезанад ва 0ns медиҳад. Ҳамин тавр, ин изҳорот ҳеҷ гуна таъхирро таъмин карда наметавонад.

Сабти симулятсия: 

T = 1 дар вақти # 0.49

Эъломияи модул

Эъломияи модул дар ҳама гуна testbench аз рамзи асосии Verilog фарқ мекунад. Дар testbench модул бе ягон порти терминал дар баробари он эълон карда мешавад. (Ба сатри 25 дар расми 5 нигаред)

Синтаксис: 

модул ;

Эъломияи модул бо муайян кардани сигналҳои воридотӣ ва баромади қаблан дар тарҳи асосӣ муайян карда мешавад. file.
Мо ду намуди сигналро барои рондан ва мониторинги сигналҳо ҳангоми моделиронӣ истифода мебарем. Навъи додаҳои reg ин арзишро то он даме ки арзиши нав ба он таъин карда нашавад, нигоҳ медорад. Ин навъи маълумот метавонад танҳо дар блоки ҳамешагӣ ё ибтидоӣ арзиш таъин карда шавад.
Навъи додаҳои сим ба пайвасти ҷисмонӣ монанд аст. Он арзишеро нигоҳ медорад, ки тавассути порт, таъинот ё reg идора карда мешавад. Ин навъи маълумот наметавонад дар блоки ибтидоӣ ё ҳамеша истифода шавад. Ҳама гуна параметр ва эъломияи бутун низ дар ин бахш анҷом дода мешаванд.

Exampле:
Reg a,b; // вуруд дар коди HDL ҳамчун reg дар testbench муайян карда мешавад
Сим y; // сигнали баромад дар HDL ҳамчун сим дар testbench муайян карда мешавад

Ташкили DUT

Мақсади санҷиши тестӣ санҷидани он аст, ки модули DUT-и мо кор мекунад. Аз ин рӯ, мо бояд модули тарроҳии худро барои санҷиши модул эҷод кунем.

Синтаксис: 

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

Exampле:

ALU d0 (.a(a), // сигнали "a" дар ALU бояд ба "a" дар модули ALU_tb пайваст карда шавад
.b(b), // сигнали "b" дар ALU бояд ба "b" дар модули ALU_tb пайваст карда шавад
.c(c));// сигнали "c" дар ALU бояд ба "c" дар модули ALU_tb пайваст карда шавад

Мо модули DUT ALU-ро ба модули санҷишӣ насб кардем. Номи мисол (d0) интихоби корбар аст. Сигналҳо бо нуқтаи "." дар пеши онҳо номҳои сигналҳои дохили модули ALU ҷойгиранд, дар ҳоле ки сим ё reg, ки онҳо дар курсии санҷишӣ ба он пайваст мешаванд, дар паҳлӯи сигнал дар қавс () ҷойгир аст. Тавсия дода мешавад, ки ҳар як пайвасти портро дар хати алоҳида рамзгузорӣ кунед, то ҳар як паёми хатогии тартибдиҳӣ ба рақами сатр, ки хатогӣ рух додааст, дуруст ишора кунад. Азбаски ин пайвандҳо бо ном сурат мегиранд, тартиби пайдоиши онҳо аҳамият надорад.

Насбкунии DUT инчунин метавонад барои модулҳое анҷом дода шавад, ки модули testbench номҳои гуногуни сигнал дорад. Харитаи дурусти сигналҳо он чизест, ки ҳангоми эҷод кардан муҳим аст.

Exampле: 

ALU d0 (.a(A), // сигнали "a" дар ALU бояд ба "A" дар модули ALU_tb пайваст карда шавад
.clk(соат), // сигнали "clk" дар ALU бояд ба модули "clock" ALU_tb пайваст карда шавад
.out(OUT)); // сигнали "берун" дар ALU бояд ба "OUT" дар модули ALU_tb пайваст карда шавад

Ҳамеша ва Блоки ибтидоӣ дар Testbench

Дар Verilog ду блоки пайдарпай мавҷуданд, ибтидоӣ ва ҳамеша. Маҳз дар ҳамин блокҳо мо ҳавасмандкуниро ба кор мебарем.

Блоки ибтидоӣ

Блоки ибтидоӣ, ки танҳо як маротиба иҷро мешавад ва ҳангоми иҷрои сатри охирини блок қатъ мегардад. Ҳавасмандкунӣ дар блоки ибтидоӣ навишта мешавад. (Ба сатри 54-72 дар расми 5 нигаред)

Синтаксис:
..
ибтидоӣ
$партовfile();
$dumpvars();
..( ҳавасмандкуниро ворид кунед)
Поён

блоки ибтидоӣ иҷрои худро дар оғози моделиронӣ дар вақти t = 0 оғоз мекунад. Аз сатри аввал байни оғоз ва анҷом сар карда, ҳар як сатр аз боло ба поён то расидани таъхир иҷро мешавад. Вақте ки ба таъхир расид, иҷрои ин блок то гузаштани вақти таъхир (10 воҳиди вақт) интизор мешавад ва пас аз нав иҷроро оғоз мекунад.
Истифодабаранда метавонад ангезишҳоро бо истифода аз ҳалқаҳо (for, while, if-else) ва инчунин дар дохили ин блоки ибтидоӣ ба ҷои ворид кардани ҳама комбинатсияҳо дастӣ муайян кунад.
Блоки ибтидоӣ

 

Exampле:
Оғози ибтидоӣ
A = 0; b = 0; // оғоз кардани иҷро
№10 а = 0; б = 1; // иҷро дар t = 10 воҳиди вақт аст
№10 а = 1; б = 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 ва номи модул ҳамчун модули боло (одатан модули болоии testbench) мебошад.

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

Вақте ки сатҳ ба 0 муқаррар карда мешавад ва танҳо номи модул муайян карда мешавад, он ҲАМАИ тағирёбандаҳои ин модул ва тамоми тағирёбандаҳоро дар ҲАМАИ модулҳои сатҳи поёнии аз ҷониби ин модули боло сохташуда партофта мешавад. Агар ягон модул дар ин модули боло сохта нашавад, тағирёбандаи он фаро гирифта намешавад. Боз як чизи дигар, эъломияи долларпартовгоҳfile бояд пеш аз $dumpvars ё ягон вазифаҳои дигари система, ки партовро муайян мекунад, ояд. Ин партовхо files бояд пеш аз воридоти ҳавасмандкунанда эълон карда шавад, ҳеҷ арзиш дар ин партовҳо захира карда намешавад files.

Ҳамеша блок кунед

Бар хилофи изҳороти аввал, блок ҳамеша такроран иҷро мешавад, гарчанде ки иҷро дар вақти t = 0 оғоз мешавад. Барои мисолample, сигнали соат барои кори схемаҳои пайдарпай ба монанди Flip-flops муҳим аст. Онро пайваста таъмин кардан лозим аст. Аз ин рӯ, мо метавонем рамзи кори соатро дар курсии санҷишӣ чунин нависем (ниг. сатри 52 дар расми 5):

хамеша
#10 clk = ~clk;
охири модул

Изҳороти дар боло овардашуда пас аз 10 нс аз t = 0 сар карда иҷро карда мешавад. Қимати clk пас аз 10 нс аз арзиши қаблӣ баръакс мешавад. Ҳамин тариқ, тавлиди сигнали соати паҳнои набзи 20 нс. Аз ин рӯ, ин изҳорот сигнали басомади 50 МГс тавлид мекунад. Қайд кардан муҳим аст, ки оғозкунии сигнал пеш аз блоки ҳамеша анҷом дода мешавад. Агар мо қисми оғозкуниро иҷро накунем, сигнали clk аз t – 0 x мешавад ва пас аз 10 нс он ба x-и дигар табдил меёбад.

Санҷиши худтафтиши

Санҷиши худтафтишкунанда изҳорот барои тафтиши ҳолати кунуниро дар бар мегирад.

  • $намоиш Вазифаи система асосан барои намоиши паёмҳои ислоҳӣ барои пайгирии ҷараёни симулятсия истифода мешавад

ибтидоӣ
A = 0; b = 0; c = 0; №10; // вурудро татбиқ кунед, интизор шавед
агар( y ! == 1) оғоз шавад
$display( "000 ноком"); // тафтиш
c = 1; #10; // ворид кардани воридот, интизор шавед
Поён
вагарна, агар ( y ! == 0) оғоз шавад
$display (“001 ноком шуд”) // санҷед
б = 1; c = 0; #10; Поён
дигаре агар (y!==0)
$дисплей ("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

Баҳс Тавсифи
%ч, %Н Намоиш дар формати шонздаҳӣ
%d, %D Намоиш дар шакли даҳӣ
%б, %Б Намоиш дар формати дуӣ
%м, %М Намоиши номи иерархӣ
%s, %S Намоиш ҳамчун сатр
%t, %T Намоиш дар формати вақт
%f, %F Намоиши "воқеӣ" дар формати даҳӣ
%е, %Е Намоиши "воқеӣ" дар формати экспоненсиалӣ

$намоиш асосан маълумот ё тағирёбандаро чоп мекунад, чунон ки дар ҳамон лаҳза ба мисли printf дар C. Мо бояд $ зикр кунем.намоиш барои ҳар матне, ки мо бояд view дар сабти симулятсия.

  • $вақт

$вақт вазифаи системаест, ки вақти ҷории симулятсияро бармегардонад.

  • $назорат

$назорат маълумот ё тағирёбандаеро, ки барои он навишта шудааст, назорат мекунад ва ҳар вақте ки тағирёбанда тағир меёбад, он чоп мекунад
арзиши тағирёфта. Он пас аз ҳар дафъае, ки ягон далели он ба даст меояд, ба $display занг задан ба чунин эффект ноил мешавад
нав карда шуд. $назорат монанди вазифаест, ки барои иҷро дар заминаи риштаи асосӣ, ки назорат мекунад ва
тағироти арзиши тағирёбандаҳои аргументи худро нишон медиҳад. $назорат синтаксиси якхелаи $ дораднамоиш.

$назорат(“вақт = %t, A = %b, B = %b, C = % b”, $вақт, A, B, C);
Санҷиши худтафтиши

Аз расми 7 шумо метавонед мушоҳида кунед, ки сатрҳои нави рамзҳо барои худбаҳодиҳии тестӣ илова карда шудаанд. Ҷойгиркунии долларнамоиш ва $назорат изҳорот дар бахшҳои гуногуни санҷиш натиҷаҳои гуногун хоҳанд дод (ниг. Расми 8). $вақт Дар ин изҳоротҳо зикршуда вақти чопи арзишро чоп мекунад. Дар айни замон воҳиди 170000 мегӯяд, мо мебинем, ки чӣ гуна фарқияти арзиши A ва B бо сабаби $ вуҷуд дораднамоиш ва $назорат изҳорот.
Санҷиши худтафтиши

Нармафзори GTKWave

GTKWave як мавҷи мукаммали GTK+ мебошад viewer барои Unix, Win32 ва Mac OSX, ки LXT, LXT2, VZT, FST ва GHW-ро мехонад fileс, инчунин стандарти VCD/EVCD fileс ва ба онхо имкон медихад viewing. Расмии он webсайт дар http://gtkwave.sourceforge.net/ . GTKWave тавсия дода мешавад viewаз ҷониби Icarus Verilog асбоби моделиронӣ.

Пас аз он ки корбар бомуваффақият барои санҷиши кори тарроҳӣ озмоишгоҳи тестӣ сохта мешавад, корбар акнун метавонад нармафзори GTKWave-ро истифода барад. view шаклҳои мавҷҳо.

Барои оғози нармафзори GTKWave ба view Дар шакли мавҷҳо, корбар бояд тугмаи Simulate Testbench-ро дар болои панели асбобҳо ё аз менюи асосӣ Асбобҳо→ Simulation→ Simulate Testbench пахш кунад. Агар ягон хатогиҳои синтаксисӣ мавҷуд набошанд, вобаста ба тарҳ, GTKWave бояд ба таври худкор оғоз карда шавад ё натиҷаҳои ангезаҳо дар 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

Дар File зерменю дорои ҷузъҳои гуногуни марбут ба дастрасӣ мебошад fileс, воридоту содироти VCD fileс, чоп кардан ва хондан/навиштан fileс ва баромадан.

Таҳрир

Зерменюи Таҳрир барои иҷрои вазифаҳои гуногуни хидматрасонӣ, ба монанди тағир додани намоиши додаҳои арзишҳо дар зерравзанаи мавҷ истифода мешавад. Бо истифода аз имконоти дар зери менюи Таҳрир, корбар метавонад формати додаҳои сигналҳоро тағир диҳад, онҳоро аз нав ҷойгир кунад, онҳоро иваз кунад, бурида, таъкид кунад, сигналҳоро гурӯҳбандӣ кунад, дар бораи сигналҳо шарҳ диҳад, ранги сигналҳоро тағир диҳад ва ғайра.

кофтуков

Зерменюи Ҷустуҷӯ барои анҷом додани ҷустуҷӯ дар номҳо ва арзишҳои шабака истифода мешавад. Он барои иҷрои вазифаҳо дар сатҳҳои иерархияи гуногуни сигналҳо ва мисолҳо дар VCD кӯмак мекунад file.

Вақт

Зерменюи вақт маҷмӯи болоии вазифаҳоро дар бар мегирад, ки тавассути тугмаҳои Навигатсия ва Панели Ҳолат иҷро мешаванд.
Он ба вазифаҳои оддӣ, вобаста ба вақт имкон медиҳад, ба монанди масштаб кардан, гузаштан ба нуқтаи вақти муайян, тағир додани сигнал ба самти муайян ва ғайра.

Нишондиҳанда

Зерменюи маркер барои иҷрои амалҳои гуногун дар маркер ва инчунин идоракунии ҳаракати берун аз экран истифода мешавад.
Он имкон медиҳад, ки функсияи илова кардани аломатҳои сершумор дар равзанаи сигнал. Ба ҳадди аксар 26 аломати ном иҷозат дода мешавад ва вақт барои ҳама бояд гуногун бошад.

a. Барои илова кардани нишонаҳо дар равзанаи сигнал
Дар нуқтаи зарурӣ, ки мехоҳед Маркер ҷойгир карда шавад, тугмаи чапи чапро клик кунед ва ALT + N -ро пахш кунед. Ин нишонгари номдорро (A,B,C ва ғ.) дар нуқтаи зарурӣ ҷойгир мекунад. Истифодабаранда метавонад ин корро дар 26 макони гуногуни вақт идома диҳад.
Барои муқоиса кардани арзиши вақт дар ҳама аломатҳои ҷойҳо, Меню → Нишондиҳандаҳо → Нишон додани тағирёбии маълумотро нишон диҳед.
Ин равзанаро бо арзиши вақт дар ҳар як Маркер мекушояд. Истифодабаранда метавонад ба таври дастӣ арзиши вақтро дар ҳар як маркери ҷойгиршуда қайд кунад ва онҳоро барои ҳисоб кардани фарқияти вақт байни 2 нишона хориҷ кунад.
b. Барои нест кардани Marker дар равзанаи сигнал

Истифодабаранда метавонад ба Меню → Маркерҳо → Ҷамъоварии Маркери номшуда равад. Ин нишонаи охирини дар равзанаи сигнал ҷойгиршударо нест мекунад. Истифодабаранда метавонад ҳамаи нишонгузорҳои номбурдаро бо роҳи гузариш ба Меню → Маркерҳо → Ҷамъоварии Ҳама Маркерҳои номбаршуда хориҷ кунад (Расми 12).
Имконоти меню

Дар расми 13 мо мебинем, ки чӣ гуна рангҳои сигнал иваз шудаанд. Шумо метавонед як сигнали холӣ, ки ба равзанаи сигнал илова карда шудааст, инчунин бо шарҳ - сигнали холӣ мушоҳида кунед.
Ҳамчунин мавҷудияти 6 Нишондиҳандаи номбаршуда (A - E) ва ҳисобкунии арзиши вақт байни ин Маркерҳо дар ps қайд кунед.
Имконоти меню

View

Дар View зерменю барои идора кардани атрибутҳои гуногун, ки бо намоиши графикии ҷузъҳои ҳолат ва инчунин арзишҳо дар зерравзанаи сигнал истифода мешаванд. Аз ин меню, шумо метавонед равзанаи сигналро ба сиёҳ ва сафед ё ранга табдил диҳед. Дар View зерменю инчунин ба шумо имкон медиҳад, ки Андозаи вақтро аз сонияҳо (сонияҳо) то фикосекундҳо (fs) тағир диҳед. Истифодабаранда метавонад ин интихобро пайдо кунад View → Миқёс ба андозагирии вақт → fs.

Кӯмак

Зерменюи кӯмак дорои имконоти фаъол кардани кӯмаки онлайн ва инчунин намоиш додани маълумоти версияи барнома мебошад.

Хулоса

Ин ҳуҷҷат барои кӯмак ба корбар дар бомуваффақият тақлид кардани тарроҳии онҳо ва санҷиши функсияҳо тавассути ислоҳ кардани тарҳи санҷиши лозимӣ ва истифодаи Icarus Verilog дар якҷоягӣ бо GTKWave барои намоиш додани шаклҳои мавҷ ва мушоҳидаи натиҷаҳо таҳия шудааст.

Таърихи ревизия

Барраси Сана Тавсифи
1.00 20 майи соли 2024 Нашри аввал.

R19US0011EU0100 Rev.1.0
20 майи соли 2024
© 2024 Renesas Electronics
Лого

Ҳуҷҷатҳо / Сарчашмаҳо

Simulation Software RENESAS ForgeFPGA [pdf] Дастури корбар
REN_r19us0011eu0100, ForgeFPGA Software Simulation, ForgeFPGA Software, ForgeFPGA, ForgeFPGA Simulation, Simulation Software, Simulation, Software

Иқтибосҳо

Назари худро гузоред

Суроғаи почтаи электронии шумо нашр намешавад. Майдонҳои зарурӣ қайд карда шудаанд *