见鬼了,verilog 调用子模块出错 ?
verilog 调用子模块出错 <br /><br />我有一个verilog 代码这样写,调用了2个子模块OEH_OEV_CKV、Phase_3_Generator<br />按照下面的写法编译器不会出现警告<br /><br /><br />`define AP_FREQ_SCALE 96<br /><br />module Analog_panel_timming( CLK,RST ,OEH,OEV,CKV,VCOM,AnalogBegin,STH_LR,P );<br /><br />input CLK;<br />input RST;<br />output P , STH_LR;<br />output OEH;<br />output OEV;<br />output CKV;<br />output VCOM;<br />output AnalogBegin; //analog signal begin output<br /><br />integer i;<br />reg LineRst;<br /><br /><br />initial <br /> begin<br /> i=0;<br /> //LineRst=0;<br /> end<br /><br />always @ (posedge CLK) <br /> begin<br /> if(RST)<br /> begin<br /> i=0;<br /> end<br /> else<br /> begin<br /> if(i%`AP_FREQ_SCALE==0)<br /> begin<br /> end<br /> end<br /><br /> end<br /> OEH_OEV_CKV U1(CLK,RST,OEH,OEV,CKV,VCOM,,AnalogBegin);<br /> Phase_3_Generator P3G1(LineRst,CLK,STH_LR,P );<br />endmodule<br /><br />但是我如果写成以下文字,编译器就会有错误提示:<br />但是我如果写成以下文字,编译器就会有错误提示:<br />但是我如果写成以下文字,编译器就会有错误提示:<br />但是我如果写成以下文字,编译器就会有错误提示:<br />但是我如果写成以下文字,编译器就会有错误提示:<br />Starting: analyse source files hierarchy on 16:20:47 August 25, 2008<br />-- Analyzing Verilog file C:/ispTOOLS7_1/ispcpld/../cae_library/synthesis/verilog/ec.v<br />-- Analyzing Verilog file Untitled.h<br />-- Analyzing Verilog file phase_3_generator.v<br />-- Analyzing Verilog file pinassign_pll.v<br />-- Analyzing Verilog file ec_pll.v<br />-- Analyzing Verilog file oeh_oev_ckv.v<br />-- Analyzing Verilog file analog_panel_timming.v<br />analog_panel_timming.v(34): ERROR: syntax error near U1<br />analog_panel_timming.v(36): ERROR: syntax error near P3G1<br />analog_panel_timming.v(47): ERROR: module Analog_panel_timming ignored due to previous errors<br />-- Verilog file analog_panel_timming.v ignored due to errors<br />Fail to analyse source files hierarchy.<br />--------以下是更改后的源文件,为什么会出错呀?---------<br />--------以下是更改后的源文件,为什么会出错呀?---------<br />--------以下是更改后的源文件,为什么会出错呀?---------<br />--------以下是更改后的源文件,为什么会出错呀?---------<br />--------以下是更改后的源文件,为什么会出错呀?---------<br />--------以下是更改后的源文件,为什么会出错呀?---------<br />`define AP_FREQ_SCALE 96<br /><br />module Analog_panel_timming( CLK,RST ,OEH,OEV,CKV,VCOM,AnalogBegin,STH_LR,P );<br /><br />input CLK;<br />input RST;<br />output P , STH_LR;<br />output OEH;<br />output OEV;<br />output CKV;<br />output VCOM;<br />output AnalogBegin; //analog signal begin output<br /><br />integer i;<br />reg LineRst;<br /><br /><br />initial <br /> begin<br /> i=0;<br /> //LineRst=0;<br /> end<br /><br />always @ (posedge CLK) <br /> begin<br /> if(RST)<br /> begin<br /> i=0;<br /> end<br /> else<br /> begin<br /> if(i%`AP_FREQ_SCALE==0)<br /> begin<br /> OEH_OEV_CKV U1(CLK,RST,OEH,OEV,CKV,VCOM,,AnalogBegin);<br /> end<br /> Phase_3_Generator P3G1(LineRst,CLK,STH_LR,P );<br /> end<br /><br /> end<br />endmodule <br /> <br />没见过在always块中实例化的
在always块中实例化这种方式应该不行吧,我个人看法。因为实际的硬件电路还做不到:满足某一个条件就把模块加进去,不满足就不加。如果你真要实现类似的功能的话,可以考虑添加一个使能信号,使条件满足时,这部分电路工作,不满足时电路不工作。注意信号的连接
光有一个模块的端口怎么调用啊,呵呵
页:
[1]