|
From: Xavier L. <Sup...@us...> - 2010-01-15 23:40:51
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "UNNAMED PROJECT".
The branch, master has been updated
via 42a764ec6bb089a794a4a4cd2a88e8af5ca67fb6 (commit)
from 09d628ca3f2eea7918516539737a9f3e0fae073c (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 42a764ec6bb089a794a4a4cd2a88e8af5ca67fb6
Author: Xavier Lagorce <Xav...@cr...>
Date: Sat Jan 16 00:40:24 2010 +0100
Ajout d'un decodeur BCD vers 7 segments (+ point décimal)
-----------------------------------------------------------------------
Changes:
diff --git a/fpga/components/decoder_7seg.vhd b/fpga/components/decoder_7seg.vhd
new file mode 100644
index 0000000..dcf698b
--- /dev/null
+++ b/fpga/components/decoder_7seg.vhd
@@ -0,0 +1,162 @@
+----------------------------------------------------------------------------------
+-- Create Date: 15/01/2010
+-- Module Name: decoder_7seg
+-- Authors : X. Lagorce
+-- Description: Decodes a BCD value into its representation on a 7 segments
+-- diplay
+--
+-- Dependencies: /
+--
+-- Revision:
+-- Revision 0.1 : First implementation
+-- Additional Comments:
+--
+----------------------------------------------------------------------------------
+
+library IEEE;
+use IEEE.STD_LOGIC_1164.ALL;
+use IEEE.STD_LOGIC_ARITH.ALL;
+use IEEE.STD_LOGIC_UNSIGNED.ALL;
+
+entity decoder_7seg is
+ port(val : in std_logic_vector(3 downto 0);
+ pti : in std_logic;
+ a : out std_logic;
+ b : out std_logic;
+ c : out std_logic;
+ d : out std_logic;
+ e : out std_logic;
+ f : out std_logic;
+ g : out std_logic;
+ pt : out std_logic
+ );
+end decoder_7seg;
+
+architecture hexa_dec of decoder_7seg is
+begin
+ process(val, pti)
+ begin
+ case val is
+ when "0000" => a <= '1'; -- 0
+ b <= '1';
+ c <= '1';
+ d <= '1';
+ e <= '1';
+ f <= '1';
+ g <= '0';
+ when "0001" => a <= '0'; -- 1
+ b <= '1';
+ c <= '1';
+ d <= '0';
+ e <= '0';
+ f <= '0';
+ g <= '0';
+ when "0010" => a <= '1'; -- 2
+ b <= '1';
+ c <= '0';
+ d <= '1';
+ e <= '1';
+ f <= '0';
+ g <= '1';
+ when "0011" => a <= '1'; -- 3
+ b <= '1';
+ c <= '1';
+ d <= '1';
+ e <= '0';
+ f <= '0';
+ g <= '1';
+ when "0100" => a <= '0'; -- 4
+ b <= '1';
+ c <= '1';
+ d <= '0';
+ e <= '0';
+ f <= '1';
+ g <= '1';
+ when "0101" => a <= '1'; -- 5
+ b <= '0';
+ c <= '1';
+ d <= '1';
+ e <= '0';
+ f <= '1';
+ g <= '1';
+ when "0110" => a <= '1'; -- 6
+ b <= '0';
+ c <= '1';
+ d <= '1';
+ e <= '1';
+ f <= '1';
+ g <= '1';
+ when "0111" => a <= '1'; -- 7
+ b <= '1';
+ c <= '1';
+ d <= '0';
+ e <= '0';
+ f <= '0';
+ g <= '0';
+ when "1000" => a <= '1'; -- 8
+ b <= '1';
+ c <= '1';
+ d <= '1';
+ e <= '1';
+ f <= '1';
+ g <= '1';
+ when "1001" => a <= '1'; -- 9
+ b <= '1';
+ c <= '1';
+ d <= '1';
+ e <= '0';
+ f <= '1';
+ g <= '1';
+ when "1010" => a <= '1'; -- A
+ b <= '1';
+ c <= '1';
+ d <= '0';
+ e <= '1';
+ f <= '1';
+ g <= '1';
+ when "1011" => a <= '0'; -- B
+ b <= '0';
+ c <= '1';
+ d <= '1';
+ e <= '1';
+ f <= '1';
+ g <= '1';
+ when "1100" => a <= '1'; -- C
+ b <= '0';
+ c <= '0';
+ d <= '1';
+ e <= '1';
+ f <= '1';
+ g <= '0';
+ when "1101" => a <= '0'; -- D
+ b <= '1';
+ c <= '1';
+ d <= '1';
+ e <= '1';
+ f <= '0';
+ g <= '1';
+ when "1110" => a <= '1'; -- E
+ b <= '0';
+ c <= '0';
+ d <= '1';
+ e <= '1';
+ f <= '1';
+ g <= '1';
+ when "1111" => a <= '1'; -- F
+ b <= '0';
+ c <= '0';
+ d <= '0';
+ e <= '1';
+ f <= '1';
+ g <= '1';
+ when others => a <= '0'; -- shouldn't happen
+ b <= '0';
+ c <= '0';
+ d <= '0';
+ e <= '0';
+ f <= '0';
+ g <= '0';
+ end case;
+ end process;
+ pt <= pti;
+end hexa_dec;
hooks/post-receive
--
UNNAMED PROJECT
|