]> rtime.felk.cvut.cz Git - fpga/virtex2/uart.git/blobdiff - openMSP430_uart.vhd
Added custom openMSP430 peripheral as an interface to the quadcount module.
[fpga/virtex2/uart.git] / openMSP430_uart.vhd
index b6e3eceae7e709a5640399e47d2976b297d2245e..cbcd0ef237ccd422b141c780fd23f8a9cd9dea9b 100644 (file)
@@ -152,6 +152,22 @@ architecture rtl of openMSP430_uart is
     );
   end component;
 
+  component omsp_quadcount is
+    port (
+      mclk        : in  std_logic;
+      per_addr    : in  std_logic_vector (7  downto 0);
+      per_din     : in  std_logic_vector (15 downto 0);  -- unused
+      per_en      : in  std_logic;
+      per_wen     : in  std_logic_vector (1  downto 0);  -- unused
+      puc         : in  std_logic;                       -- unused
+      per_irq_acc : in  std_logic;                       -- unused
+      per_irq     : out std_logic;                       -- unused
+      per_dout    : out std_logic_vector (15 downto 0);
+      
+      qcount      : in  std_logic_vector (31 downto 0)
+    );
+  end component;
+
 
   signal mclk : std_logic;
   signal puc : std_logic;
@@ -180,6 +196,7 @@ architecture rtl of openMSP430_uart is
 
   signal gpio_per_dout : std_logic_vector (15 downto 0);
   signal timerA_per_dout : std_logic_vector (15 downto 0);
+  signal omsp_quadcount_dout : std_logic_vector (15 downto 0);
 
   signal irq_ta0 : std_logic;
   signal irq_ta1 : std_logic;
@@ -334,9 +351,23 @@ begin
     taclk       => '0'
   );
 
+  omsp_quadcount_0 : omsp_quadcount port map (
+    mclk        => mclk,
+    per_addr    => per_addr,
+    per_din     => (others => '0'),
+    per_en      => per_en,
+    per_wen     => "00",
+    puc         => '0',
+    per_irq_acc => '0',
+    per_irq     => open,
+    per_dout    => omsp_quadcount_dout,
+    
+    qcount      => X"0001E240" -- 123456
+  );
+
 --------------------------------------------------------------------------------
 
-  per_dout <=  gpio_per_dout or timerA_per_dout;
+  per_dout <=  gpio_per_dout or timerA_per_dout or omsp_quadcount_dout;
   
   irq <= (9 => irq_ta0,
           8 => irq_ta1,