📄 b_sfr_spec.vhd
字号:
---------------------------------------------------- Model : 8051 Behavioral Model,-- VHDL Entity mc8051.b_sfr.interface---- Author : Michael Mayer (mrmayer@computer.org),-- Dr. Hardy J. Pottinger,-- Department of Electrical Engineering-- University of Missouri - Rolla---- Created at : 09/22/98 19:32:42--LIBRARY ieee ;USE ieee.std_logic_1164.all;USE ieee.numeric_std.all;LIBRARY mc8051 ;USE mc8051.synth_pack.all;ENTITY b_sfr IS PORT( addr_gb : IN std_logic_vector( 7 DOWNTO 0 ) ; indirect_sel : IN std_logic ; int_clk : IN std_logic ; int_rst : IN std_logic ; rd_gb : IN std_logic ; wr_gb : IN std_logic ; acknow : OUT std_logic ; data_gb : INOUT std_logic_vector( 7 DOWNTO 0 ) );-- DeclarationsEND b_sfr ;---- VHDL Architecture mc8051.b_sfr.spec---- Created:-- by - mrmayer.UNKNOWN (eeultra20.ee.umr.edu)-- at - 22:27:08 03/29/98---- Generated by Mentor Graphics' Renoir(TM) 3.0 (Build 110)--architecture spec of b_sfr is SIGNAL b_reg : std_logic_vector (7 DOWNTO 0) := "00000000"; SIGNAL b_sel : std_logic;begin -- The b is selected by addr E0 and NOT indirect_sel b_sel <= '1' WHEN (addr_gb = "11110000") AND (indirect_sel = '0') ELSE '0'; -- The acc is reset to 0's during reset, -- set to the data_gb during a write to acc, or else left alone. b_reg <= "00000000" WHEN int_rst = '1' ELSE -- reset data_gb WHEN wr_gb = '1' AND b_sel = '1' ELSE -- async b_reg; -- The data_gb is driven with the acc during a read from acc, -- or else left in high impedance. data_gb <= b_reg WHEN rd_gb = '1' AND b_sel = '1' ELSE "ZZZZZZZZ"; -- The acknowledge is pulled high when the global bus and acc -- reg become equal (considered stable) and the acc is selected. acknow <= '1' WHEN data_gb = b_reg AND b_sel = '1' ELSE 'Z';end spec;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -