RENESAS ForgeFPGA програм хангамжийн загварчлал

RENESAS ForgeFPGA програм хангамжийн загварчлал

Чухал мэдээлэл

Симуляци гэдэг нь RTL код нь төлөвлөсөн байдлаар ажиллаж байгаа эсэхийг шалгахын тулд өөр өөр оролтын өдөөлтийг дизайнд өөр өөр цаг үед хэрэглэх арга юм. Энэ нь дизайны бат бөх байдлыг шалгахад ашиглагддаг. Симуляци хийх боломжийг хэрэглэгчдэд олгодог view дизайн дахь дизайны тодорхойлолтыг хэрхэн ойлгохын тулд холбогдох дохионы цаг хугацааны диаграмм file биеэ авч явдаг.

Testbenches нь симуляцид хэрэглэгддэг кодын хэсэг юм. Энгийн testbench нь туршилтын нэгжийг (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) хэсгийг сонгоод Forge Workshop-ыг нээнэ үү (Зураг 2-ыг үз).
Icarus Verilog суулгаж байна

d. Дээд талын самбарын дунд байрлах FPGA Editor дээр дарна уу эсвэл хэрэглэгч цонхны дунд байрлах FPGA Core бүтэц дээр давхар товшиж болно.
Icarus Verilog суулгаж байна

e. Forge Workshop нэртэй шинэ цонх нээгдэнэ. Дээд талын цэсийн хэрэгслийн самбараас Сонголт → Тохиргоо дээр дарна уу. Тохиргоо харилцах цонхны Хэрэглэгчийн Тохиргоо табын хэрэглүүр рүү очно уу. Icarus Verilog болон GTKWave хоёрын аль алинд нь "системийн орчныг ашиглах" гэсэн сонголтыг арилга. Өөрийн системд хадгалагдсан Iverilog болон GTKWave-ийн замыг өгөгдсөн зайд нэмнэ үү (Зураг 4-ийг үз).
Icarus Verilog суулгаж байна

Та бүгд testbench-ийг дуурайхаар тохируулсан бөгөөд дээрх алхмууд нь Go Configure программ хангамж дээр testbench-ийг дуурайлган дуурайлган хийх үед GTKWave автоматаар ажиллаж байгааг баталгаажуулна.

Туршилтын тавцан

Аливаа системийг амжилттай хэрэгжүүлэх хамгийн чухал алхам бол дизайн, түүний ажиллагааг шалгах явдал юм. Техник хангамжийг хэрэгжүүлсний дараа нарийн төвөгтэй системийг шалгах нь ухаалаг сонголт биш юм. Энэ нь мөнгө, цаг хугацаа, нөөцийн хувьд үр дүнгүй юм. Тиймээс, FPGA-ийн хувьд Verilog эх кодыг шалгахын тулд testbench ашигладаг.

Бидэнд 11 битийн оролт байна гэж бодъё, бид төхөөрөмжийг бүх боломжит оролтын хослолын утгуудын хувьд шалгахыг хүсч байна, өөрөөр хэлбэл (211). Энэ бол маш олон тооны хослол учраас гараар турших боломжгүй юм. Ийм тохиолдолд туршилтын самбар нь маш ашигтай байдаг, учир нь та дизайныг бүх боломжит утгуудын хувьд автоматаар шалгах боломжтой бөгөөд ингэснээр туршилтын дизайны найдвартай байдлыг баталгаажуулах боломжтой. Verilog Testbenches нь ямар ч физик төхөөрөмж ашиглахгүйгээр дизайныг дуурайж, дүн шинжилгээ хийхэд ашиглагддаг.

Туршилтанд хамрагдаж буй загвар нь DUT гэж товчилсон бөгөөд бидний туршихыг хүсч буй функцүүдийн нийлэгждэг модуль юм. Өөрөөр хэлбэл, энэ нь бидний туршиж үзэхийг хүсч буй хэлхээний загвар юм. Бид Verilog дахь Gate-level, Dataflow эсвэл Behavioral гэсэн гурван загварчлалын аль нэгийг ашиглан DUT-ээ дүрсэлж болно.

Testbench нь нийлэгждэггүй, тиймээс үүнийг зөвхөн загварчлалын зорилгоор ашигладаг. Энэ нь хэрэглэгчдэд Verilog-ийн иж бүрэн бүтцүүдийг ашиглах боломжийг олгодог, тухайлбал “for”, “$display” болон “$monitor” гэх мэт түлхүүр үгсийг тест бичихэд ашигладаг. Энгийн testbench нь туршилтанд хамрагдсан нэгж (UUT) эсвэл төхөөрөмжийн туршилтыг (DUT) үүсгэж, оролтыг хөтлөх болно.

Testbench-ийн тухай ойлголт

Testbench-ийн тухай ойлголт

Testbench дээрх цагийн хуваарийн тодорхойлолт

Загвар хийхдээ програм хангамж нь цагийг хэрхэн тодорхойлсоныг мэдэх шаардлагатай. Сааталын нэгжийг `цаг хугацааны удирдамжийг ашиглан зааж өгсөн бөгөөд энэ нь цагийн нэгж болон түүнийг дагаж мөрдөх модулиудын нарийвчлалыг тодорхойлдог. Цагийн хуваарь нь №1 нь цаг хугацааны хувьд ямар утгатай болохыг тодорхойлоход тусалдаг. # нь цагийн хуваарьт заасан цагийн нэгжийн дагуу системд нэвтрүүлэх саатлыг тодорхойлоход хэрэглэгддэг. Тэгэхээр, #1 нь хэрэв цаг_нэгж нь ns-д байвал 1 ns саатал гэсэн үг.

Синтакс:
`цаг хугацааны хуваарь / /

time_unit нь №1-ийн саатлыг илэрхийлэх хугацаа юм. Хугацааны_нарийвчлалын суурь нь цаг хугацааны нэгжтэй харьцуулахад нарийвчлалын хэдэн аравтын цэгийг ашиглахыг илэрхийлдэг. (Зураг 23-ын 5-р мөрийг үзнэ үү)

Бид ижил загварт өөр өөр цаг хугацааны нэгжийг ашиглахын тулд цагийн хуваарийн бүтцийг ашиглаж болно. Хэрэглэгч саатлын үзүүлэлтүүдийг нэгтгэх боломжгүй бөгөөд техник хангамжийн логик руу хөрвүүлэх боломжгүй гэдгийг санах хэрэгтэй. Саатуулах функцууд нь бүхэлдээ загварчлалын зориулалттай. долларцаг болон $бодит цаг хугацаа системийн функцууд нь одоогийн цагийг буцаадаг бөгөөд өгөгдмөл тайлангийн форматыг өөр системийн даалгавраар өөрчилж болно $timeformat .

Exampле: 

`хугацаа 10us/100ns
` цагийн хуваарь 1ns/1ps
#10 дахин тохируулах = 1; // дохиог 10 нс-ээр хойшлуулна
#0.49 $дэлгэц(“T = %0t цаг #0.49”, $realtime) ;

Заасан саатал нь #0.49 бөгөөд энэ нь нэгж хугацааны хагасаас бага байна. Гэсэн хэдий ч цаг хугацааны нарийвчлалыг 1ps гэж тодорхойлсон тул симулятор нь 1 ns-ээс бага байж болохгүй, энэ нь өгөгдсөн саатлын мэдэгдлийг дугуйлж, 0 ns-ийг өгдөг. Тиймээс, энэ мэдэгдэл ямар ч саатал гаргаж чадахгүй.

Симуляцийн бүртгэл: 

T = 1 цаг №0.49

Модулийн мэдэгдэл

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

Синтакс: 

модуль ;

Модулийн мэдэгдлийн дараа үндсэн загварт өмнө нь тодорхойлсон оролт, гаралтын дохиог тодорхойлно. file.
Бид симуляцийн үед жолоодох, хянах дохионы хоёр төрлийг ашигладаг. Reg өгөгдлийн төрөл нь шинэ утга оноох хүртэл утгыг хадгална. Энэ өгөгдлийн төрөлд зөвхөн үргэлж эсвэл эхний блокт утгыг оноож болно.
Утасны өгөгдлийн төрөл нь физик холболттой адил юм. Энэ нь порт, оноох мэдэгдэл эсвэл reg-ээр удирддаг утгыг агуулна. Энэ өгөгдлийн төрлийг анхдагч эсвэл үргэлж блоконд ашиглах боломжгүй. Аливаа параметр болон бүхэл тооны мэдэгдлийг мөн энэ хэсэгт хийнэ.

Exampле:
Reg a,b; // HDL кодын оролтыг testbench дээрх reg гэж тодорхойлсон
утас y; // HDL дэх гаралтын дохио нь testbench дээрх утас гэж тодорхойлогддог

DUT Instantiation

Туршилтын зорилго нь манай 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-ийн загварчлалыг мөн хийж болно. Дохио үүсгэх үед хамгийн чухал зүйл бол дохионы зөв зураглал юм.

Example: 

ALU d0 (.a(A), // ALU дахь "a" дохио нь ALU_tb модулийн "A"-д холбогдсон байх ёстой
.clk(цаг), // ALU дахь "clk" дохио нь "цаг" ALU_tb модульд холбогдсон байх ёстой.
.out(OUT)); // ALU дахь "гарах" дохио нь ALU_tb модулийн "OUT"-д холбогдсон байх ёстой

Always & Initial Block in a Testbench

Verilog-д эхний ба үргэлж гэсэн хоёр дараалсан блок байдаг. Эдгээр блокуудад бид өдөөгчийг ашигладаг.

Анхны блок

Эхний блок нь зөвхөн нэг удаа хийгдэх бөгөөд блокийн сүүлчийн мөрийг гүйцэтгэх үед дуусгавар болно. Өдөөгчийг эхний блокт бичнэ. (Зураг 54 дахь 72-5 мөрийг үзнэ үү)

Синтакс:
..
анхны эхлэл
$dumpfile();
$dumpvars();
..(өдөөлт оруулах)
төгсгөл

анхны блок нь загварчлалын эхэнд t = 0 үед гүйцэтгэлээ эхэлдэг. Эхлэл ба төгсгөлийн хоорондох эхний мөрөөс эхлэн мөр бүр саатал хүрэх хүртэл дээрээс доошоо гүйцэтгэнэ. Сааталд хүрсэн үед энэ блокийн гүйцэтгэл саатал (10 цагийн нэгж) дуусах хүртэл хүлээгдэж, дараа нь гүйцэтгэлийг дахин эхлүүлнэ.
Хэрэглэгч бүх хослолыг гараар оруулахын оронд энэ эхний блок дотор гогцоо (for, while, if-else) ашиглан өдөөгчийг тодорхойлж болно.
Анхны блок

 

Example:
Анхны эхлэл
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”);

a-д өөрчлөлт оруулах болно file alu_tb.vcd нэртэй. Өөрчлөлтүүдийг a-д тэмдэглэнэ file VCD гэж нэрлэдэг file Энэ нь үнэ цэнийн өөрчлөлтийн дамп гэсэн үг юм. VCD (утга өөрчлөлтийн дамп) нь үнэ цэнийн өөрчлөлтийн талаарх бүх мэдээллийг хадгалдаг. Бид нэгээс илүү $dump байж болохгүйfile Verilog симуляцийн мэдэгдлүүд.

долларбанш нь ямар хувьсагчийг хаяхыг тодорхойлоход хэрэглэгддэг ( file $dump-ийн дурдсанfile). Үүнийг ашиглах хамгийн энгийн арга бол ямар ч маргаангүй юм. $dumpvars-ийн ерөнхий синтакс нь

$банш ( <, >);

Бид үндсэндээ аль модулиуд, модулийн аль хувьсагчийг хаяхыг зааж өгч болно. Үүнийг ашиглах хамгийн энгийн арга бол түвшинг 0 болгож, модулийн нэрийг дээд модуль болгон тохируулах явдал юм (ихэвчлэн дээд тестийн модуль).

$банш(0, alu_tb);

Түвшинг 0 болгож, зөвхөн модулийн нэрийг зааж өгсөн тохиолдолд тухайн модулийн БҮХ хувьсагч болон энэ дээд модулиар үүсгэсэн доод түвшний БҮХ модулиудын бүх хувьсагчдыг устгана. Хэрэв ямар нэг модуль энэ дээд модулиар үүсгэгдээгүй бол түүний хувьсагч хамрагдахгүй. Бас нэг зүйл бол долларын мэдүүлэгхогийн цэгfile $dumpvars эсвэл dump-ийг тодорхойлсон бусад системийн даалгавруудын өмнө ирэх ёстой. Эдгээр хог хаягдал files-г өдөөгч оруулахаас өмнө зарлах ёстой бөгөөд эдгээр хогийн цэгт ямар ч утга хадгалагдахгүй files.

Үргэлж блоклох

Анхны мэдэгдлүүдээс ялгаатай нь үргэлж блок нь t = 0 үед эхэлдэг ч гэсэн байнга ажилладаг.ample, цагны дохио нь Flip-flops гэх мэт дараалсан хэлхээг ажиллуулахад зайлшгүй шаардлагатай. Үүнийг тасралтгүй нийлүүлэх шаардлагатай. Тиймээс бид туршилтын ширээний цагийг ажиллуулах кодыг дараах байдлаар бичиж болно (Зураг 52-ын 5-р мөрийг үзнэ үү):

үргэлж
#10 clk = ~clk;
төгсгөлийн модуль

Дээрх мэдэгдлийг t = 10-ээс эхлэн 0 ns-ийн дараа гүйцэтгэнэ. clk-ийн утга өмнөх утгаас 10 ns-ийн дараа урвуу болно. Тиймээс 20 ns импульсийн өргөнтэй цагийн дохиог үүсгэдэг. Тиймээс энэ мэдэгдэл нь 50 МГц давтамжтай дохио үүсгэдэг. Дохио эхлүүлэх нь үргэлж блокоос өмнө хийгддэг гэдгийг анхаарах нь чухал юм. Хэрэв бид эхлүүлэх хэсгийг хийхгүй бол clk дохио нь t – 0-ээс x байх ба 10 ns-ийн дараа өөр x руу урвуу болно.

Өөрийгөө шалгах тест

Өөрийгөө шалгах тест нь одоогийн төлөвийг шалгах мэдэгдлийг агуулдаг.

  • $харуулах системийн даалгавар нь загварчлалын урсгалыг хянахын тулд дибаг хийх мессежийг харуулахад голчлон ашиглагддаг

анхны эхлэл
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)
$дэлгэц (“010 амжилтгүй болсон”); //шалгах
төгсгөл
төгсгөлийн модуль

$харуулах хувьсагч, мөр, илэрхийллийн утгыг харуулахад ашигладаг. Дээрх эксээсample, if-else давталтын аль нэг нь хангагдсан үед симуляторын бүртгэл өөрийн $-г харуулах болно.харуулах мэдэгдэл. Мөрүүдийн төгсгөлд анхдагчаар шинэ мөр байдаг.

$харуулах (“цаг = %t , A = %b, B = %b, C = % b”, $цаг, A, B, C);

Ишлэлд дурдсан тэмдэгтүүдийг байгаагаар нь хэвлэнэ. %-ын хамт үсэг нь мөрийн форматыг илэрхийлнэ. Бид хоёртын өгөгдлийг илэрхийлэхийн тулд %b ашигладаг. Бид %d, %h, %o-г аравтын, 16-лаат, наймтыг тус тус төлөөлөх боломжтой. %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-д зориулагдсан. files түүнчлэн стандарт VCD/EVCD files ба зөвшөөрнө viewing. Түүний албан ёсны webсайт дээр байна http://gtkwave.sourceforge.net/ . GTKWave ашиглахыг зөвлөж байна viewIcarus Verilog симуляцийн хэрэглүүр.

Хэрэглэгч дизайны функцийг шалгах тестийн самбарыг амжилттай үүсгэсний дараа хэрэглэгч одоо GTKWave програмыг ашиглаж болно. view долгионы хэлбэрүүд.

GTKWave програмыг эхлүүлэхийн тулд view Долгион хэлбэрийн хувьд хэрэглэгч багаж самбарын дээд талд байрлах Simulate Testbench товчийг дарах эсвэл үндсэн цэсний Tools→ Simulation→ Simulation Testbench дээр дарах шаардлагатай. Хэрэв синтаксийн алдаа байхгүй бол дизайнаас хамааран GTKWave автоматаар эхлэх эсвэл тестийн самбар дээрх өдөөлтийн үр дүнг цонхны Бүртгэлийн хэсэгт харуулах болно.

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 Дэд цэс нь хандахтай холбоотой янз бүрийн зүйлийг агуулдаг files, импортлох-экспортлох VCD files, хэвлэх, унших/бичих files ба гарч байна.

Засварлах

Засварлах дэд цэс нь долгионы дэд цонхон дахь утгуудын өгөгдлийн дүрслэлийг өөрчлөх гэх мэт төрөл бүрийн туслах функцийг гүйцэтгэхэд ашиглагддаг. Засварлах дэд цэсэн дэх сонголтуудыг ашиглан хэрэглэгч дохионы өгөгдлийн форматыг өөрчлөх, дахин цэгцлэх, шилжүүлэх, тайрах, тодруулах, дохиог бүлэглэх, дохионы талаар тайлбар хийх, дохионы өнгийг өөрчлөх гэх мэт боломжтой.

хайх

Хайлтын дэд цэсийг сүлжээний нэр болон утгууд дээр хайлт хийхэд ашигладаг. Энэ нь VCD дахь дохио, тохиолдлын шатлалын янз бүрийн түвшинд функцуудыг гүйцэтгэхэд тусалдаг file.

Цаг хугацаа

Цагийн дэд цэс нь Navigations болон Status Panel товчлууруудын гүйцэтгэсэн функцүүдийн дээд багцыг агуулдаг.
Энэ нь томруулах, тодорхой цаг руу шилжих, дохиог тодорхой чиглэлд шилжүүлэх гэх мэт энгийн, цаг хугацаатай холбоотой функцуудыг идэвхжүүлдэг.

Тэмдэглэгч

Тэмдэглэгээний дэд цэсийг тэмдэглэгээн дээр янз бүрийн үйлдэл хийх, дэлгэцээс гадуур гүйлгэхийг удирдахад ашигладаг.
Энэ нь дохионы цонхонд олон тооны тэмдэглэгээ нэмэх функцийг идэвхжүүлдэг. Хамгийн ихдээ 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-ийн хамт долгионы хэлбэрийг харуулах, үр дүнг ажиглахад ашиглах.

Хяналтын түүх

Хяналт Огноо Тодорхойлолт
1.00 20 оны тавдугаар сарын 2024 Анхны хувилбар.

R19US0011EU0100 Rev.1.0
20 оны тавдугаар сарын 2024
© 2024 Renesas Electronics
Лого

Баримт бичиг / нөөц

RENESAS ForgeFPGA програм хангамжийн загварчлал [pdf] Хэрэглэгчийн гарын авлага
REN_r19us0011eu0100, ForgeFPGA програм хангамжийн симуляци, ForgeFPGA програм хангамж, ForgeFPGA, ForgeFPGA симуляци, програм хангамжийн загварчлал, симуляци, програм хангамж

Лавлагаа

Сэтгэгдэл үлдээгээрэй

Таны имэйл хаягийг нийтлэхгүй. Шаардлагатай талбаруудыг тэмдэглэсэн *