vhdl实现寄存器的代码(生成的元件更少)

本文档提供了一段使用VHDL语言实现的寄存器代码,通过库IEEE.STD_LOGIC_1164, IEEE.STD_LOGIC_ARITH和IEEE.STD_LOGIC_UNSIGNED,创建了一个带有输入输出接口的寄存器组件。当使能信号cs和写入信号wr为高时,数据被写入寄存器;当cs和读取信号rd为高时,数据从寄存器中读出。在非活动状态下,数据端口默认为"ZZZZ"。" 128767166,11222196,OP-TEE实战:TA与CA调试与应用解析,"['系统安全', 'TEEOS', 'TA', 'CA']
摘要由CSDN通过智能技术生成

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;

--  Uncomment the following lines to use the declarations that are
--  provided for instantiating Xilinx primitive components.
--library UNISIM;
--use UNISIM.VComponents.all;

entity exprience1 is
    Port ( cs : in std_logic;
           wr : in std_logic;
           rd : in std_logic;
           data : inout std_logic_vector(3 downto 0)
             --signal tmp: inout std_logic_vector(3 downto 0));
            );
end exprience1;

architecture Behavioral of exprience1 is
signal tmp: std_logic_vector(3 downto 0);
begin

p1:process(cs, wr)
begin
 if(cs = '1'and wr = '1') then
  tmp <=data;
 else data <= "ZZZZ";
 end if;
end process p1;

p2:process(cs,rd)
begin
 if(cs = '1' and rd = '1') then
  data <= tmp;
 else data <= "ZZZZ";
 end if;
end process p2;
  
end Behavioral;


;

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值