verilog 调用子模块出错

[复制链接]
5652|5
 楼主| 将军令 发表于 2008-8-25 16:25 | 显示全部楼层 |阅读模式
我有一个verilog&nbsp;代码这样写,调用了2个子模块OEH_OEV_CKV、Phase_3_Generator<br />按照下面的写法编译器不会出现警告<br /><br /><br />`define&nbsp;AP_FREQ_SCALE&nbsp;96<br /><br />module&nbsp;Analog_panel_timming(&nbsp;CLK,RST&nbsp;,OEH,OEV,CKV,VCOM,AnalogBegin,STH_LR,P&nbsp;);<br /><br />input&nbsp;&nbsp;CLK;<br />input&nbsp;&nbsp;RST;<br />output&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[2:0]P&nbsp;,&nbsp;STH_LR;<br />output&nbsp;&nbsp;&nbsp;&nbsp;OEH;<br />output&nbsp;&nbsp;&nbsp;&nbsp;OEV;<br />output&nbsp;&nbsp;&nbsp;&nbsp;CKV;<br />output&nbsp;&nbsp;&nbsp;&nbsp;VCOM;<br />output&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AnalogBegin;&nbsp;//analog&nbsp;signal&nbsp;begin&nbsp;output<br /><br />integer&nbsp;i;<br />reg&nbsp;&nbsp;&nbsp;&nbsp;LineRst;<br /><br /><br />initial&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;begin<br />&nbsp;&nbsp;&nbsp;&nbsp;i=0;<br />&nbsp;&nbsp;&nbsp;&nbsp;//LineRst=0;<br />&nbsp;&nbsp;&nbsp;&nbsp;end<br /><br />always&nbsp;&nbsp;&nbsp;&nbsp;@&nbsp;(posedge&nbsp;CLK)&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;begin<br />&nbsp;&nbsp;&nbsp;&nbsp;if(RST)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;begin<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i=0;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end<br />&nbsp;&nbsp;&nbsp;&nbsp;else<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;begin<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(i%`AP_FREQ_SCALE==0)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;begin<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;end<br />&nbsp;&nbsp;&nbsp;&nbsp;OEH_OEV_CKV&nbsp;&nbsp;&nbsp;&nbsp;U1(CLK,RST,OEH,OEV,CKV,VCOM,,AnalogBegin);<br />&nbsp;&nbsp;&nbsp;&nbsp;Phase_3_Generator&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;P3G1(LineRst,CLK,STH_LR,P&nbsp;);<br />endmodule<br /><br />但是我如果写成以下文字,编译器就会有错误提示:<br />但是我如果写成以下文字,编译器就会有错误提示:<br />但是我如果写成以下文字,编译器就会有错误提示:<br />但是我如果写成以下文字,编译器就会有错误提示:<br />但是我如果写成以下文字,编译器就会有错误提示:<br />Starting:&nbsp;analyse&nbsp;source&nbsp;files&nbsp;hierarchy&nbsp;on&nbsp;16:20:47&nbsp;August&nbsp;25,&nbsp;2008<br />--&nbsp;Analyzing&nbsp;Verilog&nbsp;file&nbsp;C:/ispTOOLS7_1/ispcpld/../cae_library/synthesis/verilog/ec.v<br />--&nbsp;Analyzing&nbsp;Verilog&nbsp;file&nbsp;Untitled.h<br />--&nbsp;Analyzing&nbsp;Verilog&nbsp;file&nbsp;phase_3_generator.v<br />--&nbsp;Analyzing&nbsp;Verilog&nbsp;file&nbsp;pinassign_pll.v<br />--&nbsp;Analyzing&nbsp;Verilog&nbsp;file&nbsp;ec_pll.v<br />--&nbsp;Analyzing&nbsp;Verilog&nbsp;file&nbsp;oeh_oev_ckv.v<br />--&nbsp;Analyzing&nbsp;Verilog&nbsp;file&nbsp;analog_panel_timming.v<br />analog_panel_timming.v(34):&nbsp;ERROR:&nbsp;syntax&nbsp;error&nbsp;near&nbsp;U1<br />analog_panel_timming.v(36):&nbsp;ERROR:&nbsp;syntax&nbsp;error&nbsp;near&nbsp;P3G1<br />analog_panel_timming.v(47):&nbsp;ERROR:&nbsp;module&nbsp;Analog_panel_timming&nbsp;ignored&nbsp;due&nbsp;to&nbsp;previous&nbsp;errors<br />--&nbsp;Verilog&nbsp;file&nbsp;analog_panel_timming.v&nbsp;ignored&nbsp;due&nbsp;to&nbsp;errors<br />Fail&nbsp;to&nbsp;analyse&nbsp;source&nbsp;files&nbsp;hierarchy.<br />--------以下是更改后的源文件,为什么会出错呀?---------<br />--------以下是更改后的源文件,为什么会出错呀?---------<br />--------以下是更改后的源文件,为什么会出错呀?---------<br />--------以下是更改后的源文件,为什么会出错呀?---------<br />--------以下是更改后的源文件,为什么会出错呀?---------<br />--------以下是更改后的源文件,为什么会出错呀?---------<br />`define&nbsp;AP_FREQ_SCALE&nbsp;96<br /><br />module&nbsp;Analog_panel_timming(&nbsp;CLK,RST&nbsp;,OEH,OEV,CKV,VCOM,AnalogBegin,STH_LR,P&nbsp;);<br /><br />input&nbsp;&nbsp;CLK;<br />input&nbsp;&nbsp;RST;<br />output&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[2:0]P&nbsp;,&nbsp;STH_LR;<br />output&nbsp;&nbsp;&nbsp;&nbsp;OEH;<br />output&nbsp;&nbsp;&nbsp;&nbsp;OEV;<br />output&nbsp;&nbsp;&nbsp;&nbsp;CKV;<br />output&nbsp;&nbsp;&nbsp;&nbsp;VCOM;<br />output&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AnalogBegin;&nbsp;//analog&nbsp;signal&nbsp;begin&nbsp;output<br /><br />integer&nbsp;i;<br />reg&nbsp;&nbsp;&nbsp;&nbsp;LineRst;<br /><br /><br />initial&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;begin<br />&nbsp;&nbsp;&nbsp;&nbsp;i=0;<br />&nbsp;&nbsp;&nbsp;&nbsp;//LineRst=0;<br />&nbsp;&nbsp;&nbsp;&nbsp;end<br /><br />always&nbsp;&nbsp;&nbsp;&nbsp;@&nbsp;(posedge&nbsp;CLK)&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;begin<br />&nbsp;&nbsp;&nbsp;&nbsp;if(RST)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;begin<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i=0;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end<br />&nbsp;&nbsp;&nbsp;&nbsp;else<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;begin<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(i%`AP_FREQ_SCALE==0)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;begin<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OEH_OEV_CKV&nbsp;&nbsp;&nbsp;&nbsp;U1(CLK,RST,OEH,OEV,CKV,VCOM,,AnalogBegin);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Phase_3_Generator&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;P3G1(LineRst,CLK,STH_LR,P&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;end<br />endmodule<br /><br />
enddy 发表于 2008-8-25 19:14 | 显示全部楼层

re

元器件例化似乎不能放在类似begin&nbsp;end&nbsp;这样的串行语句中!!!!靠**了,现在做测试,好久没有接触这个东西了!
birenai 发表于 2008-8-29 17:53 | 显示全部楼层

调用子模块的方式不对

调用子模块中的参数形式不对,被调用的子模块与调用模块之间有信号接口。<br />OEH_OEV_CKV&nbsp;&nbsp;&nbsp;&nbsp;U1(.clk(CLK),.rst(RST),.............);<br />试试吧
水管工 发表于 2008-9-14 13:37 | 显示全部楼层

2楼说得对

2楼说得对
26032603 发表于 2010-5-26 12:30 | 显示全部楼层
调用子模块中的参数形式不对,被调用的子模块与调用模块之间有信号接口。
OEH_OEV_CKV    U1(.clk(CLK),.rst(RST),.............);
试试吧
26032603 发表于 2010-5-26 12:30 | 显示全部楼层
verilog 调用子模块出错
您需要登录后才可以回帖 登录 | 注册

本版积分规则

180

主题

937

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部