SI-RISCV / e200_opensource

Deprecated, please go to next generation Ultra-Low Power RISC-V Core https://github.com/riscv-mcu/e203_hbirdv2
https://github.com/riscv-mcu/e203_hbirdv2
Apache License 2.0
2.6k stars 1k forks source link

源码问题(gpio模块) #32

Open Shell-picking opened 4 years ago

Shell-picking commented 4 years ago

您好,我最近在读蜂鸟这个项目源码。发现几个问题想向您请教。 1.在sirv_gpio.v中,有一段代码首先对T_3370_bits_index后五位取异或,再和0x3e0相与,将后五位置零。是有什么别的作用吗?(见图一)

图一

2.在代码中存在多处重复连线的原因是?比如在sirv_gpio.v中,T_3334_bits_extra、T_3370_bits_extra和T_3295_bits_extra这三个wire变量。依次采用这样的一次传递赋值,而其它处也没有使用。这样有别的作用?(见图二)

图二
kmmy2016 commented 4 years ago

很抱歉,这份代码目前还没有仔细看,目前不能给你提供什么帮助,抱歉。

孔明

kmmy4273@126.com | 签名由网易邮箱大师定制 在2019年10月4日 18:01,Shell-pickingnotifications@github.com 写道:

您好,我最近在读蜂鸟这个项目源码。发现几个问题想向您请教。 1.在sirv_gpio.v中,有一段代码首先对T_3370_bits_index后五位取异或,再和0x3e0相与,将后五位置零。是有什么别的作用吗?(见图一)

2.在代码中存在多处重复连线的原因是?比如在sirv_gpio.v中,T_3334_bits_extra、T_3370_bits_extra和T_3295_bits_extra这三个wire变量。依次采用这样的一次传递赋值,而其它处也没有使用。这样有别的作用?(见图二)

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.

hyf6661669 commented 4 years ago

@Shell-picking 这些verilog代码其实是由chisel生成的,所以基本没有任何可读性。想理解gpio的设计需要去SiFive的仓库里看chisel源码。