迭代控制程序的设计与代码
迭代控制程序的设计与代码module contrl(output data_o_var_t,
output reg inter_num_curr,
output reg Key_i_var_out,
output reg R_i, L_i,
output reg ready_o,
input L_o,
input R_o,
input R_i_var, L_i_var,
input Key_o,
input C0, D0,
input clk, reset, des_enable);
reg inter_num_next;
assign data_o_var_t = (ready_o == 1'b1)?{L_o,R_o}:64'hzzzzzzzzzzzzzzzz;
always @(posedge clk or negedge reset)
if(reset == 1'b0)
begin
inter_num_next <= 4'd0;
inter_num_curr <= 4'd0;
ready_o <= 1'b0;
end
elseif(des_enable)
begin
if(ready_o == 1'b0)
inter_num_curr <= inter_num_next;
end
always @(posedge clk or negedge reset)
begin
if(reset == 1'b0) ready_o <= 1'b0;
else if(inter_num_curr == 4'd15)ready_o <= 1'b1;
else ready_o <= 1'b0;
end
always @(*)
begin
case(inter_num_curr)
4'd0:begin
//ready_o = 1'b0;
R_i = R_i_var;
L_i = L_i_var;
Key_i_var_out = {C0, D0};
inter_num_next = 4'd1;
end
4'd1: begin
//ready_o = 1'b0;
R_i = R_o;
L_i = L_o;
Key_i_var_out = Key_o;
inter_num_next = 4'd2;
end
4'd2: begin
//ready_o = 1'b0;
R_i = R_o;
L_i = L_o;
Key_i_var_out = Key_o;
inter_num_next = 4'd3;
end
4'd3: begin
//ready_o = 1'b0;
R_i = R_o;
L_i = L_o;
Key_i_var_out = Key_o;
inter_num_next = 4'd4;
end
4'd4: begin
//ready_o = 1'b0;
R_i = R_o;
L_i = L_o;
Key_i_var_out = Key_o;
inter_num_next = 4'd5;
end
4'd5: begin
//ready_o = 1'b0;
R_i = R_o;
L_i = L_o;
Key_i_var_out = Key_o;
inter_num_next = 4'd6;
end
4'd6: begin
//ready_o = 1'b0;
R_i = R_o;
L_i = L_o;
Key_i_var_out = Key_o;
inter_num_next = 4'd7;
end
4'd7: begin
//ready_o = 1'b0;
R_i = R_o;
L_i = L_o;
Key_i_var_out = Key_o;
inter_num_next = 4'd8;
end
4'd8: begin
//ready_o = 1'b0;
R_i = R_o;
L_i = L_o;
Key_i_var_out = Key_o;
inter_num_next = 4'd9;
end
4'd9: begin
//ready_o = 1'b0;
R_i = R_o;
L_i = L_o;
Key_i_var_out = Key_o;
inter_num_next = 4'd10;
end
4'd10: begin
//ready_o = 1'b0;
R_i = R_o;
L_i = L_o;
Key_i_var_out = Key_o;
inter_num_next = 4'd11;
end
4'd11: begin
//ready_o = 1'b0;
R_i = R_o;
L_i = L_o;
Key_i_var_out = Key_o;
inter_num_next = 4'd12;
end
4'd12: begin
//ready_o = 1'b0;
R_i = R_o;
L_i = L_o;
Key_i_var_out = Key_o;
inter_num_next = 4'd13;
end
4'd13: begin
//ready_o = 1'b0;
R_i = R_o;
L_i = L_o;
Key_i_var_out = Key_o;
inter_num_next = 4'd14;
end
4'd14: begin
//ready_o = 1'b0;
R_i = R_o;
L_i = L_o;
Key_i_var_out = Key_o;
inter_num_next = 4'd15;
end
4'd15:if(ready_o == 1'b0)
begin
R_i = R_o;
L_i = L_o;
Key_i_var_out = Key_o;
//ready_o = 1'b1;
end
endcase
end
endmodule
学到了 迭代控制程序的设计与代码 FPGA_one 发表于 2017-8-23 09:48
学到了
:lol :lol :lol :lol :lol
页:
[1]