嵌入式入门生
作为过来人,我的感受是:这些进阶知识点,笔试可能会以简答题、分析题或设计题的形式出现,不一定要求写出完整Verilog,但核心算法和关键电路必须清楚。
对于带权重的轮询,重点理解“权重”如何影响选择概率。一个简单实现是:维护一个“信用”计数器。每个请求初始信用等于其权重,被选中后信用减1,所有请求信用为0时重置为权重。这样就能按权重比例分配。笔试可能会让你指出这种方法的优缺点(比如突发请求下的公平性问题)。
基于时间的防饥饿,关键在于“老化计数器”的设计和溢出处理。计数器何时递增、何时清零、如何影响仲裁逻辑,这几点要想明白。Verilog实现时,建议用清晰的if-else或case语句,并写好注释,因为笔试代码有时会看可读性。
一个常见的陷阱是忽略了仲裁器输出grant信号需要和请求request信号在时序上对齐,以及处理请求突然撤销的情况。
资料方面,除了经典教材,可以看看各大公司(如NVIDIA、Intel)公开的技术分享或专利,里面有时会透露它们用的仲裁算法,对理解实际应用很有帮助。
