RISC-V MCU中文社区

【求助】 蜂鸟内部通用寄存器为什么不做复位初始化

发表于 开源蜂鸟E203 2021-06-01 19:00:40
3
2049
0

蜂鸟内部通用寄存器为什么不做复位初始化?

如果不做初始化,当 进行 中断断点保护时,一些未用到的寄存器 和 临时寄存器(未被使用)会被压栈进入 SRAM,而这些寄存器的内容都是未知态,SRAM model里面会做写入数据检查,仿真的时候,检查到这些未知态,就会打印很多警告。

蜂鸟内部通用寄存器不做复位初始化 的 原因 有知道的吗?

喜欢0
用户评论 (3)
  • hxing

    2021-06-15 16:57:06 hxing 1#

    胡灿

    减小面积,降低功耗

    你好,暂且不论面积和功耗,在实际芯片 里面,这种初始未初始化,上电后会是 不确定态,向后级传播,不会导致芯片不能正常工作吗?

  • hxing

    2021-06-10 14:24:24 hxing 2#

    胡灿

    减小面积,降低功耗

    你好,我将e203_exu_regfile.v 里面的 81行由如下:


     sirv_gnrl_dffl #(`E203_XLEN) rf_dffl (rf_wen[i], wbck_dest_dat, rf_r[i], clk);


    改成如下

     sirv_gnrl_dfflr #(`E203_XLEN) rf_dffl (rf_wen[i], wbck_dest_dat, rf_r[i], clk, rst_n);


     即是用了带复位功能,能够解决我遇到的 问题。因为所有的通用寄存器 在初始时刻 都被复位成 0 值,所以在压栈过程中,作为临时寄存器的 通用寄存器 不是未知态,所以在写入SRAM时,不会再报 未知态检查警告。


     你说的 不带复位可以减小面积 我认同,但是 降低功耗不太赞同。因为复位初始化 只会在上电的那一刻 才会产生,后面电路正常工作后,并不会出现复位。

  • 胡灿

    2021-06-03 15:20:07 胡灿 3#

    减小面积,降低功耗

hxing

hxing 未通过实名认证

懒的都不写签名

积分
问答
粉丝
关注
  • RV-STAR 开发板
  • RISC-V处理器设计系列课程
  • 培养RISC-V大学土壤 共建RISC-V教育生态
RV-STAR 开发板