阻塞分配和非阻塞分配的本质区别在于阻塞分配是按需执行的,而非阻塞分配是并行执行的;两个赋值语句对应两种不同的电路结构。阻塞赋值:在VerilogHDL的概念中,阻塞赋值运算符由等号(即=)表示,然而,许多非阻塞赋值语句是并行执行的,这些非阻塞赋值语句将在其中任何一个语句完成之前执行。
非阻塞分配:允许其他Verilog语句同时运行。阻塞赋值对应的电路结构往往与触发沿无关,只与输入电平的变化有关。(在描述组合逻辑的always块中使用blocking assignment时,将其集成到组合逻辑的电路结构中;(如果在描述时序逻辑的always块中使用非阻塞赋值,它将被集成到时序逻辑的电路结构中。阻塞分配:当顺序安排不当时,就会发生竞争。
当在描述组合逻辑的always块中使用分块赋值时,组合逻辑的电路结构被综合。//(立即赋值)在描述时序逻辑的always块中使用非阻塞赋值,这是硬件电路的特点。许多位于begin/end块中的阻塞赋值语句是串行执行的,这与标准编程语言相同,特点不一样,表达方式也不一样。原因是合成前的模拟和合成后的模拟应该一致。
文章TAG:赋值 阻塞 语句 执行 并行