FPGA中verilog语言这个U 程序最开头有个这个:`define UD #1always @ (posedge SYSCLK or negedge RST_B)beginif(!RST_B)LED_SCAN_CNT
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/27 12:50:43
![FPGA中verilog语言这个U 程序最开头有个这个:`define UD #1always @ (posedge SYSCLK or negedge RST_B)beginif(!RST_B)LED_SCAN_CNT](/uploads/image/z/5170770-18-0.jpg?t=FPGA%E4%B8%ADverilog%E8%AF%AD%E8%A8%80%E8%BF%99%E4%B8%AAU+%E7%A8%8B%E5%BA%8F%E6%9C%80%E5%BC%80%E5%A4%B4%E6%9C%89%E4%B8%AA%E8%BF%99%E4%B8%AA%EF%BC%9A%60define+UD+%231always+%40+%28posedge+SYSCLK+or+negedge+RST_B%29beginif%28%21RST_B%29LED_SCAN_CNT)
FPGA中verilog语言这个U 程序最开头有个这个:`define UD #1always @ (posedge SYSCLK or negedge RST_B)beginif(!RST_B)LED_SCAN_CNT
FPGA中verilog语言这个U
程序最开头有个这个:`define UD #1
always @ (posedge SYSCLK or negedge RST_B)
begin
if(!RST_B)
LED_SCAN_CNT
FPGA中verilog语言这个U 程序最开头有个这个:`define UD #1always @ (posedge SYSCLK or negedge RST_B)beginif(!RST_B)LED_SCAN_CNT
那是定义了一个延时 LED_SCAN_CNT
1、开头不是定义了 UD #1 ;`UD 就代表调用#1,为了方便修改所有延时。你想你只需要修改#1,就可以改程序中所有调用的地方。
2、LED_SCAN_CNT <= #1 LED_SCAN_CNT_N;这个是寄存器赋值。这里的延时有什么作用?单位是ns?只有在仿真的时候才有用,通常为了模拟真实器件的延时。
综合的时候是忽略的,因为库单元中已经包含延时模型。
单位是...
全部展开
1、开头不是定义了 UD #1 ;`UD 就代表调用#1,为了方便修改所有延时。你想你只需要修改#1,就可以改程序中所有调用的地方。
2、LED_SCAN_CNT <= #1 LED_SCAN_CNT_N;这个是寄存器赋值。
收起
延时作用。主要用来前仿真。
前仿真时,不会考虑芯片内部布局产生的延迟(因为根本还没开始布局布线),每个时钟沿的位置数据发生跳变(实际芯片运行时应该是时钟上升沿后延迟几个ns才跳变的),加入了这个延迟,可以让前仿真一定程度上接近后仿真的结果,有些问题能够提前暴露出来。...
全部展开
延时作用。主要用来前仿真。
前仿真时,不会考虑芯片内部布局产生的延迟(因为根本还没开始布局布线),每个时钟沿的位置数据发生跳变(实际芯片运行时应该是时钟上升沿后延迟几个ns才跳变的),加入了这个延迟,可以让前仿真一定程度上接近后仿真的结果,有些问题能够提前暴露出来。
收起