📄 parser_bugs.v
字号:
// Not legal:// end : ADDRESS_TEST_BLOCK // See 9.8.1// `define at EOF with no newlinemodule bug26141 (); wire [0:3] b; wire a = b[2];endmodulemodule bug26940 (); (* attribute *) assign q = {1'b0,a} +{1'b0,b}; adder u_add (.q(q),.a(d),.b(d)); initial begin # 1; q=0; if (q!=0) $stop; endendmodulemodule bug26968 (); reg [4:0] vect = 5'b10100; wire [4:0] tmp = { vect[0], vect[1], vect[2], vect[3], vect[4] }; initial begin #1 $display("vect=%b, tmp=%b", vect, tmp); endendmodulemodule bug26969 (input [31:0] ad, output [15:0] regff, input [31:0] read); bufif0 ad_drv [31:0] (ad, {16'b0, regff}, read);endmodulemodule bug26970; // Copyright (c) 2002 Stephen Williams (steve@icarus.com) // GNU Licensed parameter SET = 1'b1, CLR = 1'b0, S1 = 2'd1, HINC = 3'd4; parameter x = {S1,CLR,CLR,CLR,CLR,SET,SET,CLR,CLR,HINC };endmodulemodule bug26997; MUX_REG_8x8 PAGE_REG_B3 ( .CLK (CLK), /* .IN (DATA_RES[31:24]), .OUT (PAGE[31:24]), .EN_IN (EN_B3), .EN_OUT (PAGE_SEL), */ .TC (), .TD (), .TQ ());endmodulemodule bug27009(); // Copyright (c) 2002 Stephen Williams (steve@icarus.com) // GNU Licensed reg pullval; wire (weak0, weak1) value = pullval; //Legal?: buf (highz0, strong1) drive0(value, en0); //Legal?: not (strong0, highz1) drive1(value, en1);endmodule // mainmodule bug27010; // Copyright (c) 2000 Yasuhisa Kato <ykato@mac.com> // GNU Licensed initial begin clk = 0 ; forever #5 clk = ~clk ; end drvz N ( clk, b, ~c, s ) ; // line(A)endmodulemodule bug27013; submod u1(0); submod u2(1);endmodulemodule bug27036; reg [2:0] a_fifo_cam_indices[3:0], lt_fifo_cam_indices[5:0]; wire [2:0] db0_a_fifo_cam_indices = a_fifo_cam_indices[0];endmodulemodule bug27037; reg mem[12:2]; reg [7:0] i;endmodulemodule bug27039; integer i;endmodulemodule bug27045( input clk, input reset, input [7:0] d, output reg [7:0] q ); parameter REG_DELAY = 0; always @(posedge clk or posedge reset) q <= #(REG_DELAY*2) d;endmodulemodule bug27062 (input D, output Q); p(Q, D);endmodule`timescale 1ns/1nsmodule bug27066; integer i; time t; realtime rt; function integer toint; input integer y; input [15:0] x; toint = x|y; endfunctionendmodulemodule bug27067; initial $monitor( "%T %b %b %b", $time, clk1, clko1, clko2 ); initial forever @( negedge clk1 ) dclk1ff <= #50 ~ dclk1ff;endmodulemodule bug27072( output reg sum, input wire ci);endmodule`resetallmodule spec; specify specparam Tac = 0.1, Tcs = 0.2; if ( !B & !M ) ( posedge CLK => ( Q[0] : 1'bx )) = ( Tac, Tcs ); $width (negedge CLK &&& EN, Tac, 0, notif_clk); ( in1 => q ) = (3, 4); ( in1 +=> q ) = Tac; ( a, b, c *> q1, q2) = 10; ( s +*> q ) = Tcs; endspecifyendmodulemodule bugevent; event e; initial ->e; always @ (e && e) $write("Legal\n");endmodulemodule bugio (input [31:0] a, a2, output [15:0] o, o2, input ibit);endmodulemodule buglocal; always #(cyclehalf) begin clk <= ~clk; end always @(*) begin end initial force flag = 0; initial #(delta+0.5) CLRN <= 1; assign (weak0,weak1) VDD=1'b0; assign (weak0,weak1) VSS=1'b1; wire [71:0] #1 xxout = xxin; initial #1000_000 $finish; initial $display($time,,"Double commas are stupid"); initial for (counter[3:0] = 4'h0; counter[3:0] < limit[3:0]; counter[3:0] = counter[3:0] + 4'h1) $write(); always @(posedge(clk && !xclk) or negedge(clk && xclk) or reset) $write(); nmos # (PullTime, PullTime, 0) (PT,PU,1'b1); pulldown (strong0) pullinst (r); defparam x.y.z.PAR = 1; cdrv #5.0 clk(clk); initial PI = 3.1415926535_8979323846; always val = @ eventid 1'h1; always dly = # (2:3:4) 5'h6 ; wire \33escapeneeded = 1'b1; wire \33escapenewlineend = 1'b1; wire \noescapenewlineend = 1'b1; wire \noescapespaceend = 1'b1;endmodulemodule v2kparam #(parameter WIDTH = 1, parameter LENGTH = 1, LENGTH2 = 1) (output [WIDTH-1:0] myout, input [LENGTH-1:0] myin, myinb ); assign myout = myin ^ myinb ^ $callemptyparens();endmodulemodule foreqn (in); input [1:0] in; reg a,b; reg [1:0] c; always for ({a,c[0]} = in; a < 1'b1; {b,c[1]} = in) begin end always for ({a,c[in]} = 0; a < 1'b1; {b,c[in]} = 2'b10) begin endendmodulemodule colonslash; always @* case (cond&4'b1110) 'h0://Error t = 7; 'h2:/*Another comment*/ t = 6; 'h4: t = 5; endcaseendmodulemodule enums; enum {red, yellow, green} light; enum integer {IDLE, XX='x, S1='b01, S2='b10} state, next; enum {bronze=3, silver, gold} medal; enum { add=10, sub[5], jmp[6:8] } E1; typedef enum {NOPE, YUP} boolean; enum logic [1:0] {IDLE, DIR} STATE, NSTATE;endmodulemodule invec ( output logic novec, output logic [7:0] range, output logic [1:0] [7:0] arrayAndRange, output logic [2:0] [1:0] [7:0] arrayAndArrayAndRange, output reg signed novec2 );endmodulemodule bug34575; wire a,b,c,d; assign #(0,0) a = 1; assign #(0:1:2) b = 1; assign #(0:1:2,0:1:2) c = 1; assign #(0:1:2,0) d = 1;endmodulemodule bug34649 (name); output reg name = 0;endmodulemodule bug34649b ( output reg name = 0 );endmodulemodule bugvp10; initial begin x += 1; x -= 1; x /= 1; x *= 1; x |= 1; x ^= 1; x <<= 1; x >>= 1; x <<<= 1; x >>>= 1; y = x++; // Part of expression y = ++x; y = x--; y = --x; x++; // Statement ++x; x--; --x; endendmodulemodule bugvp33; integer i; initial begin unique case (i) endcase priority case (i) endcase if (i) begin end else begin end endendmodulemodule bugvp16; timeunit 0.1ns; timeprecision 1ns;endmoduleparameter bugvp39 = 0;`default_nettype none`pragma foo = bar`default_nettype wiremodule bugvp64; parameter integer a=1,b=2; parameter real c=3.0; parameter realtime d=4.0; parameter time e=5.0;endmodulemodule bugrt43138; assign {{o1,o2},o3,o4,{o5,o6}} = {{i1,i2},i3,i4,{i5,i6}};endmodule
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -