Análisis de tiempos de FPGA y métodos comunes de restricciones de tiempo (parte 2)

Los métodos habituales de optimización del tiempo son:

1: La ruta crítica se inserta en el registro.
Este problema es fácil de ocurrir cuando hay demasiada lógica combinatoria en un fragmento de código.
2: Doble latido
Cuando la interacción de datos entre módulos implica dominios de reloj cruzado, generalmente se puede usar el doble latido. Esta es una forma muy útil de evitar la metaestabilidad.

    reg    [7:0]data_reg1;
    reg    [7:0]data_reg2;
	
    always@(posedge clk_50M or negedge rst_n)  	
	    if(!rst_n)
		    data_reg1 <= 8'b0;
		else
		    data_reg1 <= data;
	
	always@(posedge clk_50M or negedge rst_n)
	    if(!rst_n)
		    data_reg2 <= 8'b0;
		else
		    data_reg2 <= data_reg1;

3: Evite que un módulo controle varios módulos.
Esto se considera desde el marco del diseño del módulo. Si realmente desea utilizar un módulo para controlar varios módulos, puede considerar crear instancias de este módulo varias veces para lograr un mayor consumo. Recursos de hardware a cambio de una mejor sincronización

Supongo que te gusta

Origin blog.csdn.net/jiyishizhe/article/details/103642839
Recomendado
Clasificación