陈晖洁的首席小迷弟 2022-10-16 22:18 采纳率: 33.3%
浏览 14
已结题

Verilog中遇到的一些问题

在Verilog中用always来编写程序

always @(posedge clk,negedge rst_n)begin
    if( rst_n==0 )
        begin
            state <= s01;
            led <= 1'b1;
        end
    else
        if (flag2 == 1'b1)
            begin
            state <= s00;
            led <= 1'b0;
            end
        else
            if (flag3 == 1'b1)
                begin
                state <= s01;
                led <= 1'b1;
                end
    //assign led = (flag3 == 1'b1)?1'b0:1'b1;
    //assign led = (flag2 == 1'b1)?1'b1:1'b0;    
    //assign led = (rst_n == 0)?1'b1:1'b0;
    end
endmodule

仿真如中输出的led为00和01,如果想要显示为0或者1,就要用assign来输出led,但是在这段里面assign无论如何都插入不进去,就是那三行注释部分,只是不知道放哪所以放在那,想问一下有没有办法把那三行放进去或者是说还有别的方法可以输出只显示0和1

  • 写回答

1条回答 默认 最新

  • 老皮芽子 2022-10-16 22:39
    关注
    1. always 中是不能插入 assign 语句
    2. led 在 always 中赋值后,就不能在其他的 always 或 assign中赋值
    3. 你可以定义一个中间值,再用 assign 赋值
    module mx(
        input a,clk,
        output led);
    reg led_r;
    always@(posedge clk)
    begin
    led_r <=a;
    end
    assign led=led_r;
    endmodule
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 10月25日
  • 已采纳回答 10月17日
  • 创建了问题 10月16日

悬赏问题

  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)
  • ¥15 AIC3204的示例代码有吗,想用AIC3204测量血氧,找不到相关的代码。