Closed DreamChaser-luzeyu closed 1 year ago
The RST
pin is really unused. See commit 079dd0e643be1ac73090d16265e165499633094f.
为什么你认为这些include
不规范? 这些文件确实不在当前目录下, 用双引号没有实质性的作用
为什么你认为这些
include
不规范? 这些文件确实不在当前目录下, 用双引号没有实质性的作用
抱歉,我第一次发PR,还不太熟悉,改完N4文件后发的PR,然后自己又新增了些注释,本意是提交到fork出的仓库里,但忘记了PR是分支级的操作,而不是commit级的…这个commit我已经rebase掉了。
关于include使用尖括号还是双引号,我个人的习惯是,对于引用同一个项目中的头文件,应使用双引号,引用Linux、STL或其他工具链提供的包含路径中的头文件才使用尖括号,这样就能一眼看出include引用的是不是项目中的头文件。
The
RST
pin is really unused. See commit 079dd0e.
可否进一步说明“仅复位RTL设计部分会使其与NVBoard状态不一致”?NVBoard状态是指什么呢?按照我目前的浅显理解,RST接口绑定到RTL Design中的rst信号中,对于Verilator来说它只是一个普通的信号,和其他的按键与拨码开关的信号地位相同。对于NVBoard来说,如果不考虑VGA、PS/2这些复杂的实现,那么NVBoard本质只是将这些信号可视化出来,并提供了与用户交互的图形界面罢了,为什么单独这个RST引脚就特殊,不能被使用呢?
按照我目前的浅显理解,这样确实可能会导致部分不完整的时序被输入RTL部分(PS/2),或者从RTL部分读到不完整的时序(VGA),但为什么要严格规避这样的行为呢?放在现实中,这种情况也无法保证不发生。还是说,我的理解有误,还有其他的考量呢?
关于include使用尖括号还是双引号,我个人的习惯是,对于引用同一个项目中的头文件,应使用双引号,引用Linux、STL或其他工具链提供的包含路径中的头文件才使用尖括号,这样就能一眼看出include引用的是不是项目中的头文件。
关于include后符号的使用, 我查了一些资料, 发现有不同的使用习惯, 例如这个帖子.
按照我目前的浅显理解,这样确实可能会导致部分不完整的时序被输入RTL部分(PS/2),或者从RTL部分读到不完整的时序(VGA),但为什么要严格规避这样的行为呢?放在现实中,这种情况也无法保证不发生。还是说,我的理解有误,还有其他的考量呢?
你说得对, 就是考虑到这些问题, 才不推荐在NVBoard里面使用RST引脚, 而且将来如果要在NVBoard里面添加更多功能, 我们也不希望添加每个新功能的时候都考虑"如何在RST有效的情况下正确工作". 考虑到软件模拟和现实的差异, 没有必要追求现实中的复位方式. 事实上, 如果要使用NVBoard, 最彻底的复位方式就是关闭程序重新运行, 所以也没有必要使用RST引脚了.
According to
constrs.h
, there existing a pin named RST. However, the RST pin did not exist in board file N4, maybe due to carelessness, or maybe the board fileN4
is just out of date.