4
7/17/12 VHDL coding tips and tricks: VHDL code for BCD to 7-segment display converter 1/4 vhdlguru.blogspot.in/2010/03/vhdl-code-for-bcd-to-7-segment-display.html Get interesting tips and tricks in VHDL programming VHDL coding tips and tricks VHDL coding tips and tricks Home VHDL FAQs Example Codes Testimonials About me Disclaimer Homework or Project Contact me for VHDL projects or assi FPGA Textbooks Verilog & VHDL Digital Design Texts using Digilent FPGA kits. Low cost. www.digilentinc.com Virtex-6 AMC W/ FMC site Mid size AMC for μTCA/ATCA cards HPC VITA 57 FMC connector for I/Os lyrtechrd.com/ Vlsi design vhdl IC design papers and EDA tools EE Times India: News & Technology www.eetindia.co.in SATURDAY, MARCH 6, 2010 VHDL code for BCD to 7-segment display converter 0 tweets tw eet Here is a program for BCD to 7-segment display decoder. The module takes 4 bit BCD as input and outputs 7 bit decoded output for driving the display unit.A seven segment display can be used to display decimal digits.They have LED or LCD elements which becomes active when the input is zero.The figure shows how different digits are displayed: library IEEE ; use IEEE . STD_LOGIC_1164 . ALL ; use IEEE . STD_LOGIC_ARITH . ALL ; use IEEE .STD_LOGIC_UNSIGNED. ALL ; entity test is port ( clk : in std_logic ; bcd : in std_logic_vector ( 3 downto 0 ); --BCD input segment7 : out std_logic_vector ( 6 downto 0 ) -- 7 bit decoded output. ); end test ; --'a' corresponds to MSB of segment7 and g corresponds to LSB of segment7. architecture Behavioral of test is begin process ( clk,bcd ) BEGIN if ( clk 'event and clk = ' 1 ' ) then case bcd is when "0000" => segment7 <= "0000001" ; -- '0' when "0001" => segment7 <= "1001111" ; -- '1' when "0010" => segment7 <= "0010010" ; -- '2' when "0011" => segment7 <= "0000110" ; -- '3' when "0100" => segment7 <= "1001100" ; -- '4' when "0101" => segment7 <= "0100100" ; -- '5' when "0110" => segment7 <= "0100000" ; -- '6' when "0111" => segment7 <= "0001111" ; -- '7' when "1000" => segment7 <= "0000000" ; -- '8' when "1001" => segment7 <= "0000100" ; -- '9' --nothing is displayed when a number more than 9 is given as input. when others => segment7 <= "1111111" ; end case ; VHDL Test Benches Generate VHDL models or logic analyzer data. www.syncad.com Xilinx® Verilog Tra Get Expert Verilog Tra Authorized Instructors www.xilinx.com/training FPGA book 100 Power Tips for FP your FPGA design skills OutputLogic.com Digital Power Mana Single-chip solution. E interface. www.Latticesemi.com/Platf SEARCH THIS BLOG TRANSLATE THIS PAGE Enter your Sub Delivered b GET UPDATES Join this site Join this site w ith Google Friend Connect Members (254) More » Already a member? Sign in LIKED THIS BLOG ? vhdl tips (28) exam (14) xilinx errors (9) x model (4) core generator (4 LABELS (3) file handling (3) fixed point (3) port mapping (3) real vari model (2) LFSR (2) counters ( (1) Buffers (1) C and VHDL ( Frequency measurement (1) a comparator (1) distributed RAM clock (1) generate (1) pipelinin sensitivity list (1) sequence dete Share Report Abuse Next Blog»

VHDL Coding Tips and Tricks_ VHDL Code for BCD to 7-Segment Display Converter

Embed Size (px)

Citation preview

Page 1: VHDL Coding Tips and Tricks_ VHDL Code for BCD to 7-Segment Display Converter

7/17/12 VHDL coding tips and tricks: VHDL code for BCD to 7-segment display converter

1/4vhdlguru.blogspot.in/2010/03/vhdl-code-for-bcd-to-7-segment-display.html

Get interesting tips and tricks in VHDL programming

VHDL coding tips and tricksVHDL coding tips and tricks

Home VHDL FAQs Example Codes Testimonials About me Disclaimer Homework or Project

Contact me for VHDL projects or assignments

FPGA Textbooks Verilog & VHDL Digital Design Texts using Digilent FPGA kits. Low cost. www.digilentinc.com

Virtex-6 AMC W/ FMC site Mid size AMC for μTCA/ATCA cards HPC VITA 57 FMC connector for I/Os lyrtechrd.com/

Vlsi design vhdl IC design papers and EDA tools EE Times India: News & Technology www.eetindia.co.in

SATURDAY, MARCH 6, 2010

VHDL code for BCD to 7-segment display converter

0tweets

tw eet Here is a program for BCD to 7-segment display decoder. The module takes 4 bit BCD as input and outputs 7 bit decoded output

for driving the display unit.A seven segment display can be used to display decimal digits.They have LED or LCD elements which becomes

active when the input is zero.The figure shows how different digits are displayed:

library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;

entity test isport ( clk : in std_logic; bcd : in std_logic_vector(3 downto 0); --BCD input segment7 : out std_logic_vector(6 downto 0) -- 7 bit decoded output. );end test;--'a' corresponds to MSB of segment7 and g corresponds to LSB of segment7.architecture Behavioral of test is

beginprocess (clk,bcd)BEGINif (clk'event and clk='1') thencase bcd iswhen "0000"=> segment7 <="0000001"; -- '0'when "0001"=> segment7 <="1001111"; -- '1'when "0010"=> segment7 <="0010010"; -- '2'when "0011"=> segment7 <="0000110"; -- '3'when "0100"=> segment7 <="1001100"; -- '4' when "0101"=> segment7 <="0100100"; -- '5'when "0110"=> segment7 <="0100000"; -- '6'when "0111"=> segment7 <="0001111"; -- '7'when "1000"=> segment7 <="0000000"; -- '8'when "1001"=> segment7 <="0000100"; -- '9' --nothing is displayed when a number more than 9 is given as input. when others=> segment7 <="1111111"; end case;

VHDL Test BenchesGenerate VHDL models from timing diagramsor logic analyzer data.www.syncad.com

Xilinx® Verilog TrainingGet Expert Verilog Training From Xilinx®Authorized Instructorswww.xilinx.com/training

FPGA book100 Power Tips for FPGA Designers Improveyour FPGA design skillsOutputLogic.com

Digital Power ManagementSingle-chip solution. Easy softwareinterface.www.Latticesemi.com/PlatformManager

SEARCH THIS BLOG

TRANSLATE THIS PAGE

Enter your email address:

Subscribe

Delivered by

GET UPDATES

Join this siteJoin this site

w ith Google Friend Connect

Members (254) More »

Already a member? Sign in

LIKED THIS BLOG ?

vhdl tips (28) examples(14) xilinx errors (9) xilinx tipsmodel (4) core generator (4)

LABELS

(3) f ile handling (3) f ixed point package

(3) port mapping (3) real variable

model (2) LFSR (2) counters (2)

(1) Buffers (1) C and VHDL (1)

Frequency measurement (1) arrays and records

comparator (1) distributed RAM

clock (1) generate (1) pipelining

sensitivity l ist (1) sequence detector

Share Report Abuse Next Blog»

Page 2: VHDL Coding Tips and Tricks_ VHDL Code for BCD to 7-Segment Display Converter

7/17/12 VHDL coding tips and tricks: VHDL code for BCD to 7-segment display converter

2/4vhdlguru.blogspot.in/2010/03/vhdl-code-for-bcd-to-7-segment-display.html

Posted by vipin at 7:50 PM

Reactions: Good (6) Bad (0) Average (0)

Labels: useful codes

end if;

end process;

end Behavioral;

If you want a decimal number to be displayed using this code then convert the corresponding code into BCD and then instantiate this

module for each digit of the BCD code.

Here is a sample test bench code for this module:

LIBRARY ieee;USE ieee.std_logic_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;

ENTITY test_tb ISEND test_tb;

ARCHITECTURE behavior OF test_tb IS signal clk : std_logic := '0'; signal bcd : std_logic_vector(3 downto 0) := (others => '0'); signal segment7 : std_logic_vector(6 downto 0); constant clk_period : time := 1 ns;BEGIN uut: entity work.test PORT MAP (clk,bcd,segment7); clk_process :process begin clk <= '0'; wait for clk_period/2; clk <= '1'; wait for clk_period/2; end process; stim_proc: process begin for i in 0 to 9 loop bcd <= conv_std_logic_vector(i,4); wait for 2 ns; end loop; end process;

END;

You might also like:

Migrating from std_logic_vector to UNSIGNED or SIGNED data types8 bit Binary to BCD converter - Double Dabble algorithmHow to implement State machines in VHDL?VHDL code for a simple ALUSequence detector using state machine in VHDL

LinkWithin

+2 Recommend this on Google

10 comments:

Alfred March 25, 2010 9:20 AM

hello.. can you pls post a test bench for this code.. tnx...

Reply

vipin March 25, 2010 10:25 AM

@Alfred : I have modified the post including the test bench.Hope that helps..

Reply

Alfred March 25, 2010 12:57 PM

tnx a lot..

Reply

Yanuar May 30, 2010 7:27 PM

thank you, it is so useful for me.

Can you show me, how to control a animation on vga using keyboard in vhdl

Reply

Find us on Facebook

Neri A mr Sebastian

V-codes

529 people like V-codes.

Like

Facebook social plugin

► ► 2012 (6)

► ► 2011 (16)

▼ ▼ 2010 (74)

► ► December 2010 (1)

► ► November 2010 (1)

► ► October 2010 (4)

► ► September 2010 (7)

► ► August 2010 (3)

► ► July 2010 (2)

► ► June 2010 (1)

► ► April 2010 (10)

▼ ▼ March 2010 (44)

Reading and Writing files in VHDL - An easy way of...

How to test your design without writing a seperate...

Fixed Point Operations in VHDL : Tutorial Series P...

4 bit Synchronous UP counter(with reset) using JK ...

Fixed Point Operations in VHDL : Tutorial Series P...

Positive edge triggered JK Flip Flop with reset in...

3 : 8 Decoder using basic logic gates

Fixed Point Operations in VHDL : Tutorial Series P...

4 bit Ripple Carry Adder using basic logic gates

4 bit comparator with testbench

Simple 1 : 4 Demultiplexer using case statements

Simple 4 : 1 multiplexer using case statements

Migrating from std_logic_vector to UNSIGNED orSIG...

Concatenation Operator in VHDL

Random Number Generator in VHDL

Why the library "numeric_std" is preferred over "s...

Matrix multiplication in VHDL

A VHDL Function for finding SQUARE ROOT

Entity Instantiation - An easy way of Port mapping...

A VHDL function for division two unsigned numbers

Simple sine wave generator in VHDL

Digital clock in VHDL

Some tricky coding methods using VHDL Attributes

Xilinx ISE Help : Using RTL and TechnologySchemat...

Synthesis Error : More than 100% of Device resourc...

Synthesis Error : Signal is connected to multiple ...

Synthesis warning : Node

Synthesis warning : FF/Latch

Basic model of FIFO Queue in VHDL

GENERIC's in VHDL - Construction of parametrizedc...

When and how to use "constant"?

Variables and Shared Variables

What is the difference between STD_LOGIC and BITt...

Usage of components and Port mapping methods

Is 'case' statement more efficient than 'if..elsif...

How to do a clocked 'for' loop

VHDL coding method for Cyclic ReduntancyCheck(CRC...

BLOG ARCHIVE

Page 3: VHDL Coding Tips and Tricks_ VHDL Code for BCD to 7-Segment Display Converter

7/17/12 VHDL coding tips and tricks: VHDL code for BCD to 7-segment display converter

3/4vhdlguru.blogspot.in/2010/03/vhdl-code-for-bcd-to-7-segment-display.html

Newer Post Older PostHome

Subscribe to: Post Comments (Atom)

Enter your comment...

Comment as: Google Account

Publish Preview

Raphael Andreoni October 26, 2010 1:25 AM

Hi, I'm trying to implement the sum of two numbers with 5 bits and show in two digits SSD, but with no success, do you have any idea how to

do this?

I had success with decimal counter until 99, but how make this work whit the sum, I don't know.

Thanks

Reply

Jtesla July 21, 2011 2:02 AM

Can some one help me with the code for Four bit BCD decimal COUNTER using VHDL and the 74LS90. I'm using Xilinx 12.1 and I'm really

struggling with the logic gate code.

my email is [email protected]

Reply

sumdt October 19, 2011 10:25 PM

Please help me!

Write a VHDL code to perform the function of multiplier

which the inputs are from Dip Switch and outputs

display to 7-segment LED with BCD.

X : dip 1~4represents value 0~15

Y : dip 5~8represents value 0~15

Thanks you so much

Reply

sandeep October 21, 2011 6:43 PM

write a VHDL prog to display number on BCD-7 segment display , input given from ps/2 keyboard

Reply

mar&#39;d December 21, 2011 7:55 PM

can you help me to get a VHBL program for 64 bit CSA

Reply

blogzworld May 8, 2012 10:50 PM

Can you post the synthesis report.

Reply

VHDL Test Benches Generate VHDL models from timing diagrams or logic analyzer data. www.syncad.com

FPGA book 100 Power Tips for FPGA Designers Improve your FPGA design skills OutputLogic.com

Code to FlowCharts tool Convert program code to Visio, BMP Excel, Word, Powerpoint flow charts www.fatesoft.com

DOWNLOAD THIS ARTICLE AS PDF

VHDL code for BCD to 7-segment display converter

Some useful VHDL data types

Can you change a signal at both positive and negat...

Xilinx error :- Simulator:702 - Can not find desig...

A synthesizable delay generator instead of 'wait f...

Usage of Packages and functions

How to write a testbench?

► ► February 2010 (1)

VISITORS

Page 4: VHDL Coding Tips and Tricks_ VHDL Code for BCD to 7-Segment Display Converter

7/17/12 VHDL coding tips and tricks: VHDL code for BCD to 7-segment display converter

4/4vhdlguru.blogspot.in/2010/03/vhdl-code-for-bcd-to-7-segment-display.html

TOTAL PAGEVIEWS

8 7 7 0 9 3

Simple template. Powered by Blogger.