在 Verilog 和 VHDL 中,`logic[19:4]` 和 `logic[15:0]` 之间究竟有什么区别?

用户234461

当然还有 VHDL 中的等效语法?

较低的索引是索引的最小界限吗?具有不同边界但相同宽度的信号之间的分配会发生什么?

马修·泰勒

假设您的意思是宽度相同......

...所以,在 Verilog 中,让我们假设您的意思是

logic [19:4] v19_4;
logic [15:0] v15_0;

在 Verilog模拟中,除非尝试索引位,否则您不会遇到任何差异。

如果你索引这些位,你会发现

  • 在第一种情况下,左手位是第 19 位(即v19_4[19]),而在第二种情况下,左手位是第 15 位(即v15_0[15]);

  • 在第一种情况下,右侧位是位 4(即v19_4[4]),而在第二种情况下,右侧位是位 0(即v15_0[0])。

在 Verilog 中,将左侧位称为“MSB”和右侧位称为“LSB”是有效的。

您将在 VHDL 中体验完全相同的行为。在 VHDL 中,假设您的意思是

signal v19_4 : std_logic_vector(19 downto 4);
signal v15_0 : std_logic_vector(15 downto 0);

同样,在 VHDL 模拟中,除非尝试索引位,否则您不会遇到任何差异如果你索引这些位,你会发现

  • 在第一种情况下,左手位是第 19 位(即v19_4(19)),而在第二种情况下,左手位是第 15 位(即v15_0(15));

  • 在第一种情况下,右侧位是位 4(即v19_4(4)),而在第二种情况下,右侧位是位 0(即v15_0(0))。

通过综合,您可能会看到不同之处。通常建议从 0 开始索引向量以进行合成,以消除合成比您需要的更多位的可能性。但是,我认为大多数合成器会优化掉多余的逻辑。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Verilog中=和<=有什么区别?

来自分类Dev

MediaFoundation RGB 数据和 BMP 之间究竟有什么区别?

来自分类Dev

Xilinx 警告 XST:1710 和 XST:1895 之间究竟有什么区别?

来自分类Dev

VHDL中<=和> =之间的区别?

来自分类Dev

verilog模块中的reg和wire有什么区别

来自分类Dev

对于Dafny中的数组,old(a [0])和old(a)[0]之间有什么区别

来自分类Dev

Lisp中的'(((1 2)(3 4)))和'('((1 2)'(3 4))之间有什么区别?

来自分类Dev

0,int()和int {}之间有什么区别?

来自分类Dev

“ Hash.new(0)”和“ {}”之间有什么区别

来自分类Dev

Neo4J中的节点和属性之间有什么区别?

来自分类Dev

vhdl +运算符和+函数有什么区别?

来自分类Dev

“”和“之间有什么区别?” 和 ”!” 在Swift中?

来自分类Dev

Verilog - 竖线(|)和“或”在使用上有什么区别

来自分类Dev

4和@ 4有什么区别?

来自分类Dev

4和@ 4有什么区别?

来自分类Dev

[0,1,2,3,4]和[[0],[1],[2],[3],[4]]和有什么区别?

来自分类Dev

> 0和> = 1有什么区别?

来自分类Dev

在OpenGL片段着色器中,gl_FragColor.a = 0和丢弃之间有什么区别?

来自分类Dev

VHDL中的mod和rem运算符之间的区别?

来自分类Dev

VHDL中管道和rising_edge之间的区别?

来自分类Dev

c++ 中的“int a, b =0”和“int a =0; int b = 0”有什么区别?

来自分类Dev

pdb中“ next”和“ until”之间有什么区别

来自分类Dev

Swift中的函数和方法之间有什么区别?

来自分类Dev

在phpunit中,__construct和setup之间有什么区别?

来自分类Dev

bash中<<,<<和<<之间有什么区别?

来自分类Dev

JMS中的MessageListener和Consumer之间有什么区别?

来自分类Dev

python中的* args和** args之间有什么区别?

来自分类Dev

Postgres中的元组和行之间有什么区别?

来自分类Dev

Qt中的插槽和方法之间有什么区别?

Related 相关文章

  1. 1

    在Verilog中=和<=有什么区别?

  2. 2

    MediaFoundation RGB 数据和 BMP 之间究竟有什么区别?

  3. 3

    Xilinx 警告 XST:1710 和 XST:1895 之间究竟有什么区别?

  4. 4

    VHDL中<=和> =之间的区别?

  5. 5

    verilog模块中的reg和wire有什么区别

  6. 6

    对于Dafny中的数组,old(a [0])和old(a)[0]之间有什么区别

  7. 7

    Lisp中的'(((1 2)(3 4)))和'('((1 2)'(3 4))之间有什么区别?

  8. 8

    0,int()和int {}之间有什么区别?

  9. 9

    “ Hash.new(0)”和“ {}”之间有什么区别

  10. 10

    Neo4J中的节点和属性之间有什么区别?

  11. 11

    vhdl +运算符和+函数有什么区别?

  12. 12

    “”和“之间有什么区别?” 和 ”!” 在Swift中?

  13. 13

    Verilog - 竖线(|)和“或”在使用上有什么区别

  14. 14

    4和@ 4有什么区别?

  15. 15

    4和@ 4有什么区别?

  16. 16

    [0,1,2,3,4]和[[0],[1],[2],[3],[4]]和有什么区别?

  17. 17

    > 0和> = 1有什么区别?

  18. 18

    在OpenGL片段着色器中,gl_FragColor.a = 0和丢弃之间有什么区别?

  19. 19

    VHDL中的mod和rem运算符之间的区别?

  20. 20

    VHDL中管道和rising_edge之间的区别?

  21. 21

    c++ 中的“int a, b =0”和“int a =0; int b = 0”有什么区别?

  22. 22

    pdb中“ next”和“ until”之间有什么区别

  23. 23

    Swift中的函数和方法之间有什么区别?

  24. 24

    在phpunit中,__construct和setup之间有什么区别?

  25. 25

    bash中<<,<<和<<之间有什么区别?

  26. 26

    JMS中的MessageListener和Consumer之间有什么区别?

  27. 27

    python中的* args和** args之间有什么区别?

  28. 28

    Postgres中的元组和行之间有什么区别?

  29. 29

    Qt中的插槽和方法之间有什么区别?

热门标签

归档