VHDL编程基础-通用寄存器
做了一个简单的通用寄存器,能实现并行寄存、左移、右移等。通过mod端口控制该寄存器的工作模式,作为一般寄存器,其数据位宽实现了参数化。
仿真波形如下图所示:
源代码如下:
LIBRARY ieee;
USE ieee.std_logic_1164.all;
ENTITY general_reg IS
GENERIC( n: Positive:= 8 );
PORT
(
clock : IN STD_LOGIC;
serinl, serinr : IN STD_LOGIC;
mode : IN STD_LOGIC_VECTOR(1 DOWNTO 0);
datain : IN STD_LOGIC_VECTOR((n-1) DOWNTO 0);
dataout : out STD_LOGIC_VECTOR((n-1) DOWNTO 0)
);
END ENTITY general_reg;
ARCHITECTURE rtl OF general_reg IS
SIGNAL int_reg : STD_LOGIC_VECTOR((n-1) DOWNTO 0);
BEGIN
main_proc : PROCESS
BEGIN
WAIT UNTIL rising_edge(clock);
CASE mode IS
-- ?′??
WHEN "00" => int_reg <= (OTHERS => '0');
-- 2¢DD??′?
WHEN "01" => int_reg <= datain;
-- ×óò?
WHEN "10" => int_reg <= int_reg((n-2) DOWNTO 0) & serinl;
-- óòò?
WHEN "11" => int_reg <= serinr & int_reg((n-1) DOWNTO 1);
WHEN OTHERS => NULL;
END CASE;
END PROCESS;
dataout <= int_reg;
END rtl;
VHDL_reg.rar_VHDL reg_regvhdl_reg在vhdl_寄存器
版权申诉
12 浏览量
2022-09-14
15:07:54
上传
评论
收藏 761B RAR 举报
林当时
- 粉丝: 101
- 资源: 1万+
最新资源
- (完整)数据库课程设计餐厅点餐说明书-21ab6d3c8beb172ded630b1c59eef8c75ebf952c.doc
- 2023-04-06-项目笔记 - 第一百五十四阶段 - 4.4.2.152全局变量的作用域-152 -2024.06.04
- 松哥解协议松哥解协议松哥解协议松哥解协议松哥解协议
- 618节日618节日618节日
- tensorflow-gpu-2.9.1-cp37-cp37m-win-amd64.whl
- tensorflow-gpu-2.9.0-cp37-cp37m-win-amd64.whl
- tensorflow-gpu-2.9.0-cp39-cp39-win-amd64.whl
- lcd daimalcd daima
- 电影领域-推荐算法-个性化内容-观影决策-电影推荐小程序.zip
- 电气控制PLC考试题库
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
评论0