Need help verilog code error

  • Thread starter Thread starter rosesun
  • Start date Start date
  • Tags Tags
    Code Error
Click For Summary
SUMMARY

The forum discussion centers on a Verilog code error encountered while modeling an 8-bit register using hierarchical modeling. The user reports an error message indicating an issue with the 'regmux' module, specifically stating "expecting the keyword 'module', 'macromodule' or 'primitive'." The code provided includes multiple modules, including 'register', 'regmux', 'MUX2to1', 'dff', and 'SR_Latch2'. The discussion highlights the need for careful review of module definitions and potential issues with parameter overriding.

PREREQUISITES
  • Understanding of Verilog syntax and module definitions
  • Familiarity with hierarchical modeling in digital design
  • Knowledge of multiplexers and flip-flops in Verilog
  • Experience with simulation tools like NC-Verilog for error debugging
NEXT STEPS
  • Review Verilog module definitions and syntax rules
  • Learn about hierarchical modeling techniques in Verilog
  • Investigate parameter overriding and its implications in Verilog
  • Explore debugging techniques using NC-Verilog error messages
USEFUL FOR

Digital design engineers, Verilog programmers, and students learning about hardware description languages who are troubleshooting module-related errors in their code.

rosesun
Messages
1
Reaction score
0
Need urgent help ...verilog code error

Hello ,
I am new to verilog ...can someone help me urgent ..
I have a task for 8 bit register where in i have to model hierarchial modeling ...
here are my modules ... correct me please

Someone please patietnly go through all modules and let me know whas wrong in it ...


`timescale 1ns/1ns
module register(reg_out,data,ena,clk,rst);

output [7:0] reg_out;
input [7:0] data;
input ena,clk,rst;

regmux register0(reg_out[0],q,data[0],ena,clk,rst);
regmux register1(reg_out[1],q,data[1],ena,clk,rst);
regmux register2(reg_out[2],q,data[2],ena,clk,rst);
regmux register3(reg_out[3],q,data[3],ena,clk,rst);
regmux register4(reg_out[4],q,data[4],ena,clk,rst);
regmux register5(reg_out[5],q,data[5],ena,clk,rst);
regmux register6(reg_out[6],q,data[6],ena,clk,rst);
regmux register7(reg_out[7],q,data[7],ena,clk,rst);

endmodule


`timescale 1ns/1ns

module regmux(r,q,d,ena,clk,rst);

output r;
input q,d,ena,clk,rst;
wire x,qb;
MUX2to1 muxinst(x,q,d,ena);
dff dffinst(q,qb,rst,clk,x);
endmodule



`timescale 1ns/1ns

module MUX2to1(x,q,data,enable);

output x;
input q,data,enable;
wire q1,data1,enablebar;

not (enablebar,enable);
and (q1,q,enablebar);
and (data1,data,enable);
or (x,data1,q1);
endmodule
~


`timescale 1ns/1ns

module dff(q,qb,clear,clock,data);
output q,qb;
input clock,data,clear;
wire cb,clr,clkb,clk,db,d,s,sb,r,rb;

defparam SR1.x=4.8,SR2.x=4.5,SR3.x=5;
defparam SR1.y=3.3,SR2.y=4.5,SR3.y=4.5;

not #(2.3) not1(cb,clear);
not #(2.Cool not2(clr,cb);
not #(2.3) not3(clkb,clock);
not #(2.5) not4(clk,clkb);
not #(2.3) not5(db,data);
not #(2.3) not6(d,db);

SR_Latch2 SR1(s,sb,clr,clk,1'b1,rb);
SR_Latch2 SR2(r,rb,clk,s,d,clr);
SR_Latch2 SR3(q,qb,1'b1,s,clr,r);

endmodule

~

`timescale 1ns/1ns

module SR_Latch2(Q,Qb,s0,s1,r0,r1);

output Q,Qb;
input s0,s1,r0,r1;

parameter x=4.5;
parameter y=4.5;

nand #(x) nand1(Q,s0,s1,Qb);
nand #(y) nand2(Qb,r0,r1,Q);

endmodule





i am getting tthis error ...ncvlog: *E,EXPMPA (regmux.v,21|0): expecting the keyword 'module', 'macromodule' or 'primitive'[A.1].
Total errors/warnings found outside modules and primitives:
errors: 1, warnings: 0
ncverilog: *E,VLGERR: An error occurred during parsing. Review the log file for errors with the code *E and fix those identified problems to proceed. Exiting with code (status 1).
..

Therre is error regmux module ..but seems to be evrything perfect ...can someone help ... Also i doubt there is soehting wrong with parameter overriding ..also need helo in it ,,,,,

Thanks
Rose
 
Engineering news on Phys.org
It looks fine to me also. Are you sure that you are compiling the right file? The one you show in the post?
 

Similar threads

  • · Replies 6 ·
Replies
6
Views
6K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 8 ·
Replies
8
Views
3K
Replies
2
Views
7K
  • · Replies 3 ·
Replies
3
Views
5K
  • · Replies 1 ·
Replies
1
Views
21K
Replies
9
Views
5K
  • · Replies 1 ·
Replies
1
Views
13K
  • · Replies 1 ·
Replies
1
Views
2K
Replies
1
Views
3K