dt-code-sequ

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
dt-code-sequ [2012/01/18 09:23] – Strange Counter eingebaut beckmanfdt-code-sequ [2014/01/08 11:02] (current) – flipflop process -> concurrent beckmanf
Line 16: Line 16:
   in_i     :        in std_ulogic;    in_i     :        in std_ulogic; 
   out_o    :        out std_ulogic);   out_o    :        out std_ulogic);
-end;+end entity flipflop;
  
 architecture rtl of fliplfop is architecture rtl of fliplfop is
Line 33: Line 33:
 out_o <= q;  out_o <= q; 
  
-end; +end architecture rtlÌý
 +</code>
  
 +Ein Flipflop kann alternativ mit einem concurrent statement beschrieben werden.  
 +
 +<code vhdl>
 +entity flipflop is 
 +  port(
 +  clk      :        in std_ulogic;
 +  reset_n  :        in std_ulogic;
 +  in_i     :        in std_ulogic; 
 +  out_o    :        out std_ulogic);
 +end entity flipflop;
 +
 +architecture rtl of fliplfop is
 +  signal q : std_ulogic;
 +begin
 +
 +q <= '0' when reset_n = '0' else in_i when rising_edge(clk); 
 +
 +out_o <= q; 
 +
 +end architecture rtl; 
 </code> </code>
      
Line 48: Line 69:
 begin begin
  
-ff_p : process(clk, reset_n)Ìý+q <= '0' when reset_n = '0' else new_q when rising_edge(clk); 
-beginÌý+
-  if reset_n = '0' thenÌý+
-    q <= '0';Ìý+
-  elsif rising_edge(clk) thenÌý+
-    q <= new_q; Ìý+
-  end if;Ìý+
-end process ff_p;+
  
 new_q <= not q;  new_q <= not q; 
  
-end; +end architecture rtl
  
 </code> </code>
Line 76: Line 90:
 entity strangecnt is  entity strangecnt is 
   port (   port (
-    clk_i                   : in std_ulogic;Ìý+    clk                     : in std_ulogic;Ìý
-    reset_ni                : in std_ulogic;+    rst_n                   : in std_ulogic;
     s_i                     : in std_ulogic;     s_i                     : in std_ulogic;
     cnt0_o                  : out std_ulogic;     cnt0_o                  : out std_ulogic;
Line 88: Line 102:
   signal l : std_ulogic;   signal l : std_ulogic;
 begin begin
-  seq_p : process(clk_i, reset_ni)Ìý+  Ìý
-  beginÌý+  c0 <= '0' when rst_n = '0' else c0_new when rising_edge(clk); Ìý
-    if reset_ni = '0' thenÌý+  c1 <= '0' when rst_n = '0' else c1_new when rising_edge(clk);
-      c0 <= '0';Ìý+
-      c1 <= '0'; Ìý+
-    elsif rising_edge(clk_ithenÌý+
-      c0 <= c0_new;Ìý+
-      c1 <= c1_new; Ìý+
-    end if;Ìý+
-  end process seq_p;+
  
   c0_new <= not c0;   c0_new <= not c0;
Line 110: Line 117:
 a) Zeichnen Sie die Schaltung! Handelt es sich um einen Moore oder Mealy Automaten? a) Zeichnen Sie die Schaltung! Handelt es sich um einen Moore oder Mealy Automaten?
  
-b) Zeichen Sie den Graphen!+b) Zeichnen Sie den Graphen!
  
 c) Zeichnen Sie ein Timingdiagramm!  c) Zeichnen Sie ein Timingdiagramm! 
  • dt-code-sequ.1326875008.txt.gz
  • Last modified: 2012/01/18 09:23
  • (external edit)