ModelSimエラー:syntax error,unexpected"IDENTIFIER",expecting".*"or'.'
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'
コードをチェックすると、元はdcm 50 in 200 outモジュールが例化時に後ろのいくつかのポートの前に「.」を付けていなかったのです.小さな間違いですね.ネット上では解決策が見つかりません.の
だから、シミュレーションの前に文法をチェックしてからシミュレーションするか、総合的に合格したほうが安全か……以上の環境はISE 10.1+ModelSim SE PLUS 6.2 b