Attribuer des caractères ASCII de fil en Verilog

Je comprends que vous pouvez déclarer une chaîne de caractères dans un Verilog banc d'essai, comme suit:

reg [8*14:1] string_value;  

initial 
    string_value = "Hello, World!";

Je peux alors faire des choses avec cette chaîne, comme l'utilisation $display dans un banc de test pour l'afficher.

Je n'ai pas réussi à faire la même chose dans un module quand je flash mon FPGA:

reg [8*14:1] string_value;  

always @(reset) 
begin
    string_value = "Hello, World!";
    //Do stuff with string value

Même l'attribution d'une valeur unique ne fonctionne pas:

reg [8:1] char_value;  

always @(reset) 
begin
    char_value = "A";
    if (char_value == 8'h41)
        //Do stuff!

Je veux décaler les caractères individuels sur un bus 8 bits d'un écran LCD pour l'affichage.

Comment puis-je travailler avec des chaînes en Verilog?

  • Êtes-vous essayer de synthétiser ce?
  • Si "Non" veut dire "Oui"
  • Oui, je suis en train d'imprimer du texte sur un écran LCD connecté à mon FPGA conseil de développement. Puisque ce n'était pas clair pour vous et toolic, je vais modifier la question pour être plus précis: je veux attribuer ces caractères 8 bits, les valeurs de sortie de mon module par l'intermédiaire d'un registre à décalage.
  • Qu'est-ce exactement ne fonctionne pas? Voulez-vous obtenir une synthèse de l'erreur, ou est le texte tout simplement pas affichée sur l'écran LCD?