打印

见鬼了,verilog 调用子模块出错 ?

[复制链接]
2281|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
将军令|  楼主 | 2008-8-25 16:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
verilog 调用子模块出错 

我有一个verilog 代码这样写,调用了2个子模块OEH_OEV_CKV、Phase_3_Generator
按照下面的写法编译器不会出现警告


`define AP_FREQ_SCALE 96

module Analog_panel_timming( CLK,RST ,OEH,OEV,CKV,VCOM,AnalogBegin,STH_LR,P );

input  CLK;
input  RST;
output      [2:0]P , STH_LR;
output    OEH;
output    OEV;
output    CKV;
output    VCOM;
output     AnalogBegin; //analog signal begin output

integer i;
reg    LineRst;


initial 
    begin
    i=0;
    //LineRst=0;
    end

always    @ (posedge CLK) 
    begin
    if(RST)
        begin
        i=0;
        end
    else
       begin
        if(i%`AP_FREQ_SCALE==0)
        begin
        end
       end

    end
    OEH_OEV_CKV    U1(CLK,RST,OEH,OEV,CKV,VCOM,,AnalogBegin);
    Phase_3_Generator     P3G1(LineRst,CLK,STH_LR,P );
endmodule

但是我如果写成以下文字,编译器就会有错误提示:
但是我如果写成以下文字,编译器就会有错误提示:
但是我如果写成以下文字,编译器就会有错误提示:
但是我如果写成以下文字,编译器就会有错误提示:
但是我如果写成以下文字,编译器就会有错误提示:
Starting: analyse source files hierarchy on 16:20:47 August 25, 2008
-- Analyzing Verilog file C:/ispTOOLS7_1/ispcpld/../cae_library/synthesis/verilog/ec.v
-- Analyzing Verilog file Untitled.h
-- Analyzing Verilog file phase_3_generator.v
-- Analyzing Verilog file pinassign_pll.v
-- Analyzing Verilog file ec_pll.v
-- Analyzing Verilog file oeh_oev_ckv.v
-- Analyzing Verilog file analog_panel_timming.v
analog_panel_timming.v(34): ERROR: syntax error near U1
analog_panel_timming.v(36): ERROR: syntax error near P3G1
analog_panel_timming.v(47): ERROR: module Analog_panel_timming ignored due to previous errors
-- Verilog file analog_panel_timming.v ignored due to errors
Fail to analyse source files hierarchy.
--------以下是更改后的源文件,为什么会出错呀?---------
--------以下是更改后的源文件,为什么会出错呀?---------
--------以下是更改后的源文件,为什么会出错呀?---------
--------以下是更改后的源文件,为什么会出错呀?---------
--------以下是更改后的源文件,为什么会出错呀?---------
--------以下是更改后的源文件,为什么会出错呀?---------
`define AP_FREQ_SCALE 96

module Analog_panel_timming( CLK,RST ,OEH,OEV,CKV,VCOM,AnalogBegin,STH_LR,P );

input  CLK;
input  RST;
output      [2:0]P , STH_LR;
output    OEH;
output    OEV;
output    CKV;
output    VCOM;
output     AnalogBegin; //analog signal begin output

integer i;
reg    LineRst;


initial 
    begin
    i=0;
    //LineRst=0;
    end

always    @ (posedge CLK) 
    begin
    if(RST)
        begin
        i=0;
        end
    else
       begin
        if(i%`AP_FREQ_SCALE==0)
        begin
        OEH_OEV_CKV    U1(CLK,RST,OEH,OEV,CKV,VCOM,,AnalogBegin);
        end
        Phase_3_Generator     P3G1(LineRst,CLK,STH_LR,P );
       end

    end
endmodule 
 

相关帖子

沙发
songchao01| | 2008-8-26 23:03 | 只看该作者

没见过在always块中实例化的

在always块中实例化这种方式应该不行吧,我个人看法。因为实际的硬件电路还做不到:满足某一个条件就把模块加进去,不满足就不加。如果你真要实现类似的功能的话,可以考虑添加一个使能信号,使条件满足时,这部分电路工作,不满足时电路不工作。

使用特权

评论回复
板凳
birenai| | 2008-8-29 18:06 | 只看该作者

注意信号的连接

光有一个模块的端口怎么调用啊,呵呵

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

180

主题

937

帖子

1

粉丝