棋子 · 2020年01月14日

为什么AHB从站需要HBURST信号?

HBURST指定传输的类型,但是slave /(接口)对HBURST信号究竟做了什么?

1 个回答 得票排序 · 时间排序
极术小姐姐 · 2020年01月14日

大多数从设备可能会忽略HBURST,而只是看着HTRANS来查看何时需要进行数据传输(NONSEQ或SEQ)。

但是,更复杂的从机可能会使用HBURST信息为更长的已知长度突发预取数据,或者在将写数据写到慢速存储器之前缓冲写数据。

通常的示例是DRAM从控制器,它在解码“行”和“列”地址时具有很高的初始访问等待时间,但是随后可以以更少的等待状态执行对已打开的“行”的后续访问。如果DRAM控制器将每个访问解释为与上一个访问无关,则它必须为每个访问解码“行”和“列”,因此可能会有更多的延迟。

请注意,从设备可以通过简单地注意突发中后续传输的HTRANS = SEQ来确定一些“突发”信息,在DRAM示例中,它可以用于保持“行”打开,但确切知道将进行多少次传输。突发中的允许从机预取或缓冲已知数量的数据。

与大多数AHB输入一样,从设备可以选择使用哪些输入,以及忽略哪些输入对从功能没有任何好处。诸如HADDR,HSIZE和HWRITE之类的信号对于所有传输来说都是必不可少的,并且HBURST可以被可识别突发信号的从机使用。HMASTLOCK可能不那么常用,它可以由具有多个端口的从站使用,而HPROT可以由希望实现某种访问类型限制的从站使用。

你的回答