modelsim仿真时出现warning,不出波形
时间:10-02
整理:3721RD
点击:
modelsim仿真时最后出现
# add wave *
# view structure
# .main_pane.structure.interior.cs.body.struct
# view signals
# .main_pane.objects.interior.cs.body.tree
# run -all
# ** Warning: There is an 'U'|'X'|'W'|'Z'|'-' in an arithmetic operand, the result will be 'X'(es).
# Time: 0 ps Iteration: 0 Instance: /svpwm_1_vhd_tst/i1/b2v_inst9
# ** Warning: CONV_INTEGER: There is an 'U'|'X'|'W'|'Z'|'-' in an arithmetic operand, and it has been converted to 0.
# Time: 0 ps Iteration: 0 Instance: /svpwm_1_vhd_tst/i1/b2v_inst9
# ** Warning: There is an 'U'|'X'|'W'|'Z'|'-' in an arithmetic operand, the result will be 'X'(es).
# Time: 0 ps Iteration: 0 Instance: /svpwm_1_vhd_tst/i1/b2v_inst9
# ** Warning: CONV_INTEGER: There is an 'U'|'X'|'W'|'Z'|'-' in an arithmetic operand, and it has been converted to 0.
# Time: 0 ps Iteration: 0 Instance: /svpwm_1_vhd_tst/i1/b2v_inst9
# ** Warning: There is an 'U'|'X'|'W'|'Z'|'-' in an arithmetic operand, the result will be 'X'(es).
# Time: 0 ps Iteration: 0 Instance: /svpwm_1_vhd_tst/i1/b2v_inst9
# ** Warning: CONV_INTEGER: There is an 'U'|'X'|'W'|'Z'|'-' in an arithmetic operand, and it has been converted to 0.
# Time: 0 ps Iteration: 0 Instance: /svpwm_1_vhd_tst/i1/b2v_inst9
# ** Warning: There is an 'U'|'X'|'W'|'Z'|'-' in an arithmetic operand, the result will be 'X'(es).
# Time: 0 ps Iteration: 0 Instance: /svpwm_1_vhd_tst/i1/b2v_inst8
# ** Warning: CONV_INTEGER: There is an 'U'|'X'|'W'|'Z'|'-' in an arithmetic operand, and it has been converted to 0.
# Time: 0 ps Iteration: 0 Instance: /svpwm_1_vhd_tst/i1/b2v_inst8
# ** Warning: There is an 'U'|'X'|'W'|'Z'|'-' in an arithmetic operand, the result will be 'X'(es).
# Time: 0 ps Iteration: 0 Instance: /svpwm_1_vhd_tst/i1/b2v_inst8
# ** Warning: CONV_INTEGER: There is an 'U'|'X'|'W'|'Z'|'-' in an arithmetic operand, and it has been converted to 0.
# Time: 0 ps Iteration: 0 Instance: /svpwm_1_vhd_tst/i1/b2v_inst8
# ** Warning: There is an 'U'|'X'|'W'|'Z'|'-' in an arithmetic operand, the result will be 'X'(es).
# Time: 0 ps Iteration: 0 Instance: /svpwm_1_vhd_tst/i1/b2v_inst8
# ** Warning: CONV_INTEGER: There is an 'U'|'X'|'W'|'Z'|'-' in an arithmetic operand, and it has been converted to 0.
# Time: 0 ps Iteration: 0 Instance: /svpwm_1_vhd_tst/i1/b2v_inst8
我已经赋过初值了,测试激励也写入了,但会跳出这些,下面是我第八第九模块VHDL源程序。
求教,网上找了很多,也改了好多次,都不行。
这里两个模块的输入主要是三相正弦电压用八位二进制表示来输入,我怀疑应该是出错在我把Uab,Ubc,Uca从std_logic_vector转换成INTEGER时,语句不对或者格式不对。
求大神指点!
================第八模块:矢量作用时间==================
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity vector_time is
Port(Ts: in INTEGER;
Ud: in INTEGER;
Uab: in std_logic_vector(7 downto 0);
Ubc: in std_logic_vector(7 downto 0);
Uca: in std_logic_vector(7 downto 0);
N:in INTEGER;
Tx: out INTEGER;
Ty: out INTEGER);
end vector_time;
architecture Behavioral of vector_time is
signal x, y : INTEGER:=0;
signal ab,bc,ca: INTEGER range 0 to 255;
begin
ab x x x x x x null;
end case;
end process;
Tx = 0 else'0';
x(1) = 0 else'0';
x(0) = 0 else'0';
process(x)
begin
case x is
when"110"=>N N N N N N null;
end case;
end process;
end Behavioral;
# add wave *
# view structure
# .main_pane.structure.interior.cs.body.struct
# view signals
# .main_pane.objects.interior.cs.body.tree
# run -all
# ** Warning: There is an 'U'|'X'|'W'|'Z'|'-' in an arithmetic operand, the result will be 'X'(es).
# Time: 0 ps Iteration: 0 Instance: /svpwm_1_vhd_tst/i1/b2v_inst9
# ** Warning: CONV_INTEGER: There is an 'U'|'X'|'W'|'Z'|'-' in an arithmetic operand, and it has been converted to 0.
# Time: 0 ps Iteration: 0 Instance: /svpwm_1_vhd_tst/i1/b2v_inst9
# ** Warning: There is an 'U'|'X'|'W'|'Z'|'-' in an arithmetic operand, the result will be 'X'(es).
# Time: 0 ps Iteration: 0 Instance: /svpwm_1_vhd_tst/i1/b2v_inst9
# ** Warning: CONV_INTEGER: There is an 'U'|'X'|'W'|'Z'|'-' in an arithmetic operand, and it has been converted to 0.
# Time: 0 ps Iteration: 0 Instance: /svpwm_1_vhd_tst/i1/b2v_inst9
# ** Warning: There is an 'U'|'X'|'W'|'Z'|'-' in an arithmetic operand, the result will be 'X'(es).
# Time: 0 ps Iteration: 0 Instance: /svpwm_1_vhd_tst/i1/b2v_inst9
# ** Warning: CONV_INTEGER: There is an 'U'|'X'|'W'|'Z'|'-' in an arithmetic operand, and it has been converted to 0.
# Time: 0 ps Iteration: 0 Instance: /svpwm_1_vhd_tst/i1/b2v_inst9
# ** Warning: There is an 'U'|'X'|'W'|'Z'|'-' in an arithmetic operand, the result will be 'X'(es).
# Time: 0 ps Iteration: 0 Instance: /svpwm_1_vhd_tst/i1/b2v_inst8
# ** Warning: CONV_INTEGER: There is an 'U'|'X'|'W'|'Z'|'-' in an arithmetic operand, and it has been converted to 0.
# Time: 0 ps Iteration: 0 Instance: /svpwm_1_vhd_tst/i1/b2v_inst8
# ** Warning: There is an 'U'|'X'|'W'|'Z'|'-' in an arithmetic operand, the result will be 'X'(es).
# Time: 0 ps Iteration: 0 Instance: /svpwm_1_vhd_tst/i1/b2v_inst8
# ** Warning: CONV_INTEGER: There is an 'U'|'X'|'W'|'Z'|'-' in an arithmetic operand, and it has been converted to 0.
# Time: 0 ps Iteration: 0 Instance: /svpwm_1_vhd_tst/i1/b2v_inst8
# ** Warning: There is an 'U'|'X'|'W'|'Z'|'-' in an arithmetic operand, the result will be 'X'(es).
# Time: 0 ps Iteration: 0 Instance: /svpwm_1_vhd_tst/i1/b2v_inst8
# ** Warning: CONV_INTEGER: There is an 'U'|'X'|'W'|'Z'|'-' in an arithmetic operand, and it has been converted to 0.
# Time: 0 ps Iteration: 0 Instance: /svpwm_1_vhd_tst/i1/b2v_inst8
我已经赋过初值了,测试激励也写入了,但会跳出这些,下面是我第八第九模块VHDL源程序。
求教,网上找了很多,也改了好多次,都不行。
这里两个模块的输入主要是三相正弦电压用八位二进制表示来输入,我怀疑应该是出错在我把Uab,Ubc,Uca从std_logic_vector转换成INTEGER时,语句不对或者格式不对。
求大神指点!
================第八模块:矢量作用时间==================
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity vector_time is
Port(Ts: in INTEGER;
Ud: in INTEGER;
Uab: in std_logic_vector(7 downto 0);
Ubc: in std_logic_vector(7 downto 0);
Uca: in std_logic_vector(7 downto 0);
N:in INTEGER;
Tx: out INTEGER;
Ty: out INTEGER);
end vector_time;
architecture Behavioral of vector_time is
signal x, y : INTEGER:=0;
signal ab,bc,ca: INTEGER range 0 to 255;
begin
ab x x x x x x null;
end case;
end process;
Tx = 0 else'0';
x(1) = 0 else'0';
x(0) = 0 else'0';
process(x)
begin
case x is
when"110"=>N N N N N N null;
end case;
end process;
end Behavioral;