首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何正确地将sc_lv转换为sc_uint?

问如何正确地将sc_lv转换为sc_uint?
EN

Stack Overflow用户
提问于 2013-11-28 16:39:00
回答 2查看 4K关注 0票数 0

对于一个项目,我正在尝试将从sc_lv<8>类型输入端口接收的值转换为sc_uint<8>类型信号。顺便说一下,输入端口连接到sc_signal_rv<8>通道。

我尝试使用下面这行代码转换输入数据:

代码语言:javascript
复制
sc_in< sc_lv<8> > data_in;

// Other declarations

sc_signal< sc_uint<8> > tx_data;

// Other declarations
// Assume that all else is properly declared

sc_uint<8> temp;
temp = (sc_uint<8>)data_in->read(); // Casting
tx_data.write(temp);

但我在模拟过程中收到了这样的警告:

Warning: (W211) sc_logic value 'Z' cannot be converted to bool

我想做一个案例的影响,但我不是完全确定。

有什么想法吗?

EN

回答 2

Stack Overflow用户

发布于 2013-12-03 06:44:12

这是一个警告,它会通知你关于4值到2值的转换,它会丢失信息。所以警告会让你警觉到

票数 0
EN

Stack Overflow用户

发布于 2013-12-05 17:48:15

同意魔术师的观点。但是,最好在没有任何警告的情况下编译您的程序,换句话说,警告是一个问题,您应该通过使用显式强制转换修改您的代码来回答:

代码语言:javascript
复制
sc_uint<8> temp = static_cast< sc_uint<8> >( data_in->read() );
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20261242

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档