大于/小于对fmax的影响
上一篇 /
下一篇 2008-07-10 15:24:53
module A_prj
(
clk,
D,
E,
x,
y,
m,
n,
z
);
input clk;
input [31:0] D, E;
input [31:0] x, y;
input [31:0] m, n;
output [31:0] z;
reg P, L;
reg [31:0] D_in, E_in;
reg [31:0] x_in, y_in;
reg [31:0] m_in, n_in;
reg [31:0] s, v;
reg [31:0] z;
always @(posedge clk)
begin
D_in <= D;
E_in <= E;
x_in <= x;
y_in <= y;
m_in <= m;
n_in <= n;
end
/*
//slow
always @(posedge clk)
if (D_in >= E_in)
s <= x_in + y_in;
else
s <= x_in - y_in;
always @(posedge clk)
if (D_in >= E_in)
v <= m_in + n_in;
else
v <= m_in - n_in;
*/
/*
//normal
always @(posedge clk)
if (D_in >= E_in)
P <= 1'b1;
else
P <= 1'b0;
always @(posedge clk)
if (P)
s <= x_in + y_in;
else
s <= x_in - y_in;
always @(posedge clk)
if (P)
v <= m_in + n_in;
else
v <= m_in - n_in;
*/
//fast
always @(posedge clk)
if (D_in >= E_in)
P <= 1'b1;
else
P <= 1'b0;
always @(posedge clk)
if (D_in >= E_in)
L <= 1'b1;
else
L <= 1'b0;
always @(posedge clk)
if (P)
s <= x_in + y_in;
else
s <= x_in - y_in;
always @(posedge clk)
if (L)
v <= m_in + n_in;
else
v <= m_in - n_in;
always @(posedge clk)
z <= s + v;
endmodule
导入论坛
引用链接
收藏
分享给好友
推荐到圈子
管理
举报
TAG: