Je veux écrire un module dans la mémoire RAM puis lire de la même dans un autre module. Comment puis-je faire ceci? Je pense qu'il doit y avoir un moyen de passer les modules RAM en se référant à d'autres modules. Par exemple:Comment puis-je partager et utiliser un seul module RAM dans plusieurs modules?
Dans le module A:
// write in ram and pass to module B
ram ram_ins();
ram_ins.wr_en = 1;
ram_ins.addr = 1;
ram_ins.data_in = 1234;
B b_ins(ram_ins); // pass by reference the ram_ins to the module B
Dans le module B:
// read from ram
ram_ins.addr = 1;
reg [7:0] a;
assign a = ram_ins.data_out
registre a
dans le module B doit être 1234, car dans le module A 1234 est écrit dans l'adresse 1 de RAM .
Je ne suis pas sûr de ce que vous entendez par "passer des modules de RAM par référence" Voulez-vous une seule RAM qui est écrite par 1 module et lu par un autre? Avez-vous des ports d'adresse d'écriture et de lecture séparés. – Morgan
Verilog est un langage de description matérielle (HDL). Les HDL se comportent complètement différemment des langages de programmation normaux. Habituellement, il n'y a pas de concept de pointeurs et de références. Il n'y a que le concept de fils ou de signaux comme dans les circuits de la vie réelle. Je conseillerais de lire quelques tutoriels sur la façon de construire des modules simples dans Verilog. – Paebbels