Ok alles klar, danke euch ich habe jetzt model sim installiert und das
scheint auch zu funktionieren.
3 fragen hab ich noch die packe ich hier rein um nicht das Forum mit
neuen threads zu sehr zu zu müllen. (Wie wäre es da übrigens mit einer
Anfänger Sektion mit solchen dämlicheren Fragen um das zu trennen?)
1) Kann man auch interne signale im model sim verfolgen? Ich habe die
Testbench jetzt über "add new Source" + "Testbench waveform" erstellt,
da sind aber nur die Portsignale verfügbar.
2) / 3)
habe folgendes ausprobiert und simuliert: vielleicht sinnvefreit, aber
sollte ein Frequenzteiler sein, den man abschalten kann. Blöde
zugegeben, aber das sind ja alle rein akademischen Aufgaben irgendwie...
1 | entity teilen is
|
2 | generic(tv : integer := 1 );
|
3 | Port ( EN : in std_logic;
|
4 | CLK : in std_logic;
|
5 | OUTP : out std_logic);
|
6 | end teilen;
|
7 |
|
8 | architecture Behavioral of teilen is
|
9 |
|
10 | signal hilfe_int : std_logic_vector(tv downto 0) := (others=>'0');
|
11 |
|
12 | begin
|
13 | OUTP <= hilfe_int(hilfe_int'left) when EN = '0' else 'Z';
|
14 |
|
15 | process(CLK)
|
16 | begin
|
17 | if(rising_edge(CLK)) then
|
18 | hilfe_int <= hilfe_int + 1;
|
19 | end if;
|
20 | end process;
|
21 |
|
22 | end Behavioral;
|
2) Muss ich das enable 'EN' irgendwie dieser ominösen Eintaktung
unterziehen? In der Simulation habe ich da von tristate bis gewollten
start ein Fitzel übrig bis zum nächsten CLK erscheint mir auch logisch.
Einziger Weg wäre, enable auch nur parallel zum takt auszuwerten?
3) Ist in dem prozess das if(...clk...) ... end if in ordnung ohne ein
else? Allgemein las ich ja auf Lothars Homepage die Notwendigkeit voller
if Konstrukte wegen der Latch Problematik. Hier gehts ja ohne Latch
eigentlich gar nicht - hilfe_int muss ja gespeichert werden.
Und, in dem Zusammenhang, was ist das schlimme, wenn ungewollt ein latch
entsteht? Geht das nur auf die Laufzeiten oder den Platzbedarf, oder
was?
bin aber schon ganz froh, daß ich Kleinigkeiten probieren und simulieren
kann - es ist nur hart zu überprüfen, ob das was man gedengelt hat auch
sinnvoll ist oder gegen jede Sinnhaftigkeit und Regel verstößt.
Nachher gewöhne ich mir noch Mist an.