VHDL中的移位器设计

此项目是VHDL中的移位器设计。在此VHDL项目中,将在VHDL中实现一个具有移位和旋转数据能力的移位器,该移位器主要用于密码的置换和转置。 VHDL移位器是即将到来的协处理器处理单元中的关键组件。 快速移位和旋转功能对于密码应用至关重要。了解更多请下载附件。

应用介绍

此项目是VHDL中的移位器设计。

在此VHDL项目中,将在VHDL中实现一个具有移位和旋转数据能力的移位器,该移位器主要用于密码的置换和转置。 VHDL移位器是即将到来的协处理器处理单元中的关键组件。 快速移位和旋转功能对于密码应用至关重要。
shifter2.png

移位器的输入/输出接口如上图所示。 移位器指令集如下:

SHIFT_Ctrl = "1000": SHIFTOUT <= Rotate SHIFTINPUT >>8

SHIFT_Ctrl = "1001": SHIFTOUT <= Rotate SHIFTINPUT >>4

SHIFT_Ctrl = "1010": SHIFTOUT <= Shift Left Logical SHIFTINPUT << 8

附件中包括:移位器的VHDL代码和移位器的Testbench VHDL代码。

本人在下方展示了移位器的VHDL代码;想了解更多请下载附件。

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
-- fpga4student.com: FPGA projects, Verilog projects, VHDL projects
-- VHDL project: VHDL code for Shifter
entity shifter is
  generic ( N: integer:=16
  );
    Port ( SHIFTINPUT : in  STD_LOGIC_VECTOR(N-1 downto 0);
   SHIFT_Ctrl : in  STD_LOGIC_VECTOR(3 downto 0); 
   SHIFTOUT: out  STD_LOGIC_VECTOR(N-1 downto 0)
  );
end shifter;
architecture Behavioral of shifter is
begin
process(SHIFTINPUT,SHIFT_Ctrl)
begin
case(SHIFT_Ctrl) is
when "1000" => SHIFTOUT <= SHIFTINPUT(7 downto 0)&SHIFTINPUT(15 downto 8);-- ROR8
when "1001" => SHIFTOUT <= SHIFTINPUT(3 downto 0)&SHIFTINPUT(15 downto 4);-- ROR4
when "1010" => SHIFTOUT <= SHIFTINPUT(7 downto 0) & "00000000"; -- SLL8
when others => SHIFTOUT <= x"0000";
end case;
end process;
end Behavioral;

文件列表(部分)

名称 大小 修改日期
VHDL中的移位器设计(附件).txt0.78 KB2020-04-06
Shifter.png4.16 KB2020-04-06
shifter1.png27.08 KB2020-04-06
shifter2.png16.72 KB2020-04-06
image0.00 KB2020-04-06

立即下载

相关下载

[VHDL中的移位器设计] 此项目是VHDL中的移位器设计。在此VHDL项目中,将在VHDL中实现一个具有移位和旋转数据能力的移位器,该移位器主要用于密码的置换和转置。 VHDL移位器是即将到来的协处理器处理单元中的关键组件。 快速移位和旋转功能对于密码应用至关重要。了解更多请下载附件。

评论列表 共有 0 条评论

暂无评论

微信捐赠

微信扫一扫体验

立即
上传
发表
评论
返回
顶部