仲裁模块代码:
// 外设控制模块,根据uart接收到的数据,控制led与beep的标志信号。
module arbit(
input wire sys_clk ,
input wire sys_rst_n ,
input wire pi_flag ,
input wire [7:0] pi_data ,
output reg led_flag ,
output reg beep_flag
);
parameter LED_NUM = 8'h11 ,
BEEP_NUM = 8'h22 ;
always @(posedge sys_clk or negedge sys_rst_n) begin
if(~sys_rst_n)
led_flag <= 1'b0 ;
else if(pi_flag && (pi_data == LED_NUM))
led_flag <= 1'b1 ;
else
led_flag <= 1'b0 ;
end
always @(posedge sys_clk or negedge sys_rst_n) begin
if(~sys_rst_n)
beep_flag <= 1'b0 ;
else if(pi_flag && (pi_data == BEEP_NUM))
beep_flag <= 1'b1 ;
else
beep_flag <= 1'b0 ;
end
endmodule