英特尔Agilex® 7嵌入式存储器用户指南

ID 683241
日期 4/10/2023
Public
文档目录

4.1.8. RAM和ROM接口信号

表 30.   英特尔Agilex® 7 RAM和ROM IP的接口信号
信号 方向 是否需要 描述
data_a 输入 可选 存储器端口A的数据输入。

data_a端口需要用于所有RAM操作模式:

  • SINGLE_PORT
  • DUAL_PORT
  • BIDIR_DUAL_PORT
  • QUAD_PORT
address_a 输入 存储器端口A的地址输入。

address_a信号需要用于所有操作模式。

address2_a 输入

(用于简单四端口)

存储器端口A的读地址输入。

如果operation_mode参数被设置成QUAD_PORT,就需要address2_a信号。

wren_a 输入 可选 address_a端口的写使能输入。

wren_a信号需要用于所有RAM操作模式:

  • SINGLE_PORT
  • DUAL_PORT
  • BIDIR_DUAL_PORT
  • QUAD_PORT
rden_a 输入 可选 address_a端口的读使能输入。是否支持rden_a信号取决于您选择的存储器模式和存储器模块。
byteena_a 输入 可选 字节使能输入以屏蔽data_a端口,从而只写入数据的特定字节,半字节或比特。

如下条件下不支持byteena_a端口:

  • 如果implement_in_les参数设置成ON
  • 如果operation_mode参数设置成ROM
addressstall_a 输入 可选 如果addressstall_a端口为高电平,地址时钟使能输入保持address_a端口的之前地址。
q_a 输出 存储器端口A的数据输出。

如果operation_mode参数被设置成以下值中的任意一个,就需要q_a端口:

  • SINGLE_PORT
  • BIDIR_DUAL_PORT
  • QUAD_PORT
  • ROM
q_a端口的宽度必须等于data_a端口的宽度。
data_b 输入 可选 存储器端口B的数据输入。

如果operation_mode参数被设置成BIDIR_DUAL_PORT QUAD_PORT ,则需要data_b端口。

address_b 输入 可选 存储器端口B的地址输入。

如果operation_mode参数被设置成以下值,就需要address_b端口:

  • DUAL_PORT
  • BIDIR_DUAL_PORT
  • QUAD_PORT
address2_b 输入

(用于简单四端口)

存储器端口B的读地址输入。

如果operation_mode参数被设置成QUAD_PORT,就需要address2_b信号。

wren_b 输入 address_b端口的写使能输入。

如果operation_mode设置为BIDIR_DUAL_PORT QUAD_PORT ,就需要wren_b端口。

rden_b 输入 可选 address_b端口的读使能输入。是否支持rden_b端口取决于您选择的存储器模式和存储器模块。
byteena_b 输入 可选 字节使能输入以屏蔽data_b端口,从而只写入数据的特定字节,半字节或比特。如下条件下不支持

byteena_a端口:

  • 如果implement_in_les parameter设置为ON
  • 如果operation_mode parameter设置为SINGLE_PORTDUAL_PORTROM
q_b 输出 存储器端口B的数据输出。如果operation_mode参数被设置成以下值,就需要q_b端口:
  • DUAL_PORT
  • BIDIR_DUAL_PORT
  • QUAD_PORT

q_b端口的宽度必须等于data_b端口的宽度。

clock0 输入 以下描述了必须连接到clock0端口的存储器时钟,以及不同时钟模式下的端口同步:
  • Single clock: 将您的单一源时钟连接到clock0端口。所有寄存的端口都由相同源时钟同步。
  • Read/Write:将您的写时钟连接到clock0端口。与写操作相关的所有寄存的端口(例如,data_a端口、address_a端口、wren_a端口和byteena_a端口)都由写时钟同步。
  • Input/Output:将您的输入时钟连接到clock0端口。所有寄存的输入端口都由输入时钟同步。
  • Independent clock:将您的端口A时钟连接到clock0端口。端口A的所有寄存的输入和输出端口都由端口A时钟同步。
clock1 输入 可选 以下描述了必须连接到clock1端口的存储器时钟,以及不同时钟模式下的端口同步:
  • Single clock:不适用。所有寄存的端口都由clock0端口同步。
  • Read/Write: 将读时钟连接到clock1端口。所有与读操作相关联的寄存端口(例如address_brden_b端口)都被读时钟同步。
  • Input Output: 将您的输出时钟连接到clock1端口。所有寄存的输出端口都被输出时钟同步。
  • Independent clock:将您的端口B时钟连接到clock1端口。端口B的所有寄存的输入和输出端口都被端口B时钟同步。
clocken0 输入 可选 clock0端口的时钟使能输入。
clocken1 输入 可选 clock1端口的时钟使能输入。
eccstatus 输出 可选 一个比特宽的纠错状态端口。表示从存储器读取的数据是否有纠正的单比特错误,无纠正的致命错误,或者没有出现错误比特。

如果满足下列全部条件,则支持eccstatus端口:

  • operation_mode参数设置成DUAL_PORT
  • ram_block_type参数设置成M20K
  • width_awidth_b参数的值相同
  • 未使用字节使能
eccencbypass 输入 可选 此信号有效时,用户能够通过eccencparity端口注入奇偶校验翻转位。此信号无效时,使用内部ecc编码器生成的奇偶校验翻转位。仅当enable_ecc_encoder_bypass设置成“TRUE”时才能使用此端口。
eccencparity 输入 可选 eccencbypass有效时,用户能够通过eccencparity端口注入8-bit奇偶校验翻转位。仅当enable_ecc_encoder_bypass设置成“TRUE”时才能使用此端口。
data 输入 存储器的数据输入。需要数据端口,并且其宽度必须等于q端口的宽度。
wraddress 输入 将地址输入写入存储器
wren 输入 wraddress端口的写使能输入。需要wren端口。
rdaddress 输入 读取存储器的地址输入。
rden 输入 可选 读取rdaddress端口的使能输入。
byteena 输入 可选 屏蔽数据端口的字节使能输入,从而只写入数据的特定字节,半字节或比特。当ram_block_type参数设置成MLAB时, 英特尔Agilex® 7器件中支持此字节使能输入。
wraddressstall 输入 可选 只要wraddressstall端口为高电平,写地址时钟使能输入就会一直保持wraddress端口先前的写地址。
rdaddressstall 输入 可选 只要rdaddressstall端口为高电平,读地址时钟使能输入就会保持rdaddress端口的之前读地址。
q 输出 存储器的数据输出。
inclock 输入 以下内容描述了必须连接到inclock端口的存储器时钟,以及不同时钟模式下的端口同步:
  • Single clock:将您的单一源时钟连接到inclock端口和outclock端口。所有寄存的端口都由相同源时钟同步。
  • Read/Write:将您的写时钟连接到inclock端口。与写操作相关的所有寄存的端口(例如,data端口、wraddress端口、wren端口和byteena端口)都由写时钟同步。
  • Input/Output:将您的输入时钟连接到inclock端口。所有寄存的输入端口都由输入时钟同步。
outclock 输入 以下描述了必须连接到outclock端口的存储器时钟,以及不同时钟模式下的端口同步:
  • Single clock:将您的单一源时钟连接到inclock端口和outclock端口。所有寄存的端口都被相同源时钟同步。
  • Read/Write:将读时钟连接到outclock端口。与读操作相关的所有寄存的端口(例如rdaddressrdren端口)都被读时钟同步。
  • Input/Output:将您的输出时钟连接到outclock端口。寄存的q端口由输出时钟同步。
inclocken 输入 可选 inclock端口的时钟使能输入。
outclocken 输入 可选 outclock端口的时钟使能输入。
aclr 输入 可选 异步清零输出端口。寄存端口上的异步清零效果可通过它们对应的清零参数(例如,outdata_aclr_aoutdata_aclr_b)来控制。
sclr 输入 可选 同步清零输出端口。寄存端口上的同步清零效果可通过它们对应的参数(例如,outdata_sclr_aoutdata_sclr_b)来控制。
注: 运行嵌入式存储器仿真模型时,必须确保不要提供“X”或者dont_care作为仿真模型的输入。提供“X”或者don’t_care可能会导致仿真中的意外行为。