FPGA模块调用的问题

2019-07-16 01:11发布

首先向大神们致敬哈!
先附上我的三个模块:
1。顶层:
module modu (clk50m,rst_n,in,out,clk9600);
        input clk50m,rst_n,in;
        output out,clk9600 ;
       
      div div2(.clk50m(clk50m),.rst_n(rst_n),.clk9600(clk9600));
      modu1 modu11(.rst(rst_n),.in1(in),.out2(out),.clk(clk9600));
endmodule

2.底层1:
module modu1(rst,in1,out2,clk);
        input rst,in1;
        input clk;
        output out2;
       
        reg [14:0]cnt2;
        reg out2;
       
        always@(posedge clk or negedge rst)
                begin
                        if(!rst)
                                cnt2<=0;
                        else if (cnt2==9600)
                                begin
                                        out2=in1;
                                        cnt2<=0;
                                end
                        else
                                cnt2<=cnt2+1;
                end
       
endmodule

3.底层2:
module div(clk50m,rst_n,clk9600);
        input clk50m;
        input rst_n;
        output clk9600;
       
        reg [12:0]cnt1;
        reg clk_div;
       
        always@(posedge clk50m or negedge rst_n)
                begin
                        if(!rst_n)
                                cnt1<=0;
                        else if(cnt1==2604)
                                begin
                                        cnt1<=0;
                                        clk_div<=!clk_div;
                                end
                        else
                                cnt1<=cnt1+1;
                end
               
        assign clk9600=clk_div;
endmodule


对于上述实例中,在调用的过程中,是否可以再简化一下?  其中CLK9600只是我调用过程中的一个量,按照我现在的调用方法,它必然要占用1个i/o,
能否舍掉?怎么处理?
请高手指导。小弟先拜谢啦、、、
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。