MAX +PLUS®IIVHDL是否支持altdpram宏功能?

MAX + PLUS II软件9.2及更高版本包含组件LPM_RAM_DP ,它相当于altdpram并支持使用可以用文件初始化RAM的GENERIC

altdpram宏功能来实现Altera的双端口RAM®器件。它使用一个名为FILEGENERIC ,它也是一个VHDL关键字。但是,以这种方式使用关键字FILE在VHDL组件声明中是非法的,因此,在MAX + PLUS II VHDL中不起作用。

使用文件初始化RAM时,只需要此GENERIC 。如果不需要altdpram宏功能的此功能, altdpram以为不包含FILE GENERICaltdpram宏功能进行组件实例化。下面的示例显示了如何为256 x 8版本的altdpram执行此altdpram

 LIBRARY ieee;

使用ieee.std_logic_1164.all;

...

ENTITY dpram256x8是

港口(

数据:IN STD_LOGIC_VECTOR(7 downto 0);

rdaddress:IN STD_LOGIC_VECTOR(7 downto 0);

    wraddress:IN STD_LOGIC_VECTOR(7 downto 0);

ren:IN STD_LOGIC;

文:IN STD_LOGIC;

inclock:IN STD_LOGIC;

inclocken:IN STD_LOGIC;

超时:IN STD_LOGIC;

outclocken:IN STD_LOGIC;

q:OUT STD_LOGIC_VECTOR(7 downto 0)

);

END dpram256x8;

...

dpram256x8 IS的架构示例

...

COMPONENT altdpram

     GENERIC(WIDTH:POSITIVE;

WIDTHAD:积极的;

NUMWORDS:积极;

 -  LPM_FILE:string;

WRADDRESS_REG:string:=“INCLOCK”;

WRADDRESS_ACLR:string:=“ON”;

WRCONTROL_REG:string:=“INCLOCK”;

WRCONTROL_ACLR:string:=“ON”;

RDADDRESS_REG:string:=“OUTCLOCK”;

RDADDRESS_ACLR:string:=“ON”;

RDCONTROL_REG:string:=“OUTCLOCK”;

RDCONTROL_ACLR:string:=“ON”;

INDATA_REG:string:=“INCLOCK”;

INDATA_ACLR:string:=“ON”;

OUTDATA_REG:string:=“UNREGISTERED”;

OUTDATA_ACLR:string:=“ON”);

       PORT(数据:IN STD_LOGIC_VECTOR(WIDTH-1 DOWNTO 0);

              rdaddress:IN STD_LOGIC_VECTOR(WIDTHAD-1 DOWNTO 0);

              wrAddress:IN STD_LOGIC_VECTOR(WIDTHAD-1 DOWNTO 0);

              rden:IN STD_LOGIC;

              wren:IN STD_LOGIC;

              q:OUT STD_LOGIC_VECTOR(WIDTH-1 DOWNTO 0);

              inclock:IN STD_LOGIC;

              inclocken:IN STD_LOGIC;

              超时:IN STD_LOGIC;

              outclocken:IN STD_LOGIC;

              aclr:IN STD_LOGIC);

最终组件;

..

SIGNAL vcc:std_logic;

SIGNAL gnd:std_logic;

开始

...

vcc <='1';

gnd <='0';

inst_1:altdpram

GENERIC MAP(宽度=> 8,widthad => 8,numwords => 256)

端口映射(data => data,rdaddress => rdaddress,wraddress => wraddress,

  rden => ren,wren => wen,inclock => inclock, 

  inclocken => vcc,outclock => outclock, 

  outclocken => vcc,aclr => gnd,q => q); ...

结束例子; 
编辑 重设标签(回车键确认) 标为违禁 关闭 合并 删除

提问于 2018-08-04 14:23:07 +0800

这个帖子被标记为一个社区wiki

这个帖子是一个wiki(维基). 任何一个积分 >500的人都可以完善它