描述
题目描述:
请使用异步复位同步释放来将输入数据a存储到寄存器中,并画图说明异步复位同步释放的机制原理
信号示意图:
clk为时钟
rst_n为低电平复位
d信号输入
dout信号输出
波形示意图:
输入描述:
clk为时钟
rst_n为低电平复位
d信号输入
输出描述:
dout信号输出
c
`timescale 1ns/1ns
module ali16(
input clk,
input rst_n,
input d,
output reg dout
);
//*************code***********//
initial dout = 1'b0;
reg rst_n_r = 1'b1,
rst_n_d1_r = 1'b1;
always @(posedge clk, negedge rst_n) begin
if (~rst_n) begin
rst_n_r <= 1'b1;
rst_n_d1_r <= 1'b1;
end else begin
rst_n_r <= 1'b0;
rst_n_d1_r <= rst_n_r;
end
end
always @(posedge clk, posedge rst_n_d1_r) begin
if (rst_n_d1_r) begin
dout <= 1'b0;
end else begin
dout <= d;
end
end
//*************code***********//
endmodule