式中:Qi(i=1,…,8)为电路的现态。
2.2 乒乓结构模块
2.2.1 乒乓结构的硬件实现
为了提高系统的传输速率,两片SRAM构成了乒乓缓存结构,即在一片执行写操作的同时,另一片在执行读操作。乒乓结构模块的原理如图2所示,P1口与数据产生模块相连接,仅具有写入功能,P2口设计为Avalon从端口,与Avalon总线相连仅具有读出功能。
对于数据产生模块而言,由于仅具有并行数据的输出,没有地址和控制信号端口,故它无法直接对SRAM进行写操作,因而要求乒乓结构模块有地址产生功能。P1口的CLK作为计数器的脉冲源,计数器的输出作为SRAM的地址。DBl连接数据产生模块的输出端。CBl为控制信号,因为P1口只有写入功能,所以其we_n恒接低,oe_n恒接高。
P2口为只有读出功能的Avalon从端口,所以AB2为从端口的地址线address;DB2为数据线readdata;CB2中的we_n为读信号线read,oe_n恒接低。由于两片SRAM始终处于工作状态,所以相应的片选信号chip_select_n恒接低。
两片SRAM在P1口和P2口之间的切换的控制信号即chipselect,由计数器产生。当计数值小于262 144时,chipselect接低,SR1与P1口相接,SR2与P2口相接;当计数值在262 144~524 288之间时,chipselecl接高,SR1与P2口相接,SR2与P1口相接。当计数值到达524 288时,计数器清零。
2.2.2 Avalon从外设的端口信号设计
系统中,数据产生模块与乒乓结构模块结合为一个模块,通过P2口挂在Avalon总线上。该模块的信号列表如图3所示。其中,avalon_slave_O接口类型的信号与Avalon总线相连接,而conduit_end接口类型的信号与SRAM相连接。图3中的Avalon从端口即为P2口,采用了流水线读传输的模式,这种模式能在前一次传输返回readdata前开始一次新的传输,增加了带宽。
2.2.3 动态地址对齐及其时许设计
Avalon总线模块能够适应主从外设的不同宽度和不匹配的数据宽度。当系统中村子不匹配的存储口时,要考虑地址对齐问题。对于存储器类型的外设,采用动态地址对齐方式。IDT71V416型SRAM是静态RAM,属于存储器型外设,所以该Aalon从端口采用动态地址对齐方式,如图4所示。选用动态地址对齐方式,使得主端口能连续地对从外设进行读写,并使系统将外设认作存储器型外设。
根据IDT71V416型SRAM手册中读写时序的各时间参数值设定set up,read wait,write wait及holdtime的时间均为10 ns,使该端口既符合Avalon总线读写时序的要求,又符合IDT71V416型SRAM的读写时序的要求,如图5所示。