最近编程遇到了一个需要多进程重复赋值的情况,但进程的并行性决定了多进程不同能对同一个对象进行赋值,这个问题如何解决?
代码如下:
- //
- //启动清屏
- //
- always @(negedge clk) begin //en脉冲到来且时钟下降沿时,启动输出初始化
- if(en) begin
- disoff <= 1; //显示高电平
- #( 8*dely ) fr = 1;
- #( dely ) lpout = 1;
- #( 8*dely ) lpout = 0;
- m = ~m;
- fr = 0;
- es = 1; //使控制信号es为1
- end
- end
- //
- //lp输出
- //
- always begin
- if (es) begin
- lpout <= lpin;
- end
- end
- //
- //启动显示
- //
- always @(posedge i ) begin
- sel <= 1;
- #(14*dely) es = 0;
- #(10*dely) disoff = 0;
- #(16*dely) disoff = 1;
- #( 8*dely ) fr = 1;
- #( dely ) lpout = 1;
- #( 8*dely ) lpout = 0;
- m = ~m;
- fr = 0;
- es = 1;
- end
- //
- //结束显示
- //
- always @(negedge i ) begin //判断位i下降沿时,使控制信号es清零
- #(6*dely) es <= 0;
- #(dely) disoff <= 0;
- sel = 0;
- end
复制代码
一周热门 更多>