HOME VHDL CODES C PROGRAMS SOCCER BUZzz TECH INFO


--VHDL code for Barrel Shifter:

library ieee;
use ieee.std_logic_1164.all;

entity barrel is
port(inp:in std_logic_vector(7 downto 0);
shift:in std_logic_vector(2 downto 0);
outp:out std_logic_vector(7 downto 0));
end barrel;

architecture behaviour of barrel is
begin
process(inp,shift)
variable temp1:std_logic_vector(7 downto 0);
variable temp2:std_logic_vector(7 downto 0);
begin
--1st shifter
if(shift(0)='0') then
temp1:=inp;
else
temp1(0):='0';
for i in 1 to 7 loop
temp1(i):=inp(i-1);
end loop;
end if;

--2nd shifter

if(shift(1)='0') then
temp2:=temp1;
else

for i in 0 to 1 loop
temp2(i):='0';
end loop;
for i in 2 to inp'high loop
temp2(i):=temp1(i-2);
end loop;
end if;


--3rd shifter
if(shift(2)='0') then
outp<=temp2;
else 
for i in 0 to 3 loop
outp(i)<='0';
end loop;
for i in 4 to inp'high loop
outp(i)<=inp(i-4);
end loop;
end if;
end process;
end behaviour;


The above code has been executed and has been found to have no errors..!  
plz do comment..!
thank u..!! :) :)

1 comments:

Could you comment what do each blocks?
I mean: -- 1st shifter: (and here the comment)

Thanks!

Post a Comment

Total Pageviews

About this blog

Contributors

Followers

Powered by Blogger.

Labels