本文介绍了无法确定运算符"/"的定义-找到0个可能的定义的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
use ieee.numeric_std.all;


port (
  clk, rst : in std_logic;
  data_in : in  std_logic_vector(7 downto 0);
  data_out : out std_logic_vector(7 downto 0)
 );


signal div : std_logic_vector(7 downto 0);

如何解决此行上的以下错误:

How can I solve the following error on this line:

div <= data_in / "00001011";

推荐答案

如果您确实要进行这种划分(这是资源密集型的),请使用:

If you really want to do this division (it's resource-intensive) use:

div <= std_logic_vector(unsigned(data_in)/unsigned'("00001011"));

VHDL是强类型的,因此您必须在单位之间进行显式转换.有些行的结尾可能会很长!

VHDL is strongly typed and you must therefore explicitly convert between units. Some lines can end up rather long!

这篇关于无法确定运算符"/"的定义-找到0个可能的定义的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-02 11:04