
仲裁模块代码:
// 外设控制模块,根据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
这篇文章描述了一个用于处理UART接收数据并控制LED和BEEP信号的仲裁模块代码。模块根据接收到的特定数据值改变LED和蜂鸣器的状态,通过系统时钟和复位信号进行操作。
326

被折叠的 条评论
为什么被折叠?



