首页 文章

VHDL std_logic_vector转换为带有numeric_std的signed和unsigned

提问于
浏览
2

我对使用 std_logic_vectorsigned / unsigned 的转换有一些疑问 . 我总是使用转换 signed(...)unsigned(...) ,但是当我尝试使用库 numeric_stdto_signedto unsigned )中定义的转换时,它不起作用 . 有人可以向我解释为什么会这样吗?为什么转换 unsigned()signed() 有效?

2 回答

  • 5

    因为 std_logic_vectorsigned / unsigned 类型密切相关,所以可以使用类型转换方式进行转换 . 所以 signed(a_std_logic_vector)unsigned(a_std_logic_vector) 没关系 . 但是,转换功能也在标准中定义 .

    看看VHDL FAQ . 这是一个旧网站,从新闻组仍然很热的时候开始,但它仍然有很多关于VHDL的好信息 .

  • 1

    查看numeric_std的包规范 . 你会发现to_signed从整数转换为signed ... .

    正如“vermaete”所说,signed是与std_logic_vector密切相关的类型,因此您不需要转换函数 .

相关问题