嵌入式开发小白
除了直接考机制,可能会结合验证环境来考。比如:给出一个用mailbox实现scoreboard的简化代码,分析数据比对可能出错的情景(比如因为mailbox的深度设置不合理导致阻塞)。或者,在UVM里虽然不用直接写fork-join,但笔试可能会考底层原理,比如问你怎么用event或semaphore去模拟一个uvm_event或者uvm_barrier的行为。
出题思路往往是从实际验证场景抽象出来的,比如激励生成、数据收集、超时控制、资源池管理这些。解题时抓住“同步”的目的——是为了控制执行顺序,还是为了交换数据,或者互斥访问。针对不同目的选机制。
刷题资源确实不多,但可以多看看各大公司往年的笔试题回忆(知乎、牛客网上有分享)。另外,Coding examples in SystemVerilog这本书里有一些不错的并发编程例子,可以练手。
