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


von Gast (Gast)


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

von Neuling_1 (Gast)


Lesenswert?

Keiner kann mir helfen?

von Rick Dangerus (Gast)


Lesenswert?

Formatiere Deinen Code doch erstmal. So sieht man ja gar nicht durch...
1
entity Register_16B is
2
  generic(P                    :     natural := 16);  --16 Bits
3
  port(
4
    REG_CLK, REG_Data, REG_RST : in  std_logic;
5
    REG_Dout                   : out std_logic_vector(P-1 downto 0)
6
    );
7
end Register_16B;
8
9
architecture Behavioral of Register_16B is
10
11
  component LSR_32B                     --frequenzteiler.
12
    port(
13
      clk_in  : in  std_logic;
14
      clk_out : out std_logic
15
      );
16
  end component;
17
18
  signal DI : std_logic_vector(P-1 downto 0);
19
20
begin
21
  versuch : LSR_16B port map
22
    (
23
      clk_in  => ??;                    --ich muss hier mein cpld clock definieren?
24
                                        --wenn ja wie
25
                                        --kann ich es machen?
26
      clk_out => REG_CLK;               --output des frequenzteilers ist REG-clk
27
      );
28
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.
1
entity top is
2
  port(
3
    master_clk : in std_logic;
4
    ...
5
 );
6
end top;
7
8
architecture struct of top is
9
10
  component LSR_32B
11
   ...
12
  end component;
13
14
  component Register_16B
15
   ...
16
  end component;
17
18
  signal local_clk: std_logic;
19
20
begin
21
22
  teiler: LSR32B port map
23
  {
24
     clk_in => master_clk,
25
     clk_out => local_clk
26
  };
27
28
  register: Register_16B port map
29
  {
30
     REG_CLK => local_clk,
31
     ...
32
  };
33
34
end struct;

Rick

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.