【蜂鸟E203】-00-初识CPU设计
蜂鸟的RTL代码风格
- 模块化的风格:定义一些基本的带有参数化的模块,并进行模块的例化来搭建整个数字电路。
- 当是并行优先级选择的时候,使用
assign
语句代替if - else
语句,前者能够传播不定态,且能透过组合逻辑实现并行的优先级选择。 - 断言:用来Debug,具体使用后面再看。
- 数据通路上的寄存器可不用带reset,控制通路上的寄存器需要带reset。
- clk和rst只能接入寄存器而禁止用于其他任何逻辑功能。
看到后面了
2022-10-09:
看了10、11和12章。
其中10章讲写回的机制,看的有点不明所以,可能是前面看了太久忘记讲什么东西了。简单来说就是讲了往存储器里面写回东西的模块。
11章在讲存储器结构,同时用了哈佛和冯诺依曼的储存思想。
12章讲总线,axi、ahb、apb一个个熟悉的名字出现了,蜂鸟使用了结合前两个总线机制的icb协议。
中断机制
今天看到完了中断和异常的相关内容,RISC-V架构对于它的处理是采用了简洁有效的办法,没有硬件嵌套机制,要实现中断的嵌套需要从软件上进行寄存器的配置操作。
总的来说,中断机制是处理器设计中,最为繁琐的一个部分之一。及时采用了简化的设计理念,相比于其他模块,中断的处理都是相当繁琐的。
调试机制
最不起眼的往往是最难的。
交互调试和追踪调试
交互调试就是一般打断点的方式去和芯片进行交互,追踪调试是指不打断程序运行,而是默默记录下来所有数据,复盘的时候调试。
追踪调试实现的难度较大,一般是用在高端的处理器上。
低功耗介绍
RV层面上,其会提供的wfi指令可以直接用于休眠使用;在RTL代码上,对寄存器进行优化,如数据通路不加复位信号等。
同时,软件层面上所做的工作会比硬件设计上做的工作有效得多,及时管理电源、中断、功耗模式等,可以节约大量的能量。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Xuanyao's Blog!