2017-11-16 2 views
-1
input [31:0] instruction; 
output [4:0] read_reg_1; 

read_reg_1 <= instruction[6:10]; 
Fest

Ich möchte Array-Elemente 6 bis 10 (6-7-8-9-10) als 5-Bit-Zahl von read_reg_1auf Zuweisen Teile eines Arrays mit einer Anzahl in Verilog

Error (10170): Verilog HDL syntax error at mips_fetch.v(8) near text "<="; expecting ".", or "(" 
zuzuweisen

Dies ist der Fehler, den ich während des Betriebs erhalte. Es scheint, dass es funktionieren sollte, obwohl ich keine Lösung oder ein Problem dazu finden kann.

+1

'zuweisen read_reg_1 = Befehl [06.10];' – toolic

Antwort

1

Da Sie read_reg_1 ohne Typen definieren, den Compiler standardmäßig davon ausgegangen, es ist ein wire, keine reg so kann man nicht mit <= zuweisen.

Entweder dies tun:

input wire [31:0] instruction; 
output reg [4:0] read_reg_1; 

always @* 
    read_reg_1 = instruction[6:10]; 

Oder diese:

input wire [31:0] instruction; 
output wire [4:0] read_reg_1; 

assign read_reg_1 = instruction[6:10]; 

Oder diese:

input wire [31:0] instruction; 
output reg [4:0] read_reg_1; 

always @(posedge clk) 
    read_reg_1 <= instruction[6:10]; 
Verwandte Themen