1、任务四 实体例题编程,一、任务描述 对如右图所示的具有异步清零、同步置数、计数使能及进位功能的4位二进制计数器进行实体说明。 其中,CLK为计数时钟;LOAD为同步预置数使能;EN为计数使能;CLR为清零引脚;D0D3为预置数输入端;Q0Q3为计数输出端。,二 任务分析 要描述具有多种功能的计数器实体,主要就是描述其与外部连接的端口。这就需要理解端口模式、数据类型及其命名规则。,VHDL语法构成,本次实验相关理论知识主要包括:VHDL程序结构与 实体、文字规则、数据类型,实 体 举 例,ENTITY black_box IS PORT ( clk, rst: IN std_logic;d: I
2、N std_logic_vector(7 DOWNTO 0);q: OUT std_logic_vector(7 DOWNTO 0);co: OUT std_logic); END black_box;,ENTITY black_box IS Generic ( constant width : integer := 7); PORT ( clk, rst: IN std_logic;d: IN std_logic_vector(width DOWNTO 0);q: OUT std_logic_vector(width DOWNTO 0);co: OUT std_logic); END bla
3、ck_box;,类属可以使设计人员可以从外面设定类属参量的值,从而很轻易的改变一个设计实体或一个原件的内部电路结构和规模。,entity counter isport(d : in integer range 0 to 15; -预置数输入端clk : in std_logic; -计数时钟clr : in std_logic; -清零信号en : in std logic; -计数使能load : in std logic; -置数使能co : out std logic; -进位输出q : out integer range 0 to 15 -计数输出); end counter;,ent
4、ity counter isport(d : in std_logic_vector(3 downto 0) ; -预置数输入端clk : in std_logic; -计数时钟clr : in std_logic; -清零信号en : in std logic; -计数使能load : in std logic; -置数使能co : out std logic; -进位输出q : out std_logic_vector(3 downto 0) -计数输出); end counter;,练习一:编写包含以下内容的实体代码端口 D 为12位输入总线端口 OE 和 CLK 都是1位输入端口 AD
5、 为 12位双向总线端口 A为12位输出总线端口 INT 是1位输出端口 AS 是一位输出同时被用作内部反馈,练习一答案,ENTITY my_design IS PORT ( d: IN std_logic_vector(11 DOWNTO 0);oe, clk: IN std_logic;ad: INOUT std_logic_vector(11 DOWNTO 0);a:OUT std_logic_vector(11 DOWNTO 0);int: OUT std_logic;as: BUFFER std_logic); END my_design;,练 习二,1、编写包含全加器的实体代码。2、编写4选1数据选择器的实体代码。,