Hallo zusammen,
ich bin VHDL neuling und wollte mir in Quartus 2 einmal aus einem VHDL
beispiel die logikbausteinverknüpfung synthetisieren und anzeigen
lassen. der code wird erfolgreich kompiliert, ich weiß nun aber nicht,
wie ich die synthese anzeigen lassen kann (um zu verdeutlichen was ich
mit synthese meine: "schaltplan" aus ands, ors, flipflops, etc).
Kann mir dabei jemand helfen? Ich würde gerne wissen, was quartus 2 aus
dem VHDL code macht:
1 | -- Mealy Machine
|
2 | ENTITY test IS
|
3 | PORT (x, clock : IN bit;
|
4 | z : OUT bit);
|
5 | END test;
|
6 | ARCHITECTURE behavioral OF test IS
|
7 | TYPE state_type IS (s0, s1, s2, s3);
|
8 | SIGNAL current_state, next_state:
|
9 | state_type;
|
10 | BEGIN
|
11 | -- process to hold synchronous elements
|
12 | sync: PROCESS
|
13 | BEGIN
|
14 | WAIT UNTIL clock'EVENT AND clock='1';
|
15 | current_state <= next_state;
|
16 | END PROCESS;
|
17 | -- process to hold combinational logic
|
18 | comb: PROCESS (current_state, x)
|
19 | BEGIN
|
20 | CASE current_state IS
|
21 | WHEN s0 =>
|
22 | IF x='0' THEN
|
23 | z <= '0';
|
24 | next_state <= s0;
|
25 | ELSE
|
26 | z <= '1';
|
27 | next_state <= s2;
|
28 | END IF;
|
29 | WHEN s1 =>
|
30 | IF x='0' THEN
|
31 | z <= '0';
|
32 | next_state <= s0;
|
33 | ELSE
|
34 | z <= '0';
|
35 | next_state <= s2;
|
36 | END IF;
|
37 | WHEN s2 =>
|
38 | IF x='0' THEN
|
39 | z <= '1';
|
40 | next_state <= s2;
|
41 | ELSE
|
42 | z <= '0';
|
43 | next_state <= s3;
|
44 | END IF;
|
45 | WHEN s3 =>
|
46 | IF x='0' THEN
|
47 | z <= '0';
|
48 | next_state <= s3;
|
49 | ELSE
|
50 | z <= '1';
|
51 | next_state <= s1;
|
52 | END IF;
|
53 | END CASE;
|
54 | END PROCESS;
|
55 | END behavioral;
|