quartus II,IP核调用 VHDL 5
请问调用时类属参数怎么设置,调用时没看到这一块啊,可程序中要用比如我调用Lpm_add_subPORT(aclr:INSTD_LOGIC;add_sub:INSTD_LO...
请问调用时类属参数怎么设置,调用时没看到这一块啊,可程序中要用
比如我调用Lpm_add_sub
PORT
(
aclr : IN STD_LOGIC ;
add_sub : IN STD_LOGIC ;
cin : IN STD_LOGIC ;
clken : IN STD_LOGIC ;
clock : IN STD_LOGIC ;
dataa : IN STD_LOGIC_VECTOR (15 DOWNTO 0);
datab : IN STD_LOGIC_VECTOR (15 DOWNTO 0);
cout : OUT STD_LOGIC ;
overflow : OUT STD_LOGIC ;
result : OUT STD_LOGIC_VECTOR (15 DOWNTO 0) );
这些在调用时端口都可以调出来,但是
GENERIC
(LPM_WIDTH : NATURAL; -- MUST BE GREATER THAN 0
LPM_DIRECTION : STRING := "UNUSED";
LPM_REPRESENTATION : STRING := "SIGNED";
LPM_PIPELINE : NATURAL := 0;
LPM_TYPE : STRING := "LPM_ADD_SUB";
LPM_HINT : STRING := "UNUSED" );
这些怎么在调用时设置呢?
就是在调用设置时,怎么找到并设置这些类属参数选项??我只会把端口设置出来,参数就不知道怎么办了。恳请高人解答。 展开
比如我调用Lpm_add_sub
PORT
(
aclr : IN STD_LOGIC ;
add_sub : IN STD_LOGIC ;
cin : IN STD_LOGIC ;
clken : IN STD_LOGIC ;
clock : IN STD_LOGIC ;
dataa : IN STD_LOGIC_VECTOR (15 DOWNTO 0);
datab : IN STD_LOGIC_VECTOR (15 DOWNTO 0);
cout : OUT STD_LOGIC ;
overflow : OUT STD_LOGIC ;
result : OUT STD_LOGIC_VECTOR (15 DOWNTO 0) );
这些在调用时端口都可以调出来,但是
GENERIC
(LPM_WIDTH : NATURAL; -- MUST BE GREATER THAN 0
LPM_DIRECTION : STRING := "UNUSED";
LPM_REPRESENTATION : STRING := "SIGNED";
LPM_PIPELINE : NATURAL := 0;
LPM_TYPE : STRING := "LPM_ADD_SUB";
LPM_HINT : STRING := "UNUSED" );
这些怎么在调用时设置呢?
就是在调用设置时,怎么找到并设置这些类属参数选项??我只会把端口设置出来,参数就不知道怎么办了。恳请高人解答。 展开
展开全部
相关语法是generic map 如果使用定义时写好的缺省值 可以不写 也可以只改变一部分
例如调用一个altera的触发器
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
LIBRARY lpm;
USE lpm.lpm_components.ALL;
ENTITY reg24lpm IS
PORT(
d : IN STD_LOGIC_VECTOR(23 DOWNTO 0);
clk : IN STD_LOGIC;
q : OUT STD_LOGIC_VECTOR(23 DOWNTO 0));
END reg24lpm;
ARCHITECTURE arch OF reg24lpm IS
BEGIN
reg12a : lpm_ff
GENERIC MAP (LPM_WIDTH => 13)
PORT MAP (data => d(12 DOWNTO 0), clock => clk,
q => q(12 DOWNTO 0));
reg12b : lpm_ff
GENERIC MAP (LPM_WIDTH => 11)
PORT MAP (data => d(23 DOWNTO 13), clock => clk,
q => q(23 DOWNTO 13));
END arch;
例如调用一个altera的触发器
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
LIBRARY lpm;
USE lpm.lpm_components.ALL;
ENTITY reg24lpm IS
PORT(
d : IN STD_LOGIC_VECTOR(23 DOWNTO 0);
clk : IN STD_LOGIC;
q : OUT STD_LOGIC_VECTOR(23 DOWNTO 0));
END reg24lpm;
ARCHITECTURE arch OF reg24lpm IS
BEGIN
reg12a : lpm_ff
GENERIC MAP (LPM_WIDTH => 13)
PORT MAP (data => d(12 DOWNTO 0), clock => clk,
q => q(12 DOWNTO 0));
reg12b : lpm_ff
GENERIC MAP (LPM_WIDTH => 11)
PORT MAP (data => d(23 DOWNTO 13), clock => clk,
q => q(23 DOWNTO 13));
END arch;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
Storm代理
2023-07-25 广告
2023-07-25 广告
StormProxies是一家提供动态代理服务器服务的企业,旨在帮助用户更好地管理网络访问和安全。以下是一些关于StormProxies的IP动态代理服务的特点:1. 高匿名性:StormProxies的动态代理服务器具有高匿名性,可以有效...
点击进入详情页
本回答由Storm代理提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询