Tag: system-verilog

SystemVerilog ist eine einheitliche hardware-design, Spezifikation und Verifikation Sprache basiert auf Erweiterungen Verilog.

UVM: illegale Kombination von Fahrer-und verfahrensrechtlichen Zuordnung Warnung

Anzahl der Antworten 1 Antworten
Habe ich ein UVM testbench für einen kleinen block in meinem chip. In diesem gibt es einen Agenten mit einem Treiber, der Festplatten-Daten auf einem virtuellen interface, die wie folgt aussieht: interface my_if (input bit clk); logic

System-Verilog-Gabel Verwirrung, - Anweisungen ausgeführt, die zwischen Gabel und beginnen

Anzahl der Antworten 2 Antworten
Sehen das vereinfachte Beispiel-code hier: process job[num_objs]; //assume also, arr_obj1s (array of type obj1) and //arr_obj2s (array of type obj2) are arrays of size //num_objs, and the objects define a run() function foreach (arr_obj1s[i]) begin fork automatic

Bitte erläutern Sie diese SystemVerilog syntax {>>byte{...}}

Anzahl der Antworten 2 Antworten
Die Antwort für das folgende Programm ist {6,7,8} aber ich verstehe nicht, warum, erläutern Sie bitte ein bit: module q (); typedef byte byteq[$]; initial begin byte ans[$]; ans = byteq'({>>byte{24'h060708}}); $display("A:expect '{6,7,8} get %p", ans); end

Verwendung der $Vergangenheit im System Verilog Assertions

Anzahl der Antworten 1 Antworten
Möchte ich prüfen, ob der aktuelle Wert der variable ist "1", dann den vorherigen Wert der variable sollte '0'. Ich bin mit $Vergangenheit im System Verilog Assertions. Hier bin ich die Kontrolle, wenn cal_frame_mode=1, dann ist der

Verilog binären neben

Anzahl der Antworten 1 Antworten
Binäre zusätzlich auf A und B - und-Ausgänge zusammen mit der richtigen carry-bit. Ich bin mir nicht sicher, wie Sie Sie implementieren das carry-bit A und B sind 4 bit Eingänge C 1-bit-Ausgabe, die verwendet wird für

Modelsim-Unterstützung für die SV

Anzahl der Antworten 3 Antworten
Ich bin derzeit mit modelsim 5.8 SE e. Es spielt keine Unterstützung für SystemVerilog. Ich brauche für die Verwendung von SystemVerilog für das design und die Validierung von meinem Projekt. Eine Idee, welche version von Modelsim unterstützt

Beste Weg, um Zugriff auf die uvm_config_db aus der testbench?

Anzahl der Antworten 2 Antworten
Ich möchte eine Uhr in meiner top-level-testbench, deren Periode gesteuert werden können, von der Prüfung aus. Was ich Tat, war, den Zeitraum festlegen, in dem uvm_config_db und bekommen es zurück in die testbench. Ich musste in einem

Die Berechnung der Quadratwurzel

Anzahl der Antworten 2 Antworten
Ich den code schreiben, berechnen perfektes Quadrat der Zahl, aber ich bin nicht immer die korrekte Ausgabe. Ich nehme input b - und regs a, d. Erstens, lege ich 1 im d, dann Platz es aus und

Wie kann ich mit foreach und Gabel zusammen etwas zu tun, was parallel?

Anzahl der Antworten 4 Antworten
Diese Frage ist nicht UVM spezifisch, aber das Beispiel, das ich arbeite, ist UVM Verwandte. Ich habe ein array von Agenten in meinem UVM Umwelt und die würde ich gerne zum starten einer Sequenz auf alle parallel.

Aufruf $dumpvars() aus Aufgabe

Anzahl der Antworten 2 Antworten
Gibt es eine Möglichkeit zu nennen $dumpvars, $dumpon $dumpoff aus dem Körper() für eine Sequenz ? Es ist möglich, von einer Modul-task. Muss ich Steuern $dumpon $dumpoff, so dass der dump nicht zu groß Eine alternative Möglichkeit

Variable Zuordnung in SystemVerilog-Anweisung generieren

Anzahl der Antworten 2 Antworten
Erstellt habe ich ein einfaches Modul, dass ich replizieren mehrere Male mit der Verilog-Anweisung generieren. Es scheint jedoch, dass die generate-Anweisung irgendwie Effekte variable Zuordnung in das Modul. Hier ist der code: module test(); timeunit 10ns; timeprecision

Klasse-Objekt drucken im system verilog

Anzahl der Antworten 1 Antworten
In SystemVerilog, ist es möglich zu drucken, die das ganze Objekt mit Eigenschaften? (Hier weiß ich nicht, wie viele Variablen deklariert, die in meinem übergeordneten Klasse.) Narasimha wenn Ihr Fragen wurden beantwortet, es wäre wirklich gut zu

So ändern Sie die Wahrscheinlichkeitsverteilung von SystemVerilog Zufallsvariablen?

Anzahl der Antworten 2 Antworten
Dies ist für SystemVerilog. Ich weiß, Sie können angeben, die GEWICHTE für die Werte oder Wertebereiche, in der Menge der Werte, die eine Zufallsvariable wählt aus, was aber, wenn Sie wollen eine schöne Gauß-Verteilung? Wie du schreibst,

Unterschied zwischen Struktur und union im System verilog

Anzahl der Antworten 2 Antworten
Ich habe Schwierigkeiten beim Verständnis der Nutzung von Unions und Strukturen im System Verilog. Ich weiß, dass Sie Speicher in unterschiedlicher Weise , aber , ich will in der Tiefe wissen über Strukturen und Gewerkschaften. Das LRM

Was soll '{default:'1} do in system verilog?

Anzahl der Antworten 1 Antworten
Ich habe ein array, ich möchte zu initialisieren, um alle 1. Um dies zu tun, ich habe folgende code-snippet: logic [15:0] memory [8]; always_ff @(posedge clk or posedge reset) begin if(reset) begin memory <= '{default:'1}; end else

Was SystemVerilog-Eigenschaften, sollte vermieden werden, die in der Synthese?

Anzahl der Antworten 2 Antworten
SystemVerilog eingeführt, einige sehr nützliche Konstrukte zur Verbesserung der coding style. Aber, wie einer meiner Kollegen sagt immer, "Sie sind nicht das schreiben von software, das Sie beschreiben die hardware." Mit dem im Verstand, welche Funktionen die

Block erzeugen im inneren case-Anweisung in verilog oder system verilog

Anzahl der Antworten 1 Antworten
Gibt es eine Möglichkeit, die in Verilog oder SystemVerilog einfügen generieren-Anweisung im case-Anweisung zu generieren, die alle möglichen input-Kombinationen. Zum Beispiel ein typischer Anwendungsfall wäre für eine N:1-mux. case(sel) generate for(i = 0; i < N; i

Wenn `include-Direktiven nicht notwendig ist, Verilog und SystemVerilog?

Anzahl der Antworten 5 Antworten
Angenommen ich habe eine top-level Datei, die ich übergebe mein compiler hat: `include "my_defines.sv" `include "my_component.sv" Innen "my_component.sv" Datei, ich bin mit einigen bestimmt aus "my_defines.sv", so wie hier: my_variable = `CONSTANT_FROM_MY_DEFINES; Die Frage ist folgende: muss

SystemVerilog-Programm-block vs. traditionelle testbench

Anzahl der Antworten 2 Antworten
Gibt es irgendwelche features, die der SV, dass ein Programm sperren Angebote, die nicht dupliziert werden, die mit anderen Methoden? Weniger konkrete version dieser Frage ist: sollte ich mir die Mühe mit dem Programm-Bausteine für die Verifizierung?

Verilog mehrere Treiber

Anzahl der Antworten 2 Antworten
Ich versuche zu machen BCD-Zähler mit Verilog, die in Verbindung mit 7-segment-decoder.Nachdem ich synthetisieren es, der der Fehler aufgetreten ist wie diese: Multi-source in Unit <BCDcountmod> on signal <BCD0<3>>; this signal is connected to multiple drivers.>**Und mehr.....

Eingänge ohne type-in-system verilog

Anzahl der Antworten 2 Antworten
Den ich gestoßen bin in ein Beispiel für ein system verilog-code Unabhängigkeitserklärung der ein-und Ausgänge für eine module ohne Angabe Ihrer Art, e.g logic, wire... module mat_to_stream ( input [2:0] [2:0] [2:0] a,b, input newdata, input rst,

Wie zu verwenden modport und Was ist der nutzen instantiieren zwischen interface und DUT in systemverilog?

Anzahl der Antworten 1 Antworten
Ich bin verilog-Benutzer-und nicht mit systemverilog. Habe ich gefunden, was verwendet modport und instantiieren zwischen Messobjekt und Oberfläche in systemverilog. Aber bin ich nicht ohne Grund verwenden die modport und wie zu verwenden und interconnect zwischen interface

Array von systemverilog-Schnittstellen mit unterschiedlichen Eingaben

Anzahl der Antworten 2 Antworten
Ich würde gerne instanziieren ein array von systemverilog-interfaces, wo jedes array-element verwendet, einen anderen Eingang aus. Wenn alle Elemente mit demselben input, dann die Instanziierung ist einfach: x_if x_IF[`NUM_INTERFACES](clk); Hier, wenn `NUM_INTERFACES ist 2, dann die clk

Instanziierung name änderung in verilog unter block erzeugen

Anzahl der Antworten 1 Antworten
Einige Körper mir empfehlen, wie man die Instanziierung Namen ohne "." wie "genblk1.name" wenn ich generate for-Schleife für die Schaffung von mehr-Modul-Instanziierungen. Möchte ich Instanziierung Namen wie addr_1,addr_2 (addr mein Modul name) Sie sind gedacht, um zu

Verilog: Wie die Instanzierung eines Moduls

Anzahl der Antworten 2 Antworten
Wenn ich ein Verilog-Modul " top " und ein verilog-Modul 'alternativen' wie kann ich instanzieren Unterkomponente in der Spitze? top: module top( input clk, input rst_n, input enable, input [9:0] data_rx_1, input [9:0] data_rx_2, output [9:0] data_tx_2

zwingt, etwas in einem Draht-system verilog

Anzahl der Antworten 4 Antworten
Aus der testbench ich beschädigte einen bus ins design. Ich bin mit einer random-variable wählen Sie eine bit-Position (bit_sel) bit_sel = $urandom_range(0,MAX_LENGTH-1); Bus ist irgendwo tief in der RTL-mit einer Breite von MAXLENGTH. wire [MAX_LENGTH-1:0] BUS_TO_BE_FORCED; In

Die Handhabung der Parametrierung in SystemVerilog-Pakete

Anzahl der Antworten 7 Antworten
SystemVerilog Hinzugefügt-Pakete zu bieten namespaces für gemeinsame code-Teile (Funktionen, Typen, Konstanten, etc.). Aber da die Pakete nicht instanziiert werden, Sie können nicht parametrisiert werden, so dass der Umgang mit parametrisierten Mitglieder ist problematisch. In der Praxis ich

Wie verwenden von const in verilog

Anzahl der Antworten 2 Antworten
Anstatt module ... ( .. ) ; #15 endmodule Möchte ich verwenden module ... ( ... ) ; //GateDelay is a const, like in c language const int GateDelay = 15 ; # GateDelay endmodule Oder gleiche

Kann ich erstellen eine Reihe von SystemVerilog-Eigenschaften innerhalb einer Schleife?

Anzahl der Antworten 1 Antworten
Ich habe zwei arrays verpackt Signale und ich brauche zum erstellen einer Eigenschaft und der entsprechende Behauptung für diese Eigenschaft, der beweist, dass die beiden arrays identisch sind, unter bestimmten Bedingungen. Ich bin formal verifizieren und das

Was ist der Unterschied zwischen der Verwendung einer ersten block vs initialisieren eines reg-variable in systemverilog?

Anzahl der Antworten 5 Antworten
Was ist der Unterschied zwischen den folgenden zwei Beispielen mit Bezug auf die simulation? A) reg a; initial a = 1'b0; und B) reg a = 1'b0; Ist es anders für Logik-Variablen? Sie haben tagged dies sowohl

Wie verwenden von clock-gating bei RTL?

Anzahl der Antworten 2 Antworten
Ich bin clock-gating einige Riegel und Logik in der Konstruktion. Ich habe nicht viel Erfahrung in der Synthese und place & route. Was ist die richtige Art und Weise zu implementieren, clock-gating bei RTL? Beispiel1: always_comb begin

SystemVerilog wait () - Anweisung

Anzahl der Antworten 4 Antworten
Ist der folgende code wird unterstützt, in SystemVerilog? int cnt = 0; wait( cnt == (cnt+1) ) Konnte einem Punkt gibt mir der Abschnitt in der LRM? Abschnitt 9.4 der IEEE 1800-2012 deckt wait-Anweisungen. InformationsquelleAutor user3510047 |

SystemVerilog-case-Anweisung funktioniert nicht

Anzahl der Antworten 1 Antworten
Jemand wissen, warum dieser case-Anweisung funktioniert nicht: int width; width = 8; case (width === 16) 1'b0: begin //correct code end 1'b1: begin //we end up here end endcase Bin ich mit dem VCS. Ich habe versucht

Inkrementieren Mehrere Genvars in Verilog-Anweisung Generieren

Anzahl der Antworten 2 Antworten
Ich versuche zu schaffen, ein multi-Stufen-Komparator in verilog und ich kann nicht herausfinden, wie man increment-mehrere genvars in einer einzigen Schleife generieren. Ich versuche das folgende: genvar i,j; //Level 1 generate j=0; for (i=0;i<128;i=i+1) begin: level1Comp assign

Verilog - Generierung gewichteter Zufallszahlen

Anzahl der Antworten 6 Antworten
Ich versuche zu generieren, die zufällig einzelne bits, und das ist einfach, solange Sie möchten, eine normale Randomisierung: wire R; assign R = $random % 2; Was ich Suche, ist eine Art der gewichteten Wahrscheinlichkeit wie: wire

Warten posedge clk, bevor Sie einen job? — Wie

Anzahl der Antworten 2 Antworten
module DoorControl( clk, data, open,addressOftheMemory, outp ); localparam Size_ofTheWord = 32; input open; input [16:0] addressOftheMemory; input [Size_ofTheWord-1:0] data; input clk ; output reg outp; reg [WordSize-1: 0] Memory [65535: 0]; always @ ( open ) //open

Rückkehr Warteschlange aus der Funktion, in systemverilog

Anzahl der Antworten 2 Antworten
Kann ich nicht kompilieren dieses Codes: function integer[$] get_register_name; integer ret[$]; ret.push_back(1); ret.push_back(2); return ret; endfunction Ist es möglich, um wieder eine Warteschlange von einer Funktion? InformationsquelleAutor e19293001 | 2012-12-20

System-Parameter in Verilog-block erzeugen

Anzahl der Antworten 3 Antworten
Ich würde gerne einen parameter basierend auf einem parameter, die eingestellt ist, wenn das Modul instanziiert. Ich habe die folgende. module foo #(WORDS = 8); parameter P00 = 33; logic [7:0] tmp; generate case (WORDS) 4: begin

Binär-zu-Grau-Konvertierung

Anzahl der Antworten 5 Antworten
module binarytogray #( parameter PTR=2 )( input logic [PTR:0] binary_value, output logic [PTR:0] gray_value ); genvar i; generate for(i=0;i<PTR;i=i+1) begin:for_loop assign gray_value[i]=binary_value[i]^binary_value[i+1]; end endgenerate assign gray_value[PTR]=binary_value[PTR]; endmodule Diese Binär-zu-Grau-Konvertierung code ist ein Beispiel aus einem Buch. Kann

SystemVerilog: Wie eine Schnittstelle zu erstellen, die ein array von eine einfachere Schnittstellen?

Anzahl der Antworten 2 Antworten
Ich versuche, eine Schnittstelle zu erstellen, die ein array mit einem einfacheren interface. In VHDL, ich könnte einfach definieren zwei Arten, ein Rekord und ein array von Datensätzen. Aber wie dies zu tun in SystemVerilog? Hier ist,

system verilog binden, verwendet zusammen mit interface

Anzahl der Antworten 1 Antworten
Ich definiert eine Schnittstelle im system-verilog und verwenden Sie bind-Anweisung zu binden, interne RTL-Signale. Ich möchte in der Lage sein zu zwingen, interne RTL-Signale über die Schnittstelle. Aber dadurch verursacht wird, dass die RTL-signal 'x', wenn ich

Weisen Sie das ASCII-Zeichen zu Draht in Verilog

Anzahl der Antworten 6 Antworten
Ich verstehe, dass Sie können erklären, eine Zeichenfolge in ein Verilog-Prüfstand wie folgt: reg [8*14:1] string_value; initial string_value = "Hello, World!"; Dann kann ich Dinge tun, die mit dieser Zeichenfolge, wie die Nutzung $display in einem Prüfstand,

Verkettung von arrays in system verilog

Anzahl der Antworten 2 Antworten
Schrieb ich einen code für die Verkettung wie folgt: module p2; int n[1:2][1:3] = {2{{3{1}}}}; initial begin $display("val:%d",n[2][1]); end endmodule Es zeigt Fehler. Bitte erklären? Was für Fehler? Was denkst du n[1:2][1:3] = {2{{3{1}}}}; bedeutet? Ich meinte,

Wie funktioniert SystemVerilog `Kraft` zu arbeiten?

Anzahl der Antworten 1 Antworten
Ich habe eine Hierarchie von Modulen, wo ich bin versuchen zu tun, ein force um unterschiedliche Wert bei unterschiedlichen Modul-Schnittstellen. Ich arbeite an einer Komponente, deren Aufgabe es ist, zu injizieren Transaktion zu einem Modul in der

Wie form Variablennamen durch die Verwendung definiert, im system verilog

Anzahl der Antworten 3 Antworten
Wie die form der Variablen-name mit definiert im system verilog, eigentlich brauche ich zum konfigurieren meiner Registern (rund 100). zu tun, dass ich zu fest die 100 Aussage. gibt es irgendeine Möglichkeit, eine variable mit define(anyother Weg)?

Für die Logik ist die Umsetzung im System Verilog

Anzahl der Antworten 1 Antworten
Ich bin nur zu lernen, HDL und ich bin daran interessiert, wie eine for-Schleife implementiert in System Verilog. Mit dem folgenden code... always_ff(posedge clk) begin for(int i = 0; i < 32; i++) s[i] = a[i] +

Fehler: "(vlog-2110) Illegal reference to net"

Anzahl der Antworten 2 Antworten
Habe ich eine einfache fifo-code im System Verilog. Ich erhalte mehrere vlog-2110 illegal reference to net Fehlermeldungen. Ich schaute auf die vorherigen stackoverflow-Richtlinien und nicht sehen, nichts falsch mit dem, was ich Tue. Bitte um Hilfe!!!! Gebe

Wann define-makro vs generieren

Anzahl der Antworten 3 Antworten
Was sind die Richtlinien für die Auswahl generieren, die Aussagen über `Makros definieren und Umgekehrt in Systemverilog? Zum Beispiel, wenn ich wollen bedingt instanziieren entweder module1 oder module2, es scheint, kann ich entweder tun, `ifdef COND1 module1

Wie verketten ein byte mit einem string in SystemVerilog

Anzahl der Antworten 4 Antworten
In ModelSim, der folgende code funktioniert Prima: string r; string s; //...assign some string to s... integer i; r = ""; for (i=s.len()-1; i>=0; i=i-1) begin if (s[i] != "\n") begin r = {s[i], r}; end end

Floating Point Division im System Verilog

Anzahl der Antworten 1 Antworten
Wollte ich mit floating point-zahlen im System Verilog mit der real Daten geben. Ich habe versucht den folgenden code, aber es scheint nicht zu funktionieren. Ich bin immer 2.000000 wo ich erwarten 2.500000. Modul: module real_check(input [31:0]a,