请问这段代码风格是不是很差,语法是不是正确
always @ (*)
case ({hready_s0,hready_s1,hready_s2,hready_s3})
4'b1000:
ready_d = hready_s0;
4'b0100:
ready_d = hready_s1;
4'b0010:
ready_d = hready_s2;
4'b0001:
ready_d = hready_s3;
default:
ready_d = 0;
endcase
真有点蒙着了
latch。
就算搞成full_case,这逻辑无意义,因为ready_d始终为高电平
哦,原来没写完
always @ (*)
case ({hready_s0,hready_s1,hready_s2,hready_s3})
4'b1000:
ready_d = hready_s0;
4'b0100:
ready_d = hready_s1;
4'b0010:
ready_d = hready_s2;
4'b0001:
ready_d = hready_s3;
default:
ready_d = 0;
endcase
这样就对了,而且很有用
hready_s0,hready_s1,hready_s2,hready_s3这四个输入中,仅当只有一个输入为高电平时,输出ready_d 为高电平
否则输出ready_d 为低电平
向研究代码风格嘛 去asics或者opencore什么的下载个程序研究研究 一般老外写的要么很严谨 要么很潇洒
是的,呵呵,标准的mux
看了,记不住,呵呵,慢慢来
那是因为我漏了default,现在好多了吧
感觉你的问题不是很清楚。如果真按大家的猜想你的逻辑实现起来就一行代码
assign ready_d = ({hready_s0,hready_s1,hready_s2,hready_s3} != 'h0)? 1:0;
如果你相表达Onehot 状态机,可不是这么玩的。
您好,请问你说的opencore asics网址是什么啊
我就是要这个效果,呵呵,多谢啦。 太强了呀
一般会把三个信号或一下。
assign ready_d = hready_s0 | hready_s1 | hready_s2 | hready_s3;
一个开源各种以wishbone总线为基本总线构架IP的网站 www.opencore.org。那帮人写的也不是很好。要是有条件的话,建议研究motorola的IP,他的coding style很不错。国内的华为也比较stric。
