J'ai intégré la prochaine (à juste titre de travail) environnement Tableau de bord/Moniteur:Specman UVM Tableau de bord des questions de base
// Scoreboard : like uvm_scoreboard
scbd_port packet_add : add packet_s;
scbd_port packet_match : match packet_s;
Mon flux ADD:
// Monitor:
expected_packet_o : out interface_port of tlm_analysis of packet_s is instance;
connect_ports() is also {
expected_packet_o.connect(Scoreboard.packet_add);
};
add_to_Scoreboard() is {
// ... collecting packet logic ...
// Actually adding the packet to SB:
expected_packet_o$write(expected_packet);
};
Mon flux MATCH:
// Monitor:
collect_DUT_output() is {
// ... receiving packet logic ...
Scoreboard.match_in_scbd(received_packet);
};
Mes questions sont: est-ce la bonne façon d'utiliser les ports Scram UVM de Specman? Pourquoi n'ai-je pas pu ajouter le paquet attendu directement via packet_add, quelque chose comme ceci: Scoreboard.packet_add$.write(expected_packet)
? La seule façon que j'ai trouvé pour ajouter un paquet à Scoreboard est de connecter un autre port TLM à packet_add, comme il est écrit dans le code. Existe-t-il une méthode d'ajout comme match_in_scbd
dans le flux de correspondance?
Merci pour toutes précisions sur Specman Tableau de bord ajouter et flux match de