固定输入的Verilog定时分析

固定输入的Verilog定时分析,verilog,synthesis,Verilog,Synthesis,我有一段简单的Verilog代码,其中我修正了两个数字。45和46。将它们相乘并显示输出。为此,我编写了一段简单的Verilog代码 但是,当我生成合成后仿真模型时,合成报告不会显示任何时序分析。然而,当变量是输入时,它会找到电路的逻辑和路由时间 我对为固定输入创建的电路的这些指标感兴趣 这是我的代码: module SimpleMult( outProd ); reg signed[7:0] mult1; reg signed[7:0] mult2; o

我有一段简单的Verilog代码,其中我修正了两个数字。45和46。将它们相乘并显示输出。为此,我编写了一段简单的Verilog代码

但是,当我生成合成后仿真模型时,合成报告不会显示任何时序分析。然而,当变量是输入时,它会找到电路的逻辑和路由时间

我对为固定输入创建的电路的这些指标感兴趣

这是我的代码:

module SimpleMult(
    outProd
     );
    reg signed[7:0] mult1;
    reg signed[7:0] mult2;
   output reg signed[15:0]outProd;
    initial begin
     mult1 = 45;
     mult2 = 46;
    end

    always@(*) begin
    outProd = mult1 * mult2;
    end
endmodule

无论如何,我是否可以让计时分析为此工作?

需要输入才能进行任何时间分析


合成器知道
mult1
mult2
是常数。由于
outProd
仅取决于常数,
outProd
将被优化为常数。常数没有计时信息。

需要输入才能进行任何时间分析


合成器知道
mult1
mult2
是常数。由于
outProd
仅取决于常数,
outProd
将被优化为常数。常量没有计时信息。

您在这里面临的问题是常量的乘法是一个常量,因此没有计时

测量定时的一种方法是用2个输入合成乘法器。然后执行包括SDF定时信息的门级sim。将两个输入从0取到固定值。在波形编辑器中,您应该能够看到乘法器输出上的纹波。测量从新输入到固定输出的时间

请记住,硅定时是非常可变的,您可能会得到快或慢(或居中)硅。温度也会影响计时。您将需要在sim卡上运行至少两个角(最大和最小),以获得从(0输入到)固定输入到稳定结果的最大和最小时间

还应意识到,此方法中使用的计时是从0开始的,不同的启动条件会有所不同


您可以尝试使用两个LUT(查找表)来保存输入值0和固定值,并查看synth工具的功能。可能会优化为一个LUT,其值为0和答案。

您在这里面临的问题是常数的乘法是一个常数,因此没有计时

测量定时的一种方法是用2个输入合成乘法器。然后执行包括SDF定时信息的门级sim。将两个输入从0取到固定值。在波形编辑器中,您应该能够看到乘法器输出上的纹波。测量从新输入到固定输出的时间

请记住,硅定时是非常可变的,您可能会得到快或慢(或居中)硅。温度也会影响计时。您将需要在sim卡上运行至少两个角(最大和最小),以获得从(0输入到)固定输入到稳定结果的最大和最小时间

还应意识到,此方法中使用的计时是从0开始的,不同的启动条件会有所不同


您可以尝试使用两个LUT(查找表)来保存输入值0和固定值,并查看synth工具的功能。可能会将LUT优化为0和答案。

我理解。但是,我希望找出模块计算2个特定数字的乘积所花费的总时间。如果我让mult1和mult2作为输入,它将计算最大组合路径,并为8x8位乘法器提供广义定时分析。关于我将如何处理这件事,有什么想法或建议吗?@PrashantVaidyanathan,那么要衡量的时间点是什么?在任何给定的时间,包括时间0,值都是相同的。仅将一个值作为常量,另一个值作为输入(或仅将某些位作为输入或常量),将限制可能的范围,但不能将其限制为独占
45*46
。在分配到45和46之前,您可以尝试将静态值分配给initial as
8'hx
,然后再分配给
#0
。合成器将给出错误或对其进行优化。使用模拟模拟器和电源电压斜坡可以给你一些时间,但作为一个函数斜坡率。我理解。但是,我希望找出模块计算2个特定数字的乘积所花费的总时间。如果我让mult1和mult2作为输入,它将计算最大组合路径,并为8x8位乘法器提供广义定时分析。关于我将如何处理这件事,有什么想法或建议吗?@PrashantVaidyanathan,那么要衡量的时间点是什么?在任何给定的时间,包括时间0,值都是相同的。仅将一个值作为常量,另一个值作为输入(或仅将某些位作为输入或常量),将限制可能的范围,但不能将其限制为独占
45*46
。在分配到45和46之前,您可以尝试将静态值分配给initial as
8'hx
,然后再分配给
#0
。合成器将给出错误或对其进行优化。使用模拟模拟器和电源电压斜坡可以给你一些时间,但作为斜坡率的函数。我认为,如果你找到一种方法,将(STA期间)输入的分析值(你应该定义)限制在0,0和45,46,你可以得到(没有模拟模拟模拟)的最佳近似值。不过,我不知道STA工具是否支持此功能。您使用的是什么工具?我认为,如果您找到一种方法(在STA期间)将输入(您应该定义)的分析值限制在0,0和45,46,则可以获得最佳近似值(无需模拟模拟模拟)。不过,我不知道STA工具是否支持此功能。您正在使用哪些工具?回答得很好。是否有一种方法仅定义输入端口上的瞬时转换(使用术语“零延迟”是否适用于