📄 choice1from2.vhd
字号:
--/*****************************************************************************
-- * 源文件: choice1from2.vhd
-- * 模块: 2选1选择器
-- * 版权:
-- * Copyright(C) 北京联华众科科技有限公司
-- * www.lianhua-zhongke.com.cn
-- * 版本: Version 1.0
-- *
-- * 功能说明:
-- * 根据输入的选择指示,从2路输入中选择一路输出
-- *
-- * 参数说明:
-- * 输出
-- * data - 从2路输入中选择输出的1路
-- *
-- * 输入
-- * data0 - 第1路输入数据,数据宽度由参数data_width指定
-- * data1 - 第2路输入数据,数据宽度由参数data_width指定
-- * choice - 选择指示,0 - 选择第1路,1 - 选择第2路
-- * reset - 复位信号,低电平有效
-- *
-- * 参数
-- * data_width - 数据位数
-- *
-- * 变更记录:
-- * 2006.01.28, 新建
-- *
-- *****************************************************************************/
LIBRARY ieee;USE ieee.std_logic_1164.all;USE ieee.std_logic_arith.all;USE ieee.std_logic_unsigned.all;ENTITY choice1from2 IS GENERIC ( data_width : INTEGER:= 4 ); PORT ( data : OUT STD_LOGIC_VECTOR(data_width-1 downto 0); data0 : IN STD_LOGIC_VECTOR(data_width-1 downto 0); data1 : IN STD_LOGIC_VECTOR(data_width-1 downto 0); choice : IN STD_LOGIC; reset : IN STD_LOGIC );END choice1from2;ARCHITECTURE choice1from2_architecture OF choice1from2 IS BEGIN PROCESS(choice, reset) BEGIN IF (reset = '0') THEN data <= CONV_STD_LOGIC_VECTOR(0, data_width); ELSE CASE choice IS WHEN '0' => data <= data0; WHEN '1' => data <= data1; WHEN OTHERS => data <= CONV_STD_LOGIC_VECTOR(0, data_width); END CASE; END IF; END PROCESS;END choice1from2_architecture;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -