提示:来源于东南大学SOC课程
SOC系统中复位的来源:
①外部按键复位
②系统软件复位
③WDT复位
④POR电路:模拟电路,VDD上电初期,产生复位信号;VDD足够高时,各模块正常工作;当VDD降至足够低时,产生复位信号。
AHB的master和slave位宽选择
AHB总线位宽的选择,主要取决于master的位宽,一般很少用8,16,128bit的,大多数基于32,64bit。
结合hsel信号,可以将ahb slave的haddr的地址位宽降低,减小连线数目,降低成本,节省面积。同样,对apb salve的paddr可以进行同样处理。
Retry和split的区别
Retry和split都是ahb的slave在不能及时响应时发起的,retry后,不会影响此次master的优先级,并且会从头传输上次未传输完成的数据,split后,会影响master的优先级,并且会降低master的优先级,等待split的slave向arbiter发起准备好继续传输后,恢复master的优先级,重要的是恢复后的传输会从的split发生的位置继续传输,而不是从头传输。(在常见的soc系统中,slave的这两种传输一般不会发生)
AHB的slave发出的hreadyout
在AHB的burst传输过程中,如果是个8拍的增量传输,在发送第一个地址后的一个周期,可以将slave输出的hreadyout拉低,准备后面传输的8个数据,以提高总线的效率。(hreadyout是否拉高取决于slave具体的行为,是否将数据准备好)
BUSY&IDLE
Busy是由于master没准备好,又想要占用总线而插在一个burst中的状态,如果采用了Idle,总线会重新仲裁,master对总线的占用权发生了变化;(CPU中可能会出现)
Idle是插在两个burst之间,用来区分两次不同传输。
- 重视Htrans信号,表达的信息非常重要;在debug时常用 IDLE, BUSY, NONSEQ, SEQ
- AHB中隐含了两个握手信号,master2slave:busy,slave2master:hready
4/1K 边界问题
AXI系统中,slave地址空间一般为4KB的整数倍,如果burst传输地址范围超过了4kB就会传输错误。0x01000=4KB
AHB系统中,salve地址空间一般为1KB的整数倍,如果burst传输地址范围超过了1kB就会传输错误。0x0400 = 1KB
如果burst超过了4/1KB边界,就要重新发起burst传输或者采用其他方式,取决于master的行为。
RISC和CISC指令区别比较明显的是 RISC指令是定长的,一般是32位;
Bit banding 便于修改寄存器中的某一位,有一块专门的内存地址用来映射修改寄存器的某一位数据。
原子操作,指不可被打断的一次操作,一次读或者一次写都是原子操作