I have quite a large project involving a Traffic Light system. I'm at
the point of port mapping all of my blocks together within the top
entity as I will post..
Errors I'm receiving:
"type of formal parameter "internal" does not match type or value"
"object "S" is used but not declared"
"cannot associate formal port "internal" of mode "object" with an
expression"
..same errors trickle down with tempTrig, clk_in, TS, TL, tempClk, and
reset. I'm clearly not connected this right.
Thanks for any input. Let me know if any other information is needed.
Ouch! There are multiple basic bugs in this description.
First:
A port map is "port_signal => external_signal" from the view of the
component.
Your tempclk is the external signal:
> signal tempclk : std_logic;
and your clk_24khz is the port signal:
> component pulse_counter is> port ( clk_24Khz : in std_logic;
So this assignment here (and as far as I see most of the others also) is
the wrong direction:
> U3 : pulse_counter port map (tempclk=>clk_24KHz, ...
Second:
> U1 : SeqLogic port map (V=> V_sensor,
You MUST(!!) pass eyery asynchronous external signal through at least
one better are two synchronisation flipflops before you use it inside
your design. See this here:
http://www.lothar-miller.de/s9y/archives/64-State-Machine-mit-asynchronem-Eingang.html
Third:
> mclk, tempclk, clk_24khz ...
Far way much too much clocks in this beginners design!!
A beginners design must have exactly 1 clock. All the rest is done by
clock enables. See there the very last code snippet:
http://www.lothar-miller.de/s9y/archives/80-Hello-World!.html
The whole design has only clk as clock. 't' is the clock enable.