Notas de estudo de projeto de CI digital _ circuito síncrono, circuito assíncrono, reinicialização síncrona, reinicialização assíncrona

Notas de estudo de projeto de CI digital

Circuito síncrono, circuito assíncrono, reinicialização síncrona, reinicialização assíncrona

1. 同步电路,异步电路
2. 同步复位,异步复位
	2.1 同步复位与异步复位的对比
	2.2. 同步复位代码与结构
	2.3. 异步复位代码与结构
	2.4. 异步复位同步释放代码与结构

1. Circuito síncrono, circuito assíncrono

  • A principal diferença entre um circuito síncrono e um circuito assíncrono é se o disparo do circuito está sincronizado com o relógio do drive;
  • Do ponto de vista comportamental: Todos os circuitos processam dados de forma síncrona sob a transição válida do relógio;
Circuito síncrono Circuito assíncrono
Número de relógios apenas um Pode ser múltiplo
Tipo de relógio Homeomorfismo 1. Fontes diferentes; 2. Fases homólogas e diferentes
Aventura competitiva não Ter
Design de acoplamento Totalmente acoplado, não conduz à otimização da área e do consumo de energia Sem acoplamento, design flexível
Síntese / Análise simples complexo

2. Reinicialização síncrona, reinicialização assíncrona

  • 2.1 Comparação de reset síncrono e reset assíncrono
Reinicialização síncrona Reinicialização assíncrona
Características O sinal de reset só é válido quando chega a borda válida do clock. (A partir da configuração da lógica combinatória do terminal DFF-D) Independentemente de vir ou não a borda válida do clock, desde que o sinal de reset seja válido, ele é resetado. (A partir da configuração de DFF)
Verilog sempre @ (clk posedge) always @ (posedge clk ou negedge primeiro)
vantagem 1. É bom para a simulação do emulador 2. Ele pode filtrar glitches maiores do que a frequência do clock 3. Se for um circuito sequencial totalmente síncrono, é bom para análise de tempo. 1. Design simples 2. Economize recursos (algumas bibliotecas de dispositivos têm DFF assíncrono) 3. A identificação do sinal assíncrono é conveniente, o que é propício para o uso da porta de redefinição global GSR do FPGA
Desvantagem 1. A duração efetiva do sinal de reset deve ser maior do que o ciclo do clock, caso contrário ele não será reconhecido e o reset será concluído. 2. Considere o atraso lógico combinacional e o atraso de reset skew. 3. A entrada de dados acumulados precisa ser inserido na lógica combinacional, que consome recursos lógicos. 1. Os sinais assíncronos são suscetíveis a falhas. 2. A metaestável é propensa a ocorrer (o sinal de reinicialização está próximo à borda válida do sinal de clock quando o sinal de reinicialização é liberado)
Resumindo Recomenda-se o uso de redefinição assíncrona e liberação síncrona
  • 2.2 Código e estrutura de redefinição síncrona
module dff_syn(
	input clk,
	input rst_n,
	
	input din,
	
	output reg dout
);
	always@(posedge clk)
		if(!rst_n)
			dout <= 1'b0;
		else
			dout <= din;
endmodule

Insira a descrição da imagem aqui

  • 2.3 Código e estrutura de redefinição assíncrona

module dff_asyn(
	input clk,
	input rst_n,
	
	input din,
	
	output reg dout
);

	always@(posedge clk or negedge rst_n)
		if(!rst_n)
			dout <= 1'b0;
		else
			dout <= din;
endmodule

Insira a descrição da imagem aqui

  • 2.4 Reinicialização assíncrona e código e estrutura de liberação síncrona
module asyn_dff_syn(
	input clk,
	input rst_n,
	
	input din,
	
	output wire dout
);
	reg din_reg0;
	reg din_reg1;
	
	always@(posedge clk or negedge rst_n)
		if(!rst_n)begin
			din_reg0 <= 1'b0;
			din_reg1	<= 1'b0;
		end 
		else begin
			din_reg0 <= din;
			din_reg1	<=	din_reg0;
		end
	assign dout = din_reg1;
	
endmodule

Insira a descrição da imagem aqui


[Nota]: Notas de estudo pessoais, se houver erros, sinta-se à vontade para me esclarecer, isso é educado ~~~


Acho que você gosta

Origin blog.csdn.net/weixin_50722839/article/details/109541222
Recomendado
Clasificación