Ändringar mellan två versioner
Här visas ändringar i "Testbänk i ModelSim (sw)" mellan 2014-11-05 14:39 av William Sandqvist och 2014-11-05 14:44 av William Sandqvist.
Visa < föregående | nästa > ändring.
Testbänk i ModelSim (sw)
sw Testbänk i ModelSim
[IMAGE]pdf 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!