微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 在verilog中如何对数据某一位赋值

在verilog中如何对数据某一位赋值

时间:10-02 整理:3721RD 点击:
想对数据led的某一位赋值,采用了下面的语句:
wire [3:0]ql;
assign ql=RxD_data%5'd16;
assign led[ql]=1'b1;
但quartus报错:Error (10734): Verilog HDL error at uart_rx_test.v(56): ql is not a constant
ql只能是一个常量吗,有法使用变量么?

always语句下可以把,<=

只有几个bit的话,可以写成case 或者类似的结构即可

ql改成reg型试试

wire [3:0]ql;
assign ql=RxD_data%5'd16;
1.ql是4bit位宽,最大值是15吧,不可能赋值为16
2.RxD_data%5是取模操作吗,RxD_data是固定数吗

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top