Till KTH:s startsida Till KTH:s startsida

Ändringar mellan två versioner

Här visas ändringar i "Testbänk i ModelSim (sw)" mellan 2014-11-05 14:31 av William Sandqvist och 2014-11-05 14:38 av William Sandqvist.

Visa < föregående | nästa > ändring.

Testbänk i ModelSim (sw)

Testbänk i ModelSim [IMAGE]¶

[IMAGE] testbench.pdf¶

Välj rätt programversion - i skolan finns flera olika installerade under startmenyn! ¶

Altera 13.0.1.232 Web edition\ ModelSim-Altera Starter Edition 13.0.1.232\ ModelSim-Altera 10.1d(Quartus II 13.0sp1) ¶

Starta ModelSim.¶

[IMAGE]¶

Klicka på Jumpstart. Denna gång väljer vi länken "Open Project" för att fortsätta med det gamla MAXsim-projektet.¶

[IMAGE]¶

Testbänken Förutom VHDL-koden för låset, behöver vi nu ytterligare en VHDL-fil för testbänkskoden.¶



[IMAGE]¶

Skapa en ny tom VHDL-fil. Kopiera och klistra in innehållet från den givna filen tb_lockmall.vhd och spara sedan filen under samma namn, tb_lockmall.vhd, bland de övriga filerna i projektet.¶

Alternativt kan man kopiera över hela filen tb_lockmall.vhd till mappen med de övriga filerna i projektet.¶

[IMAGE] tb_lockmall.vhd (tb_lockmall.txt)¶

Lägg till VHDL-filen till projektet¶

[IMAGE]¶

[IMAGE]¶

Projektet har nu två filer. Filen tb_lockmall.vhd är inte kompilerad ännu, vilket syns på det blåa frågetecknet.¶

[IMAGE]¶

Välj menyvalet Compile och alternativet Compile All. Nu kompileras filen tb_lockmall.vhd. Av innehållet i den filen framgår att den styr codelock.vhd, så det är därför den har det högsta ordningsnumret.¶

[IMAGE]¶

Ladda Designen till simulatorn.¶

Vi vill att testbänkens meddelanden ska visas (som pilar) överst i Wave-fönstret. Därför skriver vi i Transcript-fönstret:¶

vsim -msgmode both -displaymsgmode both tb_codelock¶

Därefter lägger man till signalerna i Wave-fönstret.¶

add wave *¶

Starta simuleringen¶

I filen tb_codelock.vhd står raden clk <= not clk after 10 ns;. Den skapar de klockpulser med periodtiden 20 ns som vi använt tidigare.¶

[IMAGE]¶

Vi kan direkt starta simuleringen med kommandot run 3us i Transcript-fönstret. Tiden 3 μs räcker för att prova igenom alla tänkbara tangent-tryckningskombinationer.¶

I Transcript-fönstret kan vi läsa det uppmuntrande budskapet Note: Lock tries to open for the right sequence!. I Wave-fönstret väljer man View, Zoom, och Zoom Full och kan då se hela förloppet.¶

[IMAGE]¶

De gröna pilarna visar när den önskade händelsen händer! Avsluta nu simuleringen.¶



[IMAGE] [IMAGE] ¶

Avslöja den felaktiga koden! [IMAGE]¶

Nu gäller det att i Project-fönstret dubbelklicka på filen codelock.vhd så att den visas i texteditorn och där går att förändra. Kopiera och klistra in innehållet från filen lockmall_with_error.vhd. Spara sedan filen under samma namn som tidigare och kompilera om allt.¶

[IMAGE] lockmall_with_error.vhd (lockmall_with_error.txt)¶

Simulera sedan på samma sätt som tidigare. I Transcript-fönstret kan Du läsa meddelanden från testbänken när önskade eller oönskade händelser sker.¶

Den röda pilen i Wave-fönstret visar när den oönskade händelsen händer!¶

[IMAGE]¶

VHDL-testbänksfilen Du behöver naturligtvis inte kunna skriva en VHDL-testbänksfil efter en kort första kurs om Digital Design. Tag ändå tillfället i akt att gå igenom filen och se om Du kan förstå hur den är tänkt!¶