verilog一段代码看不懂,高手来!!!

reg[4:0] char_bit; //显示位计算
always @(posedge clk_25m or negedge rst_n)
if(!rst_n) char_bit <= 5'h1f;
else if(x_cnt == 10'd442) char_bit <= 5'd23; //显示最高位数据
else if(x_cnt > 10'd442 && x_cnt < 10'd466) char_bit <= char_bit-1'b1; //依次显示后面的数据
这个char_bit什么意思??reg[4:0] char_bit; //显示位计算 这句话什么意思???还有if(!rst_n) char_bit <= 5'h1f;为什么要把char_bit定位31??? else if(x_cnt == 10'd442) char_bit <= 5'd23; //显示最高位数据 这句话什么意思???

char_bit是reg类型的变量名,reg[4:0] char_bit表示宽度为5位;5'h1f就是5'b1_1111,即5位全是高电平; 5'd23即二进制表示5'b1 0111说明第四位有效;可能对应显示的最高位吧。追问

这个程序是:连接SF-EP1C6开发板的VGA接口和电脑液晶屏,显示字符"EDN"
我问的那段代码上一段是
/*EDN字模参数*/
parameter char_line0 = 24'h000000,
char_line1 = 24'h000000,
char_line2 = 24'h000000,
char_line3 = 24'hfcf8c7,
char_line4 = 24'h424462,
(............等等参数我就不继续写了)然后就接着我问的那段代码
这回结合例子看,刚才回答的还是不懂

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-12-11
可能要配合电路图去看才能懂追问

用不着电路图,这个程序是:连接SF-EP1C6开发板的VGA接口和电脑液晶屏,显示字符"EDN"
我问的那段代码上一段是
/*EDN字模参数*/
parameter char_line0 = 24'h000000,
char_line1 = 24'h000000,
char_line2 = 24'h000000,
char_line3 = 24'hfcf8c7,
char_line4 = 24'h424462,
(............等等参数我就不继续写了)然后就接着我问的那段代码
这回结合例子看回答,谢了!

追答

无法帮到你,我也没看懂

相似回答