上篇聊了CPU集成,后台很多小伙伴希望再多聊一些细节,那么今天我们就开始从细节聊起。咱们今天聊下CPU集成中绕不开的一个概念leaving reset。
IP厂商提供的CPU,并非一点都不能修改,CPU的参数修改设定就是其中之一。
有一些是固定配置,芯片流片后不可修改,例如多少个中断,是否包含cache,cache大小,数据处理的大小端等等;有些配置可以在不同工作模式下修改,例如从外部rom启动还是从内部tcm(Tightly Coupled Memory)启动,ecc校验功能是否开启,CPU启动时是否需要halt住,是否启动security功能等等。固定配置可能是参数parameter定义的,也可能是外部输入一个信号,通过接固定值来决定这个配置。
而有些参数是要根据不同的工作模式做修改的,例如上面提到的决定CPU启动rom还是内部tcm的配置,这种配置通常连接系统控制寄存器,这个寄存器可以通过CPU来改写。这种改写必须在CPU启动之前就写好,否则当前的配置不生效,之所以能不生效的,就是靠CPU内部的leaving reset 逻辑来做的。
简单来说,leaving reset的作用就是在CPU复位期间,锁存输入控制信号的值,当CPU启动时根据这个值的不同来选择boot路径等功能。
需要注意的是,并不是所有输入控制信号都是leaving reset逻辑来锁存的,例如有的CPU有halt控制,这个控制输入信号就没有做leaving reset,那么属于leaving reset的控制和非leaving reset得控制在集成时需要注意哪些呢?集成处理中有何不同,要做什么样的处理?有了解的小伙伴可以在评论区打出你的答案。
分享更多内容关注WX公众号:IC蓝皮匠
原创链接:https://mp.weixin.qq.com/s/jkd7TF8NhOZ_MnL_SZiTUg