PDF-Verilog-XL

Transkrypt

PDF-Verilog-XL
Cadence LDV 5.0
Logic Design and Verification 5.0
Składa się z:
§ Logic simulators: Verilog-XL,
NC Verilog/VHDL/SystemC,
§ Analog Mixed Signal Designer:
VHDL AMS/Verilog AMS
§ Fault simulation: Verifault-XL
§ Analysis tools: HDL style, Code Coverage,
Assertion-Based Verification
Symulator Verilog®-XL
Jest to narzędzie programowe umożliwiające prowadzenie
następujących zadań w procesie projektowania bez
konieczności budowania prototypu:
§Określanie możliwości nowych rozwiązań
projektowych,
§Próbowanie więcej niż jednego podejścia
do problemu,
§Weryfikowanie działania,
§Identyfikowanie błedów.
Aby zastosować Verilog-XL należy zbudować modele
opisujące projekt i jego środowisko w języku Verilog® HDL.
Modele te muszą być umieszczone w plikach podawanych
jako wejście symulatora.
Podstawowe cechy Verilog-XL
Verilog-XL dostarcza następujących możliwości:
§Ustawianie punktów-przerw w cazsie symulacji, które zatrzymują symulację i
pozwalają przejść do pracy interaktywnej dla debugowania i śledzenia projektu,
§Wyświetlanie informacji o bieżącym stanie projektu i określanie formatu tej
informacji,
§Dostarczanie wymuszenia w czasie symulacji,
§Rozbudowywanie obwodu w czasie symulacji,
§Śledzenie wykonania poleceń w modelu w czasie ich wykonywania,
§Wędrowanie po hierarchii modelu do różnych jego miejsc w celu badania stanu
symulacji w różnych regionach projektu,
§Kroczenie przez kolejne polecenia projektu i wykonywanie ich,
§Wyświetlanie aktywnych poleceń w projekcie,
§Wyświetlanie i dezaktywowanie operacji wprowadzonych w pracy ineraktywnej,
§Czytanie danych z pliku i zapisywanie danych do pliku,
§Zachowywanie bieżącego stanu symulacji w pliku i przywracanie go w innej
sesji,
§Badanie trafności decyzji odnośnie architektury projektu,
§Modelowanie stochastyczne,
§Prowadzenie symulacji w środowisku graficznym analizy SimVision.
Wywołanie Verilog-XL
Dla przeprowadzenia kompilacji i symulacji projektu należy napisać obok promptu:
verilog <lista_plików> <opcje>
<lista_plików>
- pliki, zawierające opis projektu w Verilogu; ich
kolejność może być dla kompilatora ważna;
<opcje>
- opcje mogą być wbudowane (z pauzą – lub z plusem +) lub definiowane
przez użytkownika (zawsze z plusem +);
Komiplacja
Po wywołani Verilog-XL analizuje tekst źródłowy i sprawdza jego syntaktyczną i
semantyczną poprawność. Kompilator przechodzi przez trzy fazy w celu
wygenerowania struktur danych potrzebnych do symulacji.
Faza 1
Wczytywanie opisu. Błędy syntaktyczne są wyświetlane z podaniem numeru linii i
numeru błędu.
Faza 2
Moduły są łączone wzajemnie z uwzględnieniem ich hierarchii. Dla modułów
urealnianych wielokrotnie konieczne jest wykreowania oddzielnych struktur danych
dla każdego urealnienia. Błędy połączeń końcówek modułów są raportowane.
Faza 3
Wygenerowana uprzednio struktura danych jest skanowana i sprawdzana pod
względem spójności. Rozwiązywane są odwołania do nazw hierarchicznych.
Raportowane są błędy gdy składnik nazwy hierarchicznej nie pasuje do ścieżki w
całej strukturze projektu.
Opcje linii komend
Opcje linii komend
Jest ich 17. Niektóre:
-c (Compile Only) - text źródłowy jest tylko kompilowany bez symualcji. Używane do
sprawdzanie syntaktycznej poprawności modelu.
-d (Decompile Option) – przeprowadzana jest dekompilacja struktury danych
wygenerowanej w kompilacji i łączeniu i zachowanej w pliku. Używane gdy utracono pliki
źródłowe a zachowała się postać skompilowana.
-f <nazwa_pliku> (File Option) – Plik tekstowy, którego nazwa jest podawana po tej
opcji zawiera nazwy plików źródłowych z opisem projektu i opcje linii komend Verilog-XL.
Opcja ta może być zagnieżdżana 1024 razy. Musi być jedyną opcją w wywołaniu.
-i <nazwa_pliku>
(Interactive File Option) – wczytuje komendy z pliku i otwiera
prompt do pracy interaktywnej. Opcja ta wczytuje tylko jeden plik tzn. może być użyta w
linii komend tylko jeden raz.
-s (Stop Option) - inicjuje wejście do pracy interaktywnej natychmiast po skończonej
kompilacji. Aby wczytać plik pracy interaktywnej za pomocą opcji –i, opcja -s musi być
użyta w tej samej linii. Jeśli jej nie ma to musi byś zastosowane zadanie systemowe $stop w
pliku źródłowym. Opcja ta nie daje efektu gdy opis źródłowy nie generuje zdarzeń
proceduralnych.
Opcja -f
Przykład jak uruchomić Verilog-XL dla konkretnego projektu i ze standardowym zestawem
opcji linii komend i konkretną bibloteką:
verilog -f project1.vc -f user.vc
Plik project1.vc jest centralnym plikiem bibliotecznym projektu:
/*konwencje projektu sprzętu project1*/
+sxl_keep_all
//keeps channel-connected nets
+incdir+/net/switches
//symulator przeszukuje ten katalog
+delay_mode_unit
//use unit delay mode
Plik user.vc jest lokalnym plikiem opcji użytkownika:
/* moje zwykle używane opcje */
-l design.log
//nazwa pliku loga
-k design.key
//nazwa pliku
-i run1000.vi
//plik początkowy
//$stop lub opcja -s
-f cpu.vc
//symuluj projekt cpu
Plik cpu.vc zawiera:
cpu_netlist.v -f lib.vc
Plik lib.vc zawiera:
array_lib_version2.v
//biblioteka komórek standardowych
joe_alu.v
//model ALU napisany przez Joe
Verilog-XL przy pierwszym wejściu w pracę interakcyjną tworzy plik key file. Plik ten
notuje cały tekst, który jest wprowadzany przez standardowe wejście. Plik ten użyty
następnie wraz opcją -i umożliwia dokładne powturzenie całej symulacji. The syntax is as
follows:
$key("<filename>");
$key;
$nokey;
The $nokey and $key system tasks are used to disable and re-enable output to the key file.
The $nokey task disables output to the key file, while the $key task re-enables the output.
If you supply an optional filename to $key, then the old key file is closed, a new key file is
created, and output is directed to the new file. The default key filename is verilog.key,
which can be changed by the -k command option, as in the following example:
verilog src1.v -k src1.key
The above invocation changes the name of the key file to src1.key. Use this method to
provide a unique name for each key file you intend to keep. Otherwise, with each new run,
Verilog-XL overwrites any previously created key file that uses the default name
verilog.key.
Interaktywne odtworzenie
The key file, the -i input file option, the $save task, and the -r restart file option together
provide a very powerful interactive recovery mechanism.
Whenever Verilog-XL runs, two files are generated—a log file and a key file. The log file
contains all of the text that has been printed to the standard output. Similarly, the key file
contains all the text that has been entered interactively. (By default, the key file is named
verilog.key, but this name can be changed at invocation using the -k option.) The key file can
be used in a subsequent run of Verilog-XL to perform an exact ‘replay’ of the simulation run
and interactive dialogue, including any asynchronous interrupts. For example, suppose that
you start Verilog-XL with the following invocation command:
verilog example.v -s
The -s option directs Verilog-XL to pause for interactive input before performing any
simulation. Suppose that you enter some interactive commands and then resume the
simulation using the continue command. When the simulation is completed, you could replay
this run using Verilog-XL’s interactive recovery mechanism. To do so, you must first save
the key file under another name (say to example.key) as under the UNIX operating system,
Verilog-XL overwrites the key file in every run. Then you can use the following invocation
command to replay the previous run:
verilog example.v -si example.key
Here, the -s option tells Verilog-XL to enter interactive mode immediately following
il i
d h i
i
ll
il
h i
i
d
Opcje linii komend - c.d.
-k (Key File Option) - changes the default key filename (verilog.key) to the name you
specify following the -k option. A key file contains standard input
Opcje linii komend z plusem
Definiowane opcje linii komend
This feature allows you to test for command-line arguments within your Verilog
HDL source description or within user tasks linked through the PLI. This provides
you with a way to change the behavior of the simulation at invocation time.
You can only check for the plus (+) options; you cannot check for the standard
command line (-) options. Each of these arguments is preceded by a plus (+)
character. You can specify any string preceded by a plus on the command line
and test for it in the source description or user tasks, thus creating a new option.
verilog source1.v +reset
The Verilog HDL source description contained in file source1.v can test for the plus
argument as shown in the following example:
initial
if ($test$plusargs("reset"))
begin
reset = 1;
#100 reset = 0;
end
else
reset = 0;

Podobne dokumenty