使用VHDL的CASE语句,设计七段译码器程序,

求解电路语言。使用VHDL的CASE语句,设计七段译码器程序,实现显示0-9的数字。请高手注释一下,方便本人能看懂,因为本人要去实践应用的。谢谢。

第1个回答  推荐于2018-03-04
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY CL IS
PORT ( Q : IN STD_LOGIC_VECTOR(3 DOWNTO 0); ----输入4位BCD码 DOUT : OUT STD_LOGIC_VECTOR(6 DOWNTO 0)); --7段码
END CL; ARCHITECTURE behav OF CL IS
BEGIN
PROCESS(Q) BEGIN
CASE Q IS
WHEN "0000"=> DOUT<="0111111";
WHEN "0001"=> DOUT<="0000110";
WHEN "0010"=> DOUT<="1011011";
WHEN "0011"=> DOUT<="1001111";
WHEN "0100"=> DOUT<="1100110";
WHEN "0101"=> DOUT<="1101101";
WHEN "0110"=> DOUT<="1111101";
WHEN "0111"=> DOUT<="0000111";
WHEN "1000"=> DOUT<="1111111";
WHEN "1001"=> DOUT<="1101111";
WHEN "1111"=> DOUT<="0000000";
WHEN "1101"=> DOUT<="1000000";
WHEN OTHERS=> DOUT<="0000001";
END CASE;
END PROCESS;
END behav;本回答被网友采纳

用VHDL语言设计一个共阴极七段数码管的译码电路,急求大神解答,高分求助...
74LS49是一个7段译码器,其VHDL描述如下:LIBRARYIEEE;USE IEEE.Std_logic_1164.ALL;ENTITYls49 IS PORT(bl: IN Std_logic;bi: IN Std_logic_vector(3 DOWNTO 0);a,b,c,d,e,f,g: OUT Std_logic);ENDls49;ARCHITECTURE behavl_49 OF ls49 IS SIGNAL s: Std_logic_vector(6 DOWNTO ...

如何用VHDL设计七段数码显示器的十六进制译码器,要求该译码器有三态输出...
用case语句就可以,当然也可以由with select,when。。。等语句。输出和数码管的接法有关,下面这个是我用case语句写的,是共阴的接法,共阳的话把q按位取反就是。我综合通过了。library ieee;use ieee.std_logic_1164.all;entity smg_16 is port( a:in std_logic_vector(3 downto 0);q:out...

七段数码显示译码器VHDL程序
when "1111" => seg_r <= "10001110";‐‐f end case;

用IF语句编写3-8译码器 谢了
3-8译码器,用VHDL语言写的,感觉用case 语句比IF 更易表达 1ibrary ieee ;use ieee.std-logic-1164.all;entity eda i s port(a,b,c:in std-logic;d :out std-logic-vector (7 downto 0)) ;end eda;architecture behaviour of eda is begin case ...

用VHDL实现4-16译码器
ENTITY decode4-16 IS PORT(a,b,c,d:IN STD_LOGIC;q:BUFFER STD_LOGIC_VECTOR(15 DOWNTO 0));END decode4-16 ;architecture behave of decode4-16 is signal indata:std_logic_vector(2 downto 0);begin indata<=c&b&a;process(indata)begin case indata is when “0000”=>y<=”...

2-4译码器的VHDL描述
1.端口是bit类型,无需声明IEEE库和IEEE.STD_LOGIC.1164程序包。2.2-4译码器不是优先级结构,应当用case语句描述。3.字符串文字应当使用双引号。4.信号赋值号是“<=”,而不是“:<=”。ENTITY decoder24 IS PORT(s1,s2:IN bit;m:OUT bit_vector(3 downto 0));END;ARCHITECTURE be OF ...

共阳级七段显示译码器VHDL程序与共阴极有何区别
共阳极公共端接阳极,低电平有效(灯亮), 共阴极公共端接阴极,高电平有效(灯亮)就是程序在编写的时候共阳极的要用0才表示亮 共阴极的用1才表示亮 例如 0000 0000 如果是共阳极就是全亮 共阴极就是全灭

分别用IF语句、CASE语句设计一个四-十六译码器。写出VHDL源程序!
port ( d: in STD_LOGIC_VECTOR (3downto0);q: out STD_LOGIC_VECTOR (15downto0));end encoder4_16;architecture encoder_if of encoder4_16 is begin process(d)begin if d="0000" then q<=(0=>'1',others=>'0');elsifd="0001" then q<=(1=>'1',others=>'0');elsifd=...

3-8译码器 VHDL编程
port(INT_ad:in std_logic_vector(2downto0);output:out std_logic_vector(7downto0);EN:in std_logic;D:in std_logic;)end entity sllre;architecture jh of sllre is signal sel:std_logic_vector(3downto0);begin process((INT_ad,EN);begin if EN ='1' then case(INT_ad) is ...

基于VHDL语言的多功能数字钟设计
计数器的输出分别经译码器送显示器显示。计时出现误差时,可以用校时电路校时、校分。 图1 数字电子钟逻辑框图 三、单元电路设计、原理及器件选择 (一)石英晶体振荡器 1、重要概念的解释 (1) 反馈:将放大电路输出量的一部分或全部,通过一定的方式送回放大电路的输入端。 (2) 耦合:是指信号由第一级向第二级...

相似回答