mikrocontroller.net

Forum: FPGA, VHDL & Co. Port map (signal from PIN!)


Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo wieder!
ich will mir ein 16 Bitregister programmiern.Er wird mit 10Mhz 
getaktet,aber mein cpld clock ist 100 MHz.Ich hab mir ein frequenzteiler 
programmiert und ich will es als component in meinem register source 
code verwenden.
entity Register_16B is
generic(P:natural:=16);      --16 Bits
port(
     REG_CLK,REG_Data,REG_RST:in std_logic;
    REG_Dout:out std_logic_vector(P-1 downto 0)
    );
end Register_16B;
architecture Behavioral of Register_16B is
component LSR_32B    --frequenzteiler.
        port(
           clk_in:in std_logic;
         clk_out:out std_logic
         );
End component;
signal DI:std_logic_vector(P-1 downto 0);
begin
versuch:LSR_16B port map
             (
     clk_in  =>??--ich muss hier mein cpld clock definieren?wenn ja wie 
kann ich es machen?
            clk_out =>REG_CLK--output des frequenzteilers ist REG-clk
             );

Danke für jede Hilfe!
mfg

Autor: Neuling_1 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Keiner kann mir helfen?

Autor: Rick Dangerus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Formatiere Deinen Code doch erstmal. So sieht man ja gar nicht durch...
entity Register_16B is
  generic(P                    :     natural := 16);  --16 Bits
  port(
    REG_CLK, REG_Data, REG_RST : in  std_logic;
    REG_Dout                   : out std_logic_vector(P-1 downto 0)
    );
end Register_16B;

architecture Behavioral of Register_16B is

  component LSR_32B                     --frequenzteiler.
    port(
      clk_in  : in  std_logic;
      clk_out : out std_logic
      );
  end component;

  signal DI : std_logic_vector(P-1 downto 0);

begin
  versuch : LSR_16B port map
    (
      clk_in  => ??;                    --ich muss hier mein cpld clock definieren?
                                        --wenn ja wie
                                        --kann ich es machen?
      clk_out => REG_CLK;               --output des frequenzteilers ist REG-clk
      );
end Behavioral;

Du hast also ein Modul Register_16B und ein Modul LSR_32B. Die willst Du 
miteinander verbinden, wenn ich Dich richtig verstanden habe.
LSR_32B soll Dein Teiler sein. Vielleicht hilft es Dir, ein 
übergeordnetes Modul zu schreiben und dort die beiden Module 
einzubinden? Ungefähr so, wie wenn Du zwei Schaltkreise auf dein 
Breadboard steckst.
entity top is
  port(
    master_clk : in std_logic;
    ...
 );
end top;

architecture struct of top is

  component LSR_32B
   ...
  end component;

  component Register_16B
   ...
  end component;

  signal local_clk: std_logic;

begin

  teiler: LSR32B port map
  {
     clk_in => master_clk,
     clk_out => local_clk
  };

  register: Register_16B port map
  {
     REG_CLK => local_clk,
     ...
  };

end struct;

Rick

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.