ModelSim错误:syntax error, unexpected “IDENTIFIER“, expecting “.*“ or ‘.‘

本文详细描述了在使用ISE10.1与ModelSimSEPLUS6.2b进行电子设计验证时遇到的语法错误问题,重点在于纠正dcm50in200out模块例化时的语法错误,并提供了在ISE中进行语法检查的方法,以避免类似错误的发生,确保仿真过程顺利进行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

module TOP200MHz(
    input clk_in,
    input rst,
    output reg ledout
    );
	
wire clk50m,clk200m;
dcm62in50out dcm62in50out_inst(
		  .CLKIN_IN(clk_in), 
                    .CLKFX_OUT(clk50m), 
                    .CLKIN_IBUFG_OUT(), 
                    .CLK0_OUT(), 
                    .LOCKED_OUT()
		);
dcm50in200out	dcm50in200out_inst(
		.CLKIN_IN(clk50m), 
                     CLKFX_OUT(clk200m), 
                     CLKIN_IBUFG_OUT(), 
                     CLK0_OUT(), 
                     LOCKED_OUT()
		);
always @ (posedge clk200m)
	if(!rst)
		begin ledout <= 0;end
	else
		begin
			ledout <= ~ledout;
		end
					 
endmodule


 代码如上,写了测试代码,在modelsim中仿真,测试代码如下:

module test_top200mhz_1st;

	// Inputs
	reg clk_in;
	reg rst;

	// Outputs
	wire ledout;

	// Instantiate the Unit Under Test (UUT)
	TOP200MHz uut (
		.clk_in(clk_in), 
		.rst(rst), 
		.ledout(ledout)
	);

	initial begin
		// Initialize Inputs
		clk_in = 0;
		rst = 1;

		// Wait 100 ns for global reset to finish
		#100;
        rst = 0;
		#20;
		rst = 1;
		// Add stimulus here

	end
    always #4 clk_in = ~clk_in;  
endmodule

 

ModelSim中出错如下:

# ** Error: TOP200MHz.v(37): near "CLKFX_OUT": syntax error, unexpected "IDENTIFIER", expecting ".*" or '.'
# ** Error: C:/Modeltech_6.2b/win32/vlog failed.

其实错误很简单,如果在ISE中对代码进行语法检查,则可得如下错误报告:

ERROR:HDLCompilers:26 - "TOP200MHz.v" line 39 expecting '.', found 'CLKFX_OUT'

 

检查一下代码,原来是dcm50in200out模块在例化时后面几个端口前面没加“.”,小错误呀,网上还搜不到解决方案呢。。。

所以仿真前最起码应该先检查语法通过后再仿真嘛,或者综合通过后更保险啦……

以上的环境为ISE 10.1  +  ModelSim SE PLUS 6.2b

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值