在读<自己动手写CPU>求解答~
时间:10-02
整理:3721RD
点击:
1.在实现第一条指令ori的时候,读端口1,2的读操作使用的是组合逻辑,而写端口使用的为时序逻辑.作者特别强调了这一点.可是我不清楚这是为什么?问题的关键是在组合逻辑和时序逻辑的区分吗? 套用书本上的话
组合逻辑的输出仅与当前的输入有关而时序逻辑的输出不但与输入有关,还和系统上一个状态有关?
不过并不十分明白这句话在实际中代表着什么原文可见http://imgtec.eetrend.com/blog/3264 这个问题的代码在module regfile中
2.书第86页为了实现除4操作,使用了移位.
inst <= inst_mem[addr['InstMemNumLog2+1:2]];
InstMemNumLog2 已经定义为17 addr定义为18位.
addr 初始为[17:0] 该操作得到addr[18:2] 不明白代码的加一是干嘛用的?
书的原文可见http://imgtec.eetrend.com/blog/3276 在module inst_rom中
还请各位给小弟指教~
组合逻辑的输出仅与当前的输入有关而时序逻辑的输出不但与输入有关,还和系统上一个状态有关?
不过并不十分明白这句话在实际中代表着什么原文可见http://imgtec.eetrend.com/blog/3264 这个问题的代码在module regfile中
2.书第86页为了实现除4操作,使用了移位.
inst <= inst_mem[addr['InstMemNumLog2+1:2]];
InstMemNumLog2 已经定义为17 addr定义为18位.
addr 初始为[17:0] 该操作得到addr[18:2] 不明白代码的加一是干嘛用的?
书的原文可见http://imgtec.eetrend.com/blog/3276 在module inst_rom中
还请各位给小弟指教~
自己顶一个
