VHDL中的移位器设计
此项目是VHDL中的移位器设计。在此VHDL项目中,将在VHDL中实现一个具有移位和旋转数据能力的移位器,该移位器主要用于密码的置换和转置。 VHDL移位器是即将到来的协处理器处理单元中的关键组件。 快速移位和旋转功能对于密码应用至关重要。了解更多请下载附件。
应用介绍
此项目是VHDL中的移位器设计。
在此VHDL项目中,将在VHDL中实现一个具有移位和旋转数据能力的移位器,该移位器主要用于密码的置换和转置。 VHDL移位器是即将到来的协处理器处理单元中的关键组件。 快速移位和旋转功能对于密码应用至关重要。
移位器的输入/输出接口如上图所示。 移位器指令集如下:
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;
©版权声明:本文内容由互联网用户自发贡献,版权归原创作者所有,本站不拥有所有权,也不承担相关法律责任。如果您发现本站中有涉嫌抄袭的内容,欢迎发送邮件至: www_apollocode_net@163.com 进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。
转载请注明出处: apollocode » VHDL中的移位器设计
文件列表(部分)
名称 | 大小 | 修改日期 |
---|---|---|
VHDL中的移位器设计(附件).txt | 0.78 KB | 2020-04-06 |
Shifter.png | 4.16 KB | 2020-04-06 |
shifter1.png | 27.08 KB | 2020-04-06 |
shifter2.png | 16.72 KB | 2020-04-06 |
image | 0.00 KB | 2020-04-06 |
发表评论 取消回复