从vhdl到verilog的转换
以下是Testbench中的VHDL语句从vhdl到verilog的转换,vhdl,verilog,Vhdl,Verilog,以下是Testbench中的VHDL语句 size_data <= to_unsigned(16,16); // data stream is 16 bits in size size\u dataVerilog自动进行类型转换 这是一个有符号的值: 有线签名[4:0]我已签名; 分配I_am_签名=16 这是未签名的: wire[4:0]我没有签名; 分配I_am_unsigned=16 这是错误的: wire-signed[3:0]I_-signed_但_太小了_-16; 为16=1
size_data <= to_unsigned(16,16); // data stream is 16 bits in size
size\u dataVerilog自动进行类型转换
这是一个有符号的值:
有线签名[4:0]我已签名;
分配I_am_签名=16代码>
这是未签名的:
wire[4:0]我没有签名;
分配I_am_unsigned=16代码>
这是错误的:
wire-signed[3:0]I_-signed_但_太小了_-16;
为16=16分配I\u签名,但I\u太小代码>
在最后一种情况下,不保证会收到警告或错误,但大多数编译器都会提供警告或错误。但是,如果它不知道这些值,则不会出现这种情况。这可能会出现可怕的错误:
assign I\u-am\u-signed\u但对于I\u-16,I\u-too\u-small\u=I\u-am\u-signed代码>
但这是一种从有符号转换为无符号的安全方法,反之亦然:
assign I_am_unsigned=I_am_signed;
分配I_am_signed=I_am_unsigned代码>