RENESAS ForgeFPGA سافټویر سمولیشن

RENESAS ForgeFPGA سافټویر سمولیشن

مهم معلومات

سمولیشن یو تخنیک دی چې ډیزاین ته په مختلف وختونو کې د مختلف ان پټ محرک پلي کولو لپاره کارول کیږي ترڅو وګوري چې ایا د RTL کوډ مطلوب ډول چلند کوي. دا د ډیزاین پیاوړتیا تصدیق کولو لپاره کارول کیږي. سمول کارونکي ته اجازه ورکوي view د اړوندو سیګنالونو د وخت ډیاګرام د دې لپاره چې پوه شي چې په ډیزاین کې د ډیزاین توضیح څنګه دی file چلند کوي.

ټیسټ بینچونه د کوډ ټوټې دي چې د سمولو لپاره کارول کیږي. یو ساده ټیسټ بینچ به د ازموینې لاندې واحد (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 سافټویر خلاص کړئ او برخه غوره کړئ: SLG47910 (Rev BB) د فورج ورکشاپ خلاصولو لپاره (شکل 2 وګورئ).
د Icarus Verilog نصب کول

d. په پورتنۍ برخه کې د اوزار بار په مینځ کې د FPGA مدیر باندې کلیک وکړئ یا کارونکي کولی شي د کړکۍ په مینځ کې د FPGA کور جوړښت باندې دوه ځله کلیک وکړي.
د Icarus Verilog نصب کول

e. یوه نوې کړکۍ پرانیستل کیږي چې د فورج ورکشاپ په نوم یادیږي. په پورتنۍ برخه کې د مینو تول بار کې، په اختیارونو → ترتیبات کلیک وکړئ. د ترتیباتو ډیالوګ بکس کې، د کارن ترتیباتو ټب لاندې وسیلو ته لاړ شئ. د Icarus Verilog او GTKWave دواړو لپاره د "سیسټم چاپیریال بکس" کارول غیر انتخاب کړئ. ستاسو په سیسټم کې خوندي شوي Iverilog او GTKWave ته لاره په ورکړل شوي ځای کې اضافه کړئ (شکل 4 وګورئ).
د Icarus Verilog نصب کول

تاسو ټول د ټیسټ بینچ سمولو لپاره چمتو یاست او پورتنۍ مرحلې ډاډ ترلاسه کوي چې GTKWave په اوتومات ډول پیل کیږي کله چې د Go Configure سافټویر کې د ټیسټ بینچ سمول کول.

ټیسټ بینچ

د هر سیسټم په بریالیتوب سره پلي کولو کې ترټولو مهم ګام د ډیزاین او فعالیت تصدیق کول دي. د هارډویر پلي کولو وروسته د پیچلي سیسټم تصدیق کول یو هوښیار انتخاب ندی. دا د پیسو، وخت او منابعو په برخه کې بې اغیزې ده. له همدې امله ، د FPGA په قضیه کې ، د ویریلوګ سرچینې کوډ ازموینې لپاره ټیسټ بینچ کارول کیږي.

فرض کړئ چې موږ یو ان پټ لرو چې د 11 بټونو څخه دی، او موږ غواړو چې وسیله د ټولو ممکنه ان پټ ترکیب ارزښتونو لپاره ازموینه وکړو لکه (211). لکه څنګه چې دا د ترکیبونو خورا لوی شمیر دی ، نو دا په لاسي ډول ازموینه کول ناممکن دي. په داسې قضیو کې ، ټیسټ بینچونه خورا ګټور دي ځکه چې تاسو کولی شئ ډیزاین په اوتومات ډول د ټولو ممکنه ارزښتونو لپاره ازموینه وکړئ او له همدې امله د ازموینې ډیزاین اعتبار تایید کړئ. د ویریلوګ ټیسټ بینچونه د فزیکي هارډویر وسیلې ته اړتیا پرته د ډیزاینونو سمولو او تحلیل لپاره کارول کیږي.

د ازموینې لاندې ډیزاین، د DUT په نوم لنډ شوی، د فعالیت یو ترکیب وړ ماډل دی چې موږ یې ازموینه غواړو. په بل عبارت، دا د سرکټ ډیزاین دی چې موږ یې ازموینه غواړو. موږ کولی شو خپل DUT په ویریلوګ کې د دریو ماډلینګ سټایلونو څخه یو په کارولو سره تشریح کړو - د ګیټ کچه ، ډیټا فلو ، یا چلند.

د ټیسټ بینچ د ترکیب وړ نه دی، نو دا یوازې د سمولو موخو لپاره کارول کیږي. دا کارونکي ته اجازه ورکوي چې د ویریلوګ ساختمانونو بشپړ سلسله وکاروي د بیلګې په توګه کلیدي ټکي لکه "for"، "$display" او "$monitor" او داسې نور د ټیسټ بینچونو لیکلو لپاره. یو ساده ټیسټ بینچ به د ټیسټ لاندې یونټ (UUT) یا د وسیلې لاندې ټیسټ (DUT) او ډرایو انپټس انسټاګرام کړي.

د ټیسټ بینچ پوهیدل

د ټیسټ بینچ پوهیدل

په ټیسټ بینچ کې د مهال ویش تعریف

کله چې سمول کول، سافټویر باید پوه شي چې وخت څنګه تعریف شوی. د ځنډ واحد د `timescale لارښود په کارولو سره مشخص شوی، کوم چې د وخت واحد او د هغه ماډلونو لپاره دقیقیت مشخص کوي چې تعقیبوي. د وخت اندازه د دې په ټاکلو کې مرسته کوي چې # 1 د وخت په شرایطو کې څه معنی لري. # په سیسټم کې د ټاکل شوي وخت واحد سره سم په سیسټم کې د معرفي کیدو ځنډ تعریف کولو لپاره کارول کیږي. نو، #1 د 1 ns ځنډ معنی لري که چیرې د وخت_یونټ په ns کې وي.

نحو:
د وخت اندازه / /

time_unit د وخت اندازه ده چې د #1 ځنډ استازیتوب کوي. د وخت_دقت اساس د وخت د واحدونو په پرتله د دقیقیت څو ډیسیمال ټکي څرګندوي. (په 23 شکل کې 5 کرښه وګورئ)

موږ کولی شو د مهال ویش جوړښتونه په ورته ډیزاین کې د مختلف وخت واحدونو کارولو لپاره وکاروو. کارونکي باید په یاد ولري چې د ځنډ مشخصات د ترکیب وړ ندي او د هارډویر منطق ته نشي بدلیدلی. د ځنډ دندې په بشپړ ډول د سمولو موخو لپاره دي. ډالروخت او ډالرریښتیني وخت د سیسټم فعالیتونه اوسنی وخت بیرته راګرځوي او د ډیفالټ راپور ورکولو بڼه د بل سیسټم کار $timeformat سره بدلیدلی شي.

ExampLe: 

د وخت اندازه 10us/100ns
د وخت اندازه 1ns/1ps
#10 ری سیٹ = 1؛ // د 10 ns لخوا سیګنال ځنډوي
#0.49 $display("T = %0t په وخت #0.49"، $realtime) ;

ټاکل شوی ځنډ #0.49 دی چې د نیم واحد وخت څخه کم دی. په هرصورت، د وخت دقیقیت 1ps ټاکل شوی او له همدې امله سمیلیټر نشي کولی د 1ns څخه کوچنی شي چې دا د ورکړل شوي ځنډ بیان او د 0ns لاسته راوړلو لپاره جوړوي. نو، دا بیان د کوم ځنډ چمتو کولو کې پاتې راغلی.

د سمولو لاګ: 

T = 1 په وخت # 0.49

د ماډل اعالمیه

په هر ټیسټ بینچ کې د ماډل اعلامیه د اصلي ویریلوګ کوډ برعکس ده. په ټیسټ بینچ کې ، ماډل پرته له دې سره د ټرمینل بندرونو اعلان شوی. (په 25 شکل کې 5 کرښه وګورئ)

نحو: 

ماډل ;

د ماډل اعالمیه په اصلي ډیزاین کې مخکې تعریف شوي د ننوتلو او محصول سیګنالونو تعریف کولو سره تعقیب کیږي file.
موږ د سمولو په جریان کې د موټر چلولو او نظارت سیګنالونو لپاره دوه سیګنال ډولونه کاروو. د ریګ ډیټاټایپ به ارزښت ساتي تر هغه چې نوی ارزښت ورته ټاکل شوی نه وي. دا ډاټا ډول یوازې په تل یا ابتدايي بلاک کې ارزښت ټاکل کیدی شي.
د تار ډیټاټایپ د فزیکي اړیکې په څیر دی. دا به هغه ارزښت وساتي چې د پورټ لخوا پرمخ وړل کیږي، د بیان بیان، یا ریګ. د دې معلوماتو ډول په ابتدايي یا تل بلاک کې نشي کارول کیدی. په دې برخه کې هر ډول پیرامیټر او انټیجر اعلان هم ترسره کیږي.

ExampLe:
Reg a,b; // په HDL کوډ کې ان پټ په ټیسټ بینچ کې د ریګ په توګه تعریف شوی
تار y; // په HDL کې د محصول سیګنال په ټیسټ بینچ کې د تار په توګه تعریف شوی

د DUT انسټیټیوټ

د ټیسټ بینچ هدف دا دی چې دا تصدیق کړي چې ایا زموږ د DUT ماډل فعالیت کوي. له همدې امله ، موږ اړتیا لرو د ماډل ازموینې لپاره زموږ ډیزاین ماډل ګړندی کړو.

نحو: 

(. (سګنال1)، . signal1>(signal2));

ExampLe:

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 ماډل دننه د سیګنالونو نومونه دي، پداسې حال کې چې هغه تار یا ریګ چې دوی د ټیسټ بنچ سره نښلوي په قوس کې د سیګنال تر څنګ دي (). دا سپارښتنه کیږي چې هر پورټ اتصال په جلا کرښه کې کوډ کړئ ترڅو د تالیف کولو کوم خطا پیغام په سمه توګه د لاین شمیرې ته اشاره وکړي چیرې چې خطا رامینځته شوې. ځکه چې دا اړیکې د نوم په واسطه رامینځته شوي ، هغه ترتیب چې دوی پکې څرګندیږي غیر اړونده دي.

د DUT انسټیټیشن د ماډلونو لپاره هم رامینځته کیدی شي چیرې چې د ټیسټ بینچ ماډل مختلف سیګنال نومونه لري. د سیګنالونو سمه نقشه کول هغه څه دي چې د فوري کولو پرمهال مهم دي.

Exampلی: 

ALU d0 (.a(A)، // په ALU کې سیګنال "a" باید د ALU_tb ماډل کې "A" سره وصل شي
.clk(کلاک)، // په ALU کې سیګنال "clk" باید د ALU_tb ماډل سره وصل شي
.out(out)); // په ALU کې سیګنال "آؤټ" باید د ALU_tb ماډل کې "OUT" سره وصل شي

په ټیسټ بنچ کې تل او ابتدايي بلاک

په ویریلوګ کې دوه ترتیبي بلاکونه شتون لري، ابتدايي او تل. دا په دې بلاکونو کې دی چې موږ محرک پلي کوو.

ابتدايي بلاک

لومړنی بلاک چې یوازې یو ځل اجرا کیږي او پای ته رسیږي کله چې د بلاک وروستۍ کرښه اجرا شي. محرک په لومړني بلاک کې لیکل شوی. (په 54 شکل کې 72-5 کرښه وګورئ)

نحو:
..
لومړنی پیل
$ ډمپfile();
$dumpvars();
..(محرک داخل کړئ)
پای

ابتدايي بلاک د سمولیشن په پیل کې د t = 0 په وخت کې خپل اجرا پیل کوي. د پیل او پای تر مینځ د لومړۍ کرښې سره پیل کیږي، هره کرښه له پورته څخه تر ښکته پورې اجرا کوي تر هغه چې ځنډ ته ورسیږي. کله چې ځنډ پای ته ورسیږي، د دې بلاک اجرا کول تر هغه وخته پورې انتظار کوي چې د ځنډ وخت (10 وخت واحدونه) تیریږي او بیا بیا اجرا کوي.
کاروونکي کولی شي د دې ابتدايي بلاک دننه د لوپونو په کارولو سره محرک تعریف کړي (د دې لپاره، پداسې حال کې، که نور)
ابتدايي بلاک

 

Exampلی:
ابتدايي پیل
A = 0 ; b = 0 ; // اجرا کول پیل کړئ
#10a = 0; b = 1 ; // اجرا کول په t = 10-یونټ وخت کې دي
#10a = 1; b = 0 ; // اجرا کول په t = 20-یونټ وخت کې دي
پای

ډنډ Files

په ذهن کې ساتلو لپاره بل شی د ډالرو اعلان دیډمپfiles او ډالرdumpvars د لومړني بلاک دننه (په 55 شکل کې 56- 5 کرښه وګورئ). دا ډالرډمپfile په a کې د جالونو او راجسترونو په ارزښتونو کې د بدلونونو ډمپ کولو لپاره کارول کیږي file دا د خپل دلیل په توګه نومول شوی.

د مثال لپارهampLe:

$ډمپfile("alu_tb.vcd");

په a کې به بدلونونه ډوب کړي file alu_tb.vcd نومول شوی. بدلونونه په الف کې ثبت شوي دي file د VCD په نوم یادیږي file دا د ارزښت د بدلون ډمپ لپاره ولاړ دی. VCD (د ارزښت بدلون ډمپ) د ارزښت بدلونونو په اړه ټول معلومات ذخیره کوي. موږ نشو کولی له یو ډالرو څخه ډیر ډمپ ولروfile په ویریلوګ سمولیشن کې بیانونه.

دا ډالرdumpvars د دې لپاره کارول کیږي چې مشخص کړي کوم متغیرونه باید ډمپ شي (په file د ډالرو ډمپ لخوا ذکر شویfile). د دې کارولو ترټولو ساده لاره پرته له کوم دلیل څخه ده. د $dumpvars عمومي ترکیب دی

$dumpvars (( <, >);

موږ اساسا کولی شو مشخص کړو چې کوم ماډلونه ، او کوم تغیرات به په ماډلونو کې ډمپ شي. د دې کارولو لپاره ترټولو ساده لاره دا ده چې کچه 0 ته تنظیم کړئ او د ماډل نوم د پورتنۍ ماډل په توګه (په عموم ډول د ټیسټ بینچ ماډل).

$dumpvars(0, alu_tb);

کله چې کچه 0 ته ټاکل شوې وي، او یوازې د ماډل نوم مشخص شوی وي، دا د دې ماډل ټول متغیرونه ډمپ کوي او ټول متغیرونه په ټولو ټیټ کچې ماډلونو کې د دې پورتنۍ ماډل لخوا سمال شوي. که چیرې کوم ماډل د دې پورتنۍ ماډل لخوا سمدستي نه وي، نو د دې متغیر به پوښل نشي. یو بل شی، د ډالرو اعلانډمپfile باید د $dumpvars یا کوم بل سیسټم دندو څخه مخکې راشي چې ډمپ مشخص کوي. دا ډنډ files باید مخکې له دې چې د محرک معلوماتو بل اعلان شي، هیڅ ارزښت به پدې ډمپ کې خوندي نشي files.

تل بلاک کړئ

د لومړنیو بیانونو برعکس، یو بلاک تل په مکرر ډول اجرا کوي، که څه هم اعدام په t = 0 کې پیل کیږي. د مثال لپارهample، د ساعت سیګنال د ترتیبي سرکیټونو لکه فلیپ فلاپونو عملیاتو لپاره اړین دی. دا باید په دوامداره توګه عرضه شي. نو موږ کولی شو د ساعت د عملیاتو لپاره کوډ په ټیسټ بنچ کې ولیکو لکه (په 52 شکل کې 5 کرښه وګورئ):

تل
#10 clk = ~ clk;
endmodule

پورته بیان د 10 ns وروسته اجرا کیږي چې د t = 0 څخه پیل کیږي. د clk ارزښت به د 10 ns وروسته د پخواني ارزښت څخه بدل شي. پدې توګه ، د 20 ns نبض پلنوالي ساعت سیګنال رامینځته کول. له همدې امله، دا بیان د فریکونسۍ 50 MHz سیګنال رامینځته کوي. دا مهمه ده چې په یاد ولرئ چې د سیګنال پیل کول د تل بلاک څخه دمخه ترسره کیږي. که موږ د پیل برخه ترسره نه کړو، د clk سیګنال به له t - 0 څخه x وي، او د 10 ns وروسته به بل x ته واړول شي.

د ځان چک کولو Testbench

د ځان چک کولو ټیسټ بینچ کې د اوسني حالت چک کولو لپاره بیان شامل دی.

  • $ښودنه د سیسټم دنده په عمده توګه د ډیبګ پیغامونو ښودلو لپاره کارول کیږي ترڅو د سمولو جریان تعقیب کړي

لومړنی پیل
A = 0 ; b = 0 ; c = 0 ; #۱۰؛ // داخل کړئ، انتظار وکړئ
که (y! == 1) پیل شي
$display("000 ناکام") ; // چک
c = 1 ; #۱۰ ; // داخل کړئ، انتظار وکړئ
پای
بل که ( y ! == 0) پیل شي
$display("001 ناکامه") // چک
b = 1 ; c = 0 ; #۱۰ ; پای
بل که (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. د ویریلوګ جدول فارمیټونه

استدلال تفصیل
%h،%H د هیکساډیسیمل بڼه کې ښودل
%d، %D په لسیزه بڼه ښودل
%b، %B په بائنری شکل کې ښکاره کړئ
%m، %m درجه بندي نوم ښکاره کړئ
%s، %S د تار په توګه ښکاره کړئ
%t،%T د وخت په شکل کې ښکاره کړئ
%f، %F په لسیزه بڼه کې 'حقیقي' ښکاره کړئ
%e،%E 'ریښتیني' په توضیحي بڼه کې ښکاره کړئ

$ښودنه په عمده توګه ډیټا یا متغیر چاپ کوي لکه څنګه چې دا د هغه وخت په سمدستي کې وي لکه په C کې printf. موږ باید $ ذکر کړو.ښودنه د هر هغه متن لپاره چې موږ یې لرو view د سمولیشن لاګ کې.

  • $وخت

$وخت د سیسټم دنده ده چې د سمولو اوسنی وخت بیرته راولي.

  • $څارنه

$څارنه د معلوماتو یا تغیراتو څارنه به د کوم لپاره چې دا لیکل شوي وي او کله چې متغیر بدل شي، دا به چاپ کړي
بدل شوی ارزښت. دا د هرکله چې د هغې کوم دلیل ترلاسه کوي د $display زنګ وهلو ورته تاثیر ترلاسه کوي
تازه شوی ډالرڅارنه د یوې دندې په څیر دی چې د اصلي تار په شالید کې د چلولو لپاره رامینځته شوی چې نظارت کوي او
د خپل دلیل متغیرونو ارزښت بدلونونه ښیې. ډالرڅارنه د $ په څیر ورته ترکیب لريښودنه.

$څارنه("وخت = %t، A = %b، B = %b، C = % b"، $وخت, A, B, C);
د ځان چک کولو Testbench

د 7 شکل څخه تاسو لیدلی شئ چې د کوډ نوې کرښې اضافه شوي ترڅو د ټیسټ بینچ ځان ارزونه وکړي. د ډالرو ځای پرځای کولښودنه او ډالرڅارنه د ټیسټ بنچ په مختلفو برخو کې بیانونه به مختلف پایلې ترلاسه کړي (8 شکل وګورئ). ډالروخت په دې بیاناتو کې ذکر شوي هغه وخت چاپ کوي چې ارزښت یې چاپ شوی. په ورته وخت کې واحد ووایه 170000، موږ کولی شو وګورو چې څنګه د A او B لپاره د ډالرو په ارزښت کې توپیر شتون لري.ښودنه او ډالرڅارنه بیانونه
د ځان چک کولو Testbench

د GTKWave سافټویر

GTKWave یو بشپړ ځانګړی شوی GTK+ څپې دی viewد یونیکس، Win32، او Mac OSX لپاره چې LXT، LXT2، VZT، FST، او GHW لوستل کیږي files او همدارنګه معیاري VCD/EVCD files او د دوی اجازه ورکوي viewing. رسمي webسایټ په کې دی http://gtkwave.sourceforge.net/ . GTKWave وړاندیز شوی viewد Icarus Verilog سمولو وسیلې لخوا.

یوځل چې کارونکي په بریالیتوب سره د ډیزاین فعالیت ازموینې لپاره ټیسټ بینچ رامینځته کړي ، کارونکي اوس کولی شي د GTKWave سافټویر وکاروي view څپې

د GTKWave سافټویر په لاره اچولو لپاره view د څپې شکلونو کې، کارونکي اړتیا لري چې د وسیلې بار په پورتنۍ برخه کې د سمولټ ټیسټ بینچ تڼۍ باندې کلیک وکړي یا د اصلي مینو اوزار → سمولیشن → سمولټ ټیسټ بینچ. که چیرې د ترکیب غلطۍ شتون ونلري نو د ډیزاین پورې اړه لري ، GTKWave باید په اوتومات ډول پیل شي یا په ټیسټ بینچ کې د محرکاتو پایلې به د کړکۍ لوګر برخه کې ښکاره شي.

د GTKWave سافټویر د .vcd فارمیټ ډمپ خلاصويfile په اتوماتيک ډول. د GTKWave کړکۍ د څپې بڼه نه ښکاره کوي کله چې خلاصیږي. دا کارونکي ته فرصت ورکوي چې غوره کړي کوم سیګنالونه چې دا غواړي view او مشاهده د سیګنال غوره کولو لپاره ، کارونکي باید ښودلو ته اړتیا ولري ، کارونکي اړتیا لري د SST ټب لاندې د کړکۍ ښي اړخ کې د دوی ماډل / مثال په نوم کلیک وکړي. د هرې بیلګې په کلیک کولو سره، تاسو کولی شئ هغه سیګنالونه وګورئ چې په لاندې برخه کې د مثال سره تړاو لري. بیا تاسو کولی شئ مطلوب سیګنال ډریګ او ډراپ کړئ یا د سیګنال کړکۍ کې د ښودلو لپاره دوه ځله کلیک وکړئ. تاسو کولی شئ ټول (CTRL + A) وټاکئ او د سیګنال کړکۍ ته یې دننه کړئ (شکل 9 وګورئ).
د GTKWave سافټویر

سیګنالونه اوس د سیګنال کړکۍ ته اضافه شوي مګر دا لاهم سمول شوي ندي. د سیګنال کړکۍ ته د مطلوب سیګنالونو اضافه کولو وروسته ، کلیک وکړئسمبول د کړکۍ اوسني عرض ته سیګنالونه فټ کړئ او بیا له ریلوډ څخه سیګنالونه بیا پورته کړئسمبول سمبول په تول پټه کې موجود دی. تاسو اوس کولی شئ سیګنالونه د دوی اړوند ارزښتونو سره وګورئ.

د سیګنال ارزښتونه

په ډیفالټ کې، د سیګنالونو ارزښتونه د هیکساډیسیمل بڼه کې دي او ټولې څپې شنه رنګ لري (که په سمه توګه روان وي).

کارونکي کولی شي د دې سیګنال ملکیتونه په سیګنال کې ښیې کلیک کولو او د ډیټا فارمیټ یا رنګ فارمیټ غوره کولو سره بدل کړي. کارن کولی شي د سیګنالونو ګروپ ترمینځ برخې جوړولو لپاره خالي سیګنال هم دننه کړي. کله چې تاسو مطلوب نظری پایله ولرئ، تاسو کولی شئ خپل تشکیلات د تګ له لارې خوندي کړئ File ← خوندي کول ولیکئ File.

GTKWave Toolbar

د وسیلې پټۍ (شکل 10 وګورئ) کارونکي ته اجازه ورکوي چې د سیګنال لپاره لومړني دندې ترسره کړي. راځئ چې په تول پټه کې له کیڼ څخه ښیې ته د هر اختیار په اړه بحث وکړو.
GTKWave Toolbar

  1. د مینو اختیارونه: د دې اختیار لاندې موږ کولی شو view د سافټویر ټولې مختلفې ځانګړتیاوې چې د سافټویر سره شاوخوا لوبې کولو لپاره کارول کیدی شي. د دې مینو اختیار لاندې توضیحات د دې کارونکي لارښود 8 برخې لاندې پوښل شوي.
  2. نښې پرې کړئ: دا د سیګنال کړکۍ څخه د انتخاب سیګنال ړنګولو/ پرې کولو لپاره کارول کیږي
  3. نقلونه: دا د سیګنال کړکۍ څخه د ټاکل شوي سیګنال کاپي کولو لپاره کارول کیږي
  4. نښې پیسټ کړئ: کاپي شوي / کټ ټریس د سیګنال کړکۍ کې په بل ځای کې پیسټ کیدی شي
  5. زوم فټ: دا د کړکۍ د اندازې مطابق د سیګنالونو فټ کولو لپاره کارول کیږي چې کارونکي یې د ښودلو لپاره غوره کوي
  6. زوم ان: دا د سیګنال کړکۍ د زوم کولو لپاره کارول کیږي
  7. زوم اوټ: دا د سیګنال کړکۍ د زوم کولو لپاره کارول کیږي
  8. زوم بیرته: دا د سیګنال په کړکۍ کې د زوم ان/آؤټ کولو لپاره کارول کیږي
  9. د پیل لپاره زوم: دا به د سیګنال کړکۍ زوم کړي، د سیګنالونو د پیل وخت ښکاره کوي.
  10. زوم تر پایه: دا به د سیګنال کړکۍ زوم کړي چې د سیګنالونو پای وخت ښیې
  11. پخوانۍ څنډه ومومئ: دا مارکر چپ اړخ ته لیږدوي چې پخوانۍ څنډه په ګوته کوي
  12. راتلونکی څنډه ومومئ: دا مارکر ښي لوري ته لیږدوي چې راتلونکی څنډه په ګوته کوي
  13. ښکته/پورته بانډ سکرول کړئ: د دې په کارولو سره موږ کولی شو د وخت چوکاټ تنظیم کړو په کوم کې چې کاروونکي غواړي ښودل شي. د مثال لپارهample، موږ کولی شو د وخت چوکاټ له 0 ثانیو څخه تر 500 ns پورې وټاکو، دا به یوازې د دې مودې لاندې سیګنالونه ښکاره کړي.
  14. بیا پورته کول: ریلوډ فشار ورکول کیږي کله چې په ښودل شوي سیګنال کې بدلون شتون ولري. دا به د نوي پیرامیټونو سره سم سیګنال بیا پورته او ښکاره کړي. د مثال لپارهample، د سیګنال د وخت چوکاټ بدلولو وروسته، موږ اړتیا لرو چې سیګنال بیا پورته کړو ترڅو سیګنال په نوي ټاکل شوي وخت چوکاټ کې ښکاره کړو.

د مینو اختیارونه

د GTKWave سافټویر د کیڼ پورتنۍ کونج څخه، کارونکي کولی شي د دریو عمودی لینونو په کلیک کولو سره د مینو اختیارونو ته لاسرسی ومومي (شکل 11 وګورئ). کارونکي کولی شي د مینو اختیارونو لاندې لاندې اختیارونه ومومي:
د مینو اختیارونه

File

د File فرعي مینو کې د لاسرسي پورې اړوند مختلف توکي شامل دي files، واردول-صادرول VCD files، چاپول، او لوستل/لیکل files او وتل.

سمون

د ترمیم فرعي مینو د مختلف افادیت دندو ترسره کولو لپاره کارول کیږي لکه د څپې فرعي کړکۍ کې د ارزښتونو ډیټا نمایش بدلول. د ایډیټ فرعي مینو لاندې اختیارونو په کارولو سره ، کارونکي کولی شي د سیګنالونو ډیټا فارمیټ بدل کړي ، دوی یې تنظیم کړي ، یې بدل کړي ، کټ یې کړي ، روښانه یې کړي ، ګروپ سیګنالونه ، په سیګنالونو تبصره وکړي ، د سیګنالونو رنګ بدل کړي ، او داسې نور.

د لټون

د لټون فرعي مینو د خالص نومونو او ارزښتونو لټون کولو لپاره کارول کیږي. دا په VCD کې د سیګنالونو او مثالونو په مختلف درجه بندۍ کې دندې ترسره کولو کې مرسته کوي file.

وخت

د وخت فرعي مینو د نیویګیشنونو او د حالت پینل بټونو لخوا ترسره شوي دندو یو سوپر سیټ لري.
دا ساده، د وخت پورې اړوند، دندې لکه زوم کول، یو ځانګړي وخت نقطې ته حرکت کول، په یو ټاکلي لوري کې د سیګنال لیږدول، او داسې نور.

مارکر

د مارکر فرعي مینو په مارکر کې د مختلف لاسوهنو ترسره کولو او همدارنګه د آف سکرین کنټرول سکرول کولو لپاره کارول کیږي.
دا د سیګنال کړکۍ کې د ډیری مارکرونو اضافه کولو فعالیت فعالوي. د 26 نومونو اعظمي حد ته اجازه ورکول کیږي او د ټولو لپاره وختونه باید توپیر ولري.

a. د سیګنال کړکۍ کې د مارکرونو اضافه کولو لپاره
په مطلوب ځای کې کیڼ کلیک وکړئ چیرې چې تاسو غواړئ مارکر ځای په ځای کړئ او ALT + N فشار ورکړئ. دا به په اړین ځای کې نومول شوي مارکر (A, B, C, etc.) ځای په ځای کړي. کارن کولی شي د 26 مختلف وخت ځایونو لپاره دې کار ته دوام ورکړي.
په ټولو ځایونو کې د وخت ارزښت پرتله کولو لپاره مارکر، مینو → مارکر → د مارکر بدلولو ډاټا ښودل.
دا به په هر مارکر کې د وخت ارزښت سره یوه کړکۍ پرانیزي. کاروونکی کولی شي په لاسي ډول د هر ځای په ځای شوي مارکر کې د وخت ارزښت یاد کړي او د 2 مارکرونو ترمینځ د وخت توپیر محاسبه کولو لپاره یې کم کړي.
b. د سیګنال کړکۍ کې د مارکر لرې کولو لپاره

کاروونکي کولی شي مینو ته لاړ شي → مارکرونه → نومول شوي مارکر راټول کړئ. دا به د سیګنال کړکۍ کې ایښودل شوی وروستی نوم مارکر لرې کړي. کاروونکي کولی شي ټول نومول شوي مارکرونه د مینو → مارکرز → ټول نومول شوي مارکر راټول کړي (شکل 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
لوګو

اسناد / سرچینې

RENESAS ForgeFPGA سافټویر سمولیشن [pdf] د کارونکي لارښود
REN_r19us0011eu0100, ForgeFPGA سافټویر سمولیشن, ForgeFPGA سافټویر, ForgeFPGA, ForgeFPGA سمولیشن, سافټویر سمولیشن, سمولیشن, سافټویر

حوالې

یو نظر پریږدئ

ستاسو بریښنالیک پته به خپره نشي. اړین ساحې په نښه شوي *