[ISE] how to synthesize XilinxProcessorIP/pcore

Dear

I want to synthesize "opb_arbiter" in ISE.

What I did was (1) Locate "opb_arbiter_v02_e" and "proc_utils_v1_00_a" (located in EDK directory) (2) Set up parameter : number of master = 4 (default) (3) Compile top module "opb_arbiter".

However an error occurs, as indicated in the source codes below.

/opb_arbiter_v1_02_e/hdl/vhdl/opb_bus_arbiter/onehot2encoded.vhd Error : or_bits is not an entity name

Let us know how to synthesize, if anyone has this experience. Thank you in advance.

-----------------------------------------------------------------------------------------------------

-- /opb_arbiter_v1_02_e/hdl/vhdl/opb_bus_arbiter/onehot2encoded.vhd

----------------------------------------------------------------------------------------------------- library ieee; use ieee.std_logic_1164.all;

-------------------------------------------------------------------------------

-- OPB_ARB_PKG includes necessary constants and functions

------------------------------------------------------------------------------- library unisim; use unisim.vcomponents.all;

library opb_arbiter_v1_02_e; use opb_arbiter_v1_02_e.opb_arb_pkg.all;

library proc_common_v2_00_a;

-------------------------------------------------------------------------------

-- Port Declaration

-------------------------------------------------------------------------------

-------------------------------------------------------------------------------

-- Definition of Generics:

-- C_1HOT_BUS_SIZE -- number of bits in the 1-hot bus

--

-- Definition of Ports:

-- Bus_1hot -- input 1-hot bus

-- Bus_enc -- output encoded bus

--

-------------------------------------------------------------------------------

-----------------------------------------------------------------------------

-- Entity section

----------------------------------------------------------------------------- entity onehot2encoded is generic ( C_1HOT_BUS_SIZE : integer := 8 ); port ( Bus_1hot : in std_logic_vector(0 to C_1HOT_BUS_SIZE-1); Bus_enc : out std_logic_vector(0 to log2(C_1HOT_BUS_SIZE)-1) ); end onehot2encoded;

-----------------------------------------------------------------------------

-- Architecture section

----------------------------------------------------------------------------- architecture implementation of onehot2encoded is

-------------------------------------------------------------------------------

-- Constant Declarations

-------------------------------------------------------------------------------

-- encoder logic requires that the 1hot bus be padded to next power of

2 constant PAD_1HOT_BUS_SIZE : integer := pad_power2(C_1HOT_BUS_SIZE);

-------------------------------------------------------------------------------

-- Signal Declarations

------------------------------------------------------------------------------- signal pad_1hot_bus : std_logic_vector(0 to PAD_1HOT_BUS_SIZE-1) := (others => '0');

-------------------------------------------------------------------------------

-- Component Declarations

-------------------------------------------------------------------------------

-- OR_BITS is used to determine if segments of the 1-hot bus are '1'

-----------------------------------------------------------------------------

-- Begin architecture

----------------------------------------------------------------------------- begin

-------------------------------------------------------------------------------

-- Padded bus generation

------------------------------------------------------------------------------- pad_1hot_bus(0 to C_1HOT_BUS_SIZE-1) '0');

begin

OR_GENERATE: for j in 1 to 2**i generate

--------------------------------------------------------------------------------- ---- Here error occurs : ---- Error : or_bits is not an entity name

---------------------------------------------------------------------------------- BUS_OR: entity proc_common_v2_00_a.or_bits generic map ( C_NUM_BITS => PAD_1HOT_BUS_SIZE/2**(i+1), C_START_BIT => PAD_1HOT_BUS_SIZE/2**(i+1) + (j-1)*PAD_1HOT_BUS_SIZE/

2**i, C_BUS_SIZE => PAD_1HOT_BUS_SIZE ) port map ( In_Bus => pad_1hot_bus, Sig => temp_or(j-1), Or_out => temp_or(j) ); end generate OR_GENERATE;

Bus_enc(i)

Reply to
Pasacco
Loading thread data ...

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.