在这方面 VHDL项目 ,具有换档和旋转数据的能力的换档器,其主要用于密码和换位的换向,将在VHDL中实现。 VHDL移位器是即将到来的关键组件 共处理器 的加工单位。快速转换和旋转功能对于加密应用至关重要。
VHDL 移位器的代码将与其TestBench VHDL码一起呈现,用于功能模拟。

移位器的输入/输出接口显示在上图中。移位器指令集如下:
- shift_ctrl =“1000”:ShiftOut<= Rotate SHIFTINPUT >>8
- shift_ctrl =“1001”:ShiftOut<= Rotate SHIFTINPUT >>4
- shift_ctrl =“1010”:ShiftOut<=左移逻辑ShiftIndupput<< 8
vhdl代码为shifter:
library IEEE; use IEEE.STD_LOGIC_1164.ALL; -- fpga4student.com: FPGA projects, Verilog projects, VHDL项目 -- VHDL project: VHDL代码为移位器 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;
TestBench VHDL代码为换档器:
LIBRARY ieee; USE ieee.std_logic_1164.ALL; -- fpga4student.com: FPGA projects, Verilog projects, VHDL projects -- VHDL project: VHDL代码为移位器 -- VHDL testbench code for Shifter ENTITY tb_shifter IS END tb_shifter; ARCHITECTURE behavior OF tb_shifter IS -- Component Declaration for Shifter COMPONENT shifter PORT( SHIFTINPUT : IN std_logic_vector(15 downto 0); SHIFT_Ctrl : IN std_logic_vector(3 downto 0); SHIFTOUT : OUT std_logic_vector(15 downto 0) ); END COMPONENT; --Inputs signal SHIFTINPUT : std_logic_vector(15 downto 0) := (others => '0'); signal SHIFT_Ctrl : std_logic_vector(3 downto 0) := (others => '0'); --Outputs signal SHIFTOUT : std_logic_vector(15 downto 0); BEGIN -- Instantiate the Shifter uut: shifter PORT MAP ( SHIFTINPUT => SHIFTINPUT, SHIFT_Ctrl => SHIFT_Ctrl, SHIFTOUT => SHIFTOUT ); -- Stimulus process for shifter stim_proc: process begin SHIFTINPUT <= x"0044"; wait for 100 ns; SHIFT_Ctrl <= "1000";-- ROR8 wait for 100 ns; SHIFT_Ctrl <= "1001";-- ROR4 wait for 100 ns; SHIFT_Ctrl <= "1010";-- SLL8 wait; end process; END;
换档器的RTL示意图:

仿真波形为移位器:

推荐的 VHDL项目 :
1. 什么是FPGA? VHDL如何在FPGA上使用
2. FIFO内存的VHDL代码
3. FIR筛选器的VHDL代码
4. 8位微控制器的VHDL代码
5. 矩阵乘法的VHDL代码
6. 用于开关尾圈计数器的VHDL代码
7. FPGA上数字闹钟的VHDL代码
8. 8位比较器的VHDL代码
9. 如何使用VHDL将文本文件加载到FPGA中
10. D触发器的VHDL代码
11. 完整加法器的VHDL代码
12. VHDL. 中的PWM发生器,具有可变占空比
13. ALU的VHDL代码
14. VHDL. 代码用于测试台的计数器
15. 16位ALU的VHDL代码
16. vhdl的变速器设计
17. VHDL. 中的非线性查找表实现
18. VHDL. 中的加密协处理器设计
19。 Verilog vs vhdl. :通过示例解释
20。 FPGA时钟分频器的VHDL代码
22。 VHDL. 代码用于FPGA上的Debouncing按钮
23。 交通灯控制器的VHDL码
24。 VHDL. 代码为简单的2位比较器
25。 用于单端口RAM的VHDL代码
22。 VHDL. 代码用于FPGA上的Debouncing按钮
23。 交通灯控制器的VHDL码
24。 VHDL. 代码为简单的2位比较器
25。 用于单端口RAM的VHDL代码
26。 使用FSM的停车系统VHDL码
27。 VHDL. 编码VS软件编程
23。 交通灯控制器的VHDL码
24。 VHDL. 代码为简单的2位比较器
25。 用于单端口RAM的VHDL代码
22。 VHDL. 代码用于FPGA上的Debouncing按钮
23。 交通灯控制器的VHDL码
24。 VHDL. 代码为简单的2位比较器
25。 用于单端口RAM的VHDL代码
26。 使用FSM的停车系统VHDL码
27。 VHDL. 编码VS软件编程
没意见:
发表评论