Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

error in shift operator in vhdl

Status
Not open for further replies.

Mkanimozhi

Full Member level 4
Joined
Aug 8, 2007
Messages
194
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,296
Activity points
3,456
vhdl shift

need simple code in vhdl using shift opeartors
buz
here is my code , but i m getting error

----------------------------------------------------------------------------------
-- Company:
-- Engineer:
--
-- Create Date: 10:41:21 12/22/2008
-- Design Name:
-- Module Name: sll_op - Behavioral
-- Project Name:
-- Target Devices:
-- Tool versions:
-- Description:
--
-- Dependencies:
--
-- Revision:
-- Revision 0.01 - File Created
-- Additional Comments:
--
----------------------------------------------------------------------------------
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
use ieee.numeric_std.all;

---- Uncomment the following library declaration if instantiating
---- any Xilinx primitives in this code.
--library UNISIM;
--use UNISIM.VComponents.all;

entity sll_op is
port(
a: in std_logic_vector(4 downto 0);
b: out std_logic_vector(4 downto 0));
end sll_op;

architecture Behavioral of sll_op is
begin
b<= a srl 1;
end Behavioral;


thanks in advance
kanimozhi.m
 

FvM

Super Moderator
Staff member
Joined
Jan 22, 2008
Messages
49,119
Helped
14,379
Reputation
29,022
Reaction score
13,130
Trophy points
1,393
Location
Bochum, Germany
Activity points
283,155
vhdl shift operator

You are using a numeric_std shift function, that isn't defined for std_logic_vector.

Generally, it most likely doesn't make sense to mix incompatible numeric libraries. In any case, if using libraries, it's necessary to learn about the available library functions and the applicable types.

Another option is avoid library functions in this case and write explicitely what you want:
Code:
b <= '0' & a(4 downto 1);
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Top