求verilog代码问题
时间:10-02
整理:3721RD
点击:
Y = 0.299 * R.000 + 0.587 * G.000 + 0.114 * B.000
用verilog表示:
always@(posedge[/email] clk)
if (ena)
begin
yr <= #1 10'h132 * r;
yg <= #1 10'h259 * g;
yb <= #1 10'h074 * b;
y1 <= #1 yr + yg + yb;
end
always@(posedge[/email] clk)
if (ena)
begin
// check Y
y <= #1 (y1[19:10] & {10{!y1[21]}}) | {10{(!y1[21] && y1[20])}};
end
这是为什么啊,为什么可以这样表示
帮帮我啊
用verilog表示:
always@(posedge[/email] clk)
if (ena)
begin
yr <= #1 10'h132 * r;
yg <= #1 10'h259 * g;
yb <= #1 10'h074 * b;
y1 <= #1 yr + yg + yb;
end
always@(posedge[/email] clk)
if (ena)
begin
// check Y
y <= #1 (y1[19:10] & {10{!y1[21]}}) | {10{(!y1[21] && y1[20])}};
end
这是为什么啊,为什么可以这样表示
帮帮我啊
这要用什么算法啊
