2 Replies Latest reply on Nov 22, 2020 10:50 PM by yodo_4825591

    s26kl512s: RESET command not work properly

    rozh_4786246

      你好,

       

              我们将数据backdoor到s26kl512s这个hyperflash中,然后控制ospi controller来进行读flash。在读操作之前,通过ospi

      controller对flash进行复位——将flash的RESETNeg拉低,经过一段时间后释放复位,将RESETNeg拉高。然后配置flash进行读操作,但读到的不是期望值,是’hff。

       

              在debug过程中,发现当RESETNeg为低时,flash model中的reseted信号会被拉低;当RESETNeg为高的时候,reseted还是低。但在model中,当reseted为高时,才会对ospi发过来的指令和地址进行采样,所以ospi发的指令和地址根本进不到flash model中。

       

              我们还发现在驱动reseted信号的逻辑中,有一个条件信号(RESETNeg_in)没有加入到always @后面的敏感列表里,如下图所示:

       

              在仿真中我们发现,当RESETNeg由0跳变到1时,程序并没有执行下图红框中的分支。

       

      随后,我们将RESETNeg_in信号加入到always @后面的敏感列表中,然后进行相同的仿真,这次仿真成功,从波形上看,在reset释放之后,reseted被拉高。

       

      想问一下:

      1.     

      这是否是这个model的一个bug?

      2.     

      如果不是的话,那如何配置能避免上述读取失败的问题?

       

       

      期待回复

        • 1. Re: s26kl512s: RESET command not work properly
          VincentH_06

          你好:

           

          0)S26系列是HyperBus接口的芯片,需要主控也支持HyperBus协议,不是所有支持OSPI协议的controller都能支持HyperBus协议,首先需要确认controller的协议支持情况

           

          1)请问目前使用的verilog model是哪个版本的?我们1.3版本中修复了一个POR和RESET#信号的问题:

           

           

          最新的Verilog model可以从如下链接中获取:

           

          https://www.cypress.com/verilog/s26kl512s-verilog

           

          2)我从最新的1.6版本里面看到的行号跟你截图的不太一样,不知道是不是你们修改过还是因为版本不同,我这边的版本是从1110行开始的:

           

           

          3)RESETNeg_in的逻辑状态还与RESETNeg_ipd和RESETNeg有关:

           

           

          我们RESET#的信号拉低是有200ns保持时间要求的,不知道仿真信号上这部分有没有满足要求:

           

           

          请参考,多谢!

          • 2. Re: s26kl512s: RESET command not work properly
            yodo_4825591

            你好,

                 1)我们用的model是V1.6版本的。

                 2)修改了一下backdoor方式,所以行号有点不同,应该不影响功能,根据后续的仿真,backdoor也是正确的。

                 3)reset保持时间超过了200ms。

             

            能帮忙解释一下,为什么下面这个图中的RESETNeg_in信号没有加到aways后面的敏感列表里呢?我们在仿真遇到问题之后,将RESETNeg_in信号加入到敏感列表之后,就没有问题了。