2016-08-23 2 views
2

J'écris un environnement de vérification pour une conception qui comprend un bus AXI. Quelles sont les propriétés nécessaires dans les transactions AXI en lecture/écriture?Quelles sont les propriétés nécessaires dans une transaction axi en lecture/écriture?

Ma transaction ressemble à ci-dessous. Dois-je ajouter autre chose?

typedef enum bit [3:0] { LENGTH_[1:256] } length_e; 

//---------------------------------------------------------------------- 
//Transaction 
//---------------------------------------------------------------------- 
class axi_transaction extends uvm_sequence_item; 
    bit [3:0] id; 
    bit [31:0] address; 
    length_e length; 
    transfer transfers[]; 
    int unsigned delay; 

endclass 

class transfer extends uvm_sequence_item; 
    rand bit[31:0] data; 
    rand int unsigned delay; 

    // ... 
endclass 
+1

Il existe de nombreuses propriétés que vous voudrez peut-être établir. Vous pouvez probablement en découvrir beaucoup en lisant attentivement la spécification AXI et en cherchant des cas où il est écrit "X doit faire Y", par exemple, vous voudrez peut-être exiger qu'un maître soit valide et que l'esclave ne soit pas prêt, le maître maintient sa demande jusqu'à ce qu'elle soit prête. Au-delà de la spécification elle-même, il peut exister d'autres propriétés spécifiques à l'application que vous souhaitez vérifier. Par exemple, les bits "utilisateur" sont des signaux définis par l'utilisateur que vous pouvez vous attendre à adopter d'une certaine manière. En tout cas, ce serait un projet. –

+0

Voici les [spécifications AXI] (http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ihi0022b/index.html) et la [spécification AXI4] (http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ihi0051a/index.html). – AndresM

Répondre

0

AXI4 possède cinq canaux de sortie, dont 3 canal d'écriture et 2 sont des canaux lus ie canal d'adresse d'écriture, écrire canal de données, le canal de réponse écrire, lire le canal d'adresse et lire des données channel.Basically, pour le mécanisme de poignée de main, vous devez vous soucier principalement du signal VALID et READY et lors de la prise de contact, il génère une réponse correcte du signal BRESP et RRESP. Pour la spécification de profondeur, vous devez lire la spécification ARM AMBA AXI.