【问题标题】:Number of flip flop generated the Verilog code生成 Verilog 代码的触发器数量
【发布时间】:2017-12-24 08:28:43
【问题描述】:

如何在不使用任何工具的情况下统计 Verilog 代码中生成或使用的触发器的数量?

【问题讨论】:

  • 你尝试了什么?
  • 对于一小段代码,时钟边沿被触发的次数,我正在计算变量的变化,这可以让我粗略计算可能被使用的触发器数量在运行代码时。但是如果我们有大量同时变化的变量,那么如何检查代码中的失败次数?
  • 无法为您提供帮助,因为您没有提供任何代码说明您正在尝试做什么。 SO 不是代码编写服务,因此您需要自己提供代码和您正在使用的相关来源的链接。
  • 对不起先生,代码很大,我无法为您提供代码
  • 手动计算翻牌数非常困难,尤其是在大模型中。有需要手动评估的生成块。有一些优化可以改变翻牌次数。总是有复杂的块很难弄清楚结果。因此,您所有的尝试都只是最好情况下的粗略估计。

标签: verilog fpga hdl digital-logic vlsi


【解决方案1】:

您计算始终@(pos/neg_edge ...)内非阻塞分配的 LHS 上的位数。 (“非阻塞”形容词是多余的,因为您应该只在 @(pos/neg_edge 时钟)部分内进行非阻塞分配。)

以下代码产生 12 个寄存器:

reg [7:0] my_byte1,my_byte2;
...
always @(posedge clock)
begin
   my_byte1     <= something_which_is_8_bits_wide;
   my_byte2[3:0]<= something_else_which_is_4_bits_wide;
end

【讨论】:

  • 感谢您的回复。我会试试这个。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多