多模块实例化声明和函数verilog

多模块实例化声明和函数verilog,verilog,Verilog,我已经实例化了4个模块。被调用的第三个模块在其if块输入变为零时不获取输入,但当单独执行该模块且未从此主模块调用该模块时,该模块运行良好。有人能告诉我为什么它没有得到输入吗? 请完成第三个模块 module one(u,v,p,x,x2,rx,clk,rem); input [15:0]u,v,p; input clk; output wire [15:0]rx,rem; output wire [31:0]x,x2; rcalci inst(.p(p),.clk1(clk),.r(rx));

我已经实例化了4个模块。被调用的第三个模块在其if块输入变为零时不获取输入,但当单独执行该模块且未从此主模块调用该模块时,该模块运行良好。有人能告诉我为什么它没有得到输入吗?
请完成第三个模块

module one(u,v,p,x,x2,rx,clk,rem);
input [15:0]u,v,p;
input clk;
output wire [15:0]rx,rem;
output wire [31:0]x,x2;
rcalci inst(.p(p),.clk1(clk),.r(rx));
vedic_16x16 inst2(.a(u),.b(rx),.c(x));
division1 inst3(.n(x),.d(p),.clk2(clk),.r(rem));
vedic_16x16 inst4(.a(v),.b(rx),.c(x2));
endmodule

module division1(n,d,clk2,r);
input [31:0]n;
input [15:0]d;
output [15:0]r;
reg [15:0]r,q;
reg [15:0]n1,n2;
input clk2;
integer i=0;
reg [1:0]flag;
initial
    flag=0;
always @(posedge clk2)
begin
    if(flag==0)
    begin
        n1[15:0]=n[31:16];
        n2[15:0]=n[15:0];
        flag=1;
    end

    if(flag==1)
    begin
        r=n2[15:0];    
        if(i<16)
        begin
            n1[15:0]={n1[14:0],n2[15]};
            n2=n2<<1;

            if(n1>=d)
            begin
                n1=n1-d;
                n2[0]=1;
                //q=n2;
            end

        end
        i=i+1;
        if(i>=16)
            flag=2;
    end
end
endmodule
模块一(u、v、p、x、x2、rx、clk、rem);
输入[15:0]u,v,p;
输入时钟;
输出线[15:0]rx,rem;
输出线[31:0]x,x2;
rcalci仪器(.p(p),.clk1(clk),.r(rx));
吠陀经16x16指令2(.a(u),.b(rx),.c(x));
第1分部第3节(.n(x),.d(p),.clk2(clk),.r(rem));
吠陀经16章4节(.a(v),.b(rx),.c(x2));
端模
模块1(n、d、clk2、r);
输入[31:0]n;
输入[15:0]d;
输出[15:0]r;
reg[15:0]r,q;
reg[15:0]n1,n2;
输入clk2;
整数i=0;
reg[1:0]标志;
最初的
flag=0;
始终@(posedge clk2)
开始
如果(标志==0)
开始
n1[15:0]=n[31:16];
n2[15:0]=n[15:0];
flag=1;
结束
如果(标志==1)
开始
r=n2[15:0];

如果(i
division1
输入
n
仅在第一个时钟上采样,并且一旦一个除法完成,就不会执行其他操作。此输入源自似乎由相同时钟更新的
rx
。在采样时,
n
极不可能具有预期值ode>division1

我不知道您的代码的用途。一个选项是将
标志
设置回0而不是2,然后重置
I
,以便再次进行除法。另一个选项是在后一个时钟边缘开始除法。我猜您想要第一个选项


此外,顺序逻辑应分配非阻塞分配(
),因此我需要使用“我如何从后边缘开始除法?您始终可以使用另一个输入信号指示何时开始。有大量在线资源解释在何处以及为什么使用阻塞分配和非阻塞分配。以下是一篇这样的文章: