(Combinational Circuit)

Slides:



Advertisements
Similar presentations
第 6 章 組合邏輯電路之設計及應用 6-1 組合邏輯電路之設計步驟 6-2 加法器及減法器 6-3 BCD加法器 6-4 解碼器及編碼器
Advertisements

什么是SOPC: SOPC是英文System On a Programmable Chip的缩写,称为片上可编程系统。SOPC将传统的EDA技术、计算机系统、嵌入式系统、数字信号处理等融为一体,综合了各自的优势,且在结构上形成一块芯片。 为什么用SOPC:SOPC是现代电子技术和电子系统设计的发展趋势,建立了电子系统设计的新模式。用户利用SOPC开发平台,自行设计高速、高性能的DSP处理器、特定功能的CPU及其外围接口电路,创建结构最为简洁的电子系统。
《 E D A 技 术》 课 程 教 学 讲授:伍宗富 湖南文理学院电气与信息工程学院 2017年3月19日星期日.
第4章 VHDL设计初步.
EPF10K10TI144-4晶片燒錄.
组合逻辑 刘鹏 Mar. 17, 2015 浙江大学 信息与电子工程系
第三章 组合逻辑电路 第一节 组合电路的分析和设计 第二节 组合逻辑电路中的竞争与冒险 第三节 超高速集成电路硬件描述语言VHDL
題目:十六對一多工器 姓名:李國豪 學號:B
邏輯電路的分類 1. 組合邏輯(combinational logic):其輸出狀態直接由輸入的組合來決定,並不涉及線路過去的輸出狀態。
數位邏輯 Digital Logic 醫務管理暨醫療資訊學系 陳以德 副教授: 濟世CS 轉
VHDL數位電路實習與專題設計 文魁資訊-UE301
二、相關知識 於數位系統中之邏輯電路依運作的方式不同可區分為:組合邏輯(combinational logic)及序向邏輯(sequential logic)兩部分。組合邏輯通常都是由一些基本邏輯閘(AND、OR、NOT……)所組成的,它的輸出是由當時的輸入組合所決定的,與過去的輸入狀況無關。
VHDL數位電路實習與專題設計 文魁資訊-UE301
8.9二进制振幅键控(ASK) 调制器与解调器设计
邏輯設計.
2-3 基本數位邏輯處理※.
组合逻辑3 Combinational Logic
二、相關知識 在數位系統中,資料的表示方式通常是以0與1這兩種基本型態組合而成的,資料若要作處理,則必須將它轉為處理單元所能接受的型式(碼),此即所謂的編碼(encode)。可以完成此編碼工作的電路稱為編碼器(encoder)。而當處理單元將資料處理完之後,則必須將它呈現出來,此時我們需要將它更改為人們所熟悉的資料型式,此種動作我們稱之為解碼(decode)。可以完成此解碼工作的電路稱為解碼器(decoder)。
VHDL 硬體描述語言 數位電路設計實務 第四章 VHDL 的語言結構.
二、相關知識 多工器(multiplexer,MUX)或稱資料選擇器(data selector),它主要的功能是從許多條資料輸入線,選擇其中一條輸入資料送至單一輸出線上。 解多工器(Demultiplexer,DEMUX)的動作和多工器恰好相反。 一般而言,多工器與解多工器是用來執行多段選擇開關的功能,它用在類比(analog)和數位(digital)上是有所不同。
第6章組合邏輯應用實驗 6-1 編碼∕解碼器實驗 6-2 多工∕解多工器實驗 6-3 七段顯示解碼器.
VHDL 硬體描述語言 數位電路設計實務 第六章 函數副程序以及套件程式庫.
EDA原理及应用 何宾
使用VHDL設計—4位元減法器 通訊一甲 B 楊穎穆.
EDA原理及应用 何宾
使用VHDL設計—4位元加法器 通訊一甲 B 楊穎穆.
第九章 数字系统设计 数字系统设计概述 ASM图、MDS图以及 ASM图至MDS图的转换 数字密码引爆器系统设计 数字系统设计实例 小结.
使用VHDL設計—4位元位移器 通訊一甲 B 楊穎穆.
欢迎参加VHDL培训 VHDL培训教程 浙江大学电子信息技术研究所 电子设计自动化(EDA)培训中心
義守大學電機工程學系 陳慶瀚 第2章 VHDL基本語法 義守大學電機工程學系 陳慶瀚
第13章 数字电路基础 13.1 数字电路概述 13.2 数字电路中的数值与码制 13.3 逻辑代数 13.4 逻辑门电路
使用VHDL設計—向上&向下計數器 通訊一甲 B 楊穎穆.
组合逻辑3 Combinational Logic
使用VHDL設計-XOR_GATE 通訊一甲 B 楊穎穆.
二、相關知識 1. 比較器 比較器是一種組合邏輯電路,它可以用來執行一個數值大於、等於、或小於另一個值。 (1) 位元比較器
使用VHDL設計--Moore Machine
第 8 章 Combinational Logic Applications
陳慶瀚 機器智慧與自動化技術(MIAT)實驗室 國立中央大學資工系 2013年5月28日
使用VHDL設計-多工器/解多工器 通訊一甲 B 楊穎穆.
第12章 图像边缘检测器的设计与分析 12.1 系统设计要求 12.2 系统设计方案 12.3 主要LPM原理图和VHDL源程序
第五章 VHDL设计基础 本章重点: 本章难点: VHDL程序结构 VHDL的基本数据类型 VHDL的基本描述语句 基本组合逻辑电路设计
義守大學電機工程學系 陳慶瀚 第3章 VHDL Concurrent語法 義守大學電機工程學系 陳慶瀚
第六章 VHDL设计共享.
第五章 VHDL主要描述语句.
移相正弦信号发生器设计 采用直接数字综合器DDS发生器的设计 原理:图1是此电路模型图
使用VHDL設計—4位元ALU電路 通訊一甲 B 楊穎穆.
第一次上机安排 第六周 第七周 周一晚(提高1、2,通信001~012) 周二上(通信014~085) 周四上(通信086~154)
抢答器 设计一个2人抢答器。要求如下: 设计任务 1.两人抢答,先抢为有效,用发光二极 管显示是否抢到优先答题权。
计算机学院 数字逻辑实验的要求.
第6章 組合邏輯應用實驗 6-1 編碼∕解碼器實驗 6-2 多工∕解多工器實驗 6-3 七段顯示解碼器.
使用VHDL設計 七段顯示器 通訊工程系 一年甲班 姓名 : 蘇建宇 學號 : B
數位邏輯設計 VHDL.
邏輯設計實驗作業 ----基本邏輯閘實驗 學號:B 楊穎穆.
使用VHDL設計-XOR_GATE 通訊一甲 B 楊穎穆.
數位邏輯設計與實習 Ch08實驗室實習.
使用VHDL設計-8x1多工器 通訊一甲 B 楊穎穆.
自停式向下計數器 通訊一甲 B 楊穎穆.
第九章 布林代數與邏輯設計.
第7章 VHDL设计应用实例 7.1 8位加法器的设计 7.2 分频电路 7.3 数字秒表的设计.
使用VHDL設計-8x3編碼電路 通訊一甲 B 楊穎穆.
可變式計數器 通訊一甲 B 楊穎穆.
使用VHDL設計-七段顯示 通訊一甲 B 楊穎穆.
Exp4:加法器.
陳慶瀚 機器智慧與自動化技術(MIAT)實驗室 國立中央大學資工系 2009年10月22日
Programmable Logic System Design
陳慶瀚 機器智慧與自動化技術(MIAT)實驗室 國立中央大學資工系 2013年5月28日
實習八 邏輯閘的應用 工作項目一 無穩態多諧振盪器的應用 電線接線圖 電子電路實習 P.26.
使用VHDL設計-七段顯示 通訊一甲 B 楊穎穆.
第七章 基本逻辑电路设计.
Programmable Logic System Design
Presentation transcript:

(Combinational Circuit) 組合邏輯應用電路 組合邏輯電路 (Combinational Circuit) n 條 輸入線 m 條 輸出線 邏輯閘 -AND -OR -NOT -NAND -NOR -XOR 分析技術 -真值表 -卡諾圖 -列表法 -布林函數

A B C S 1 組合邏輯應用電路-半加器 半加器(Half-Adder:HA) 被加數A,加數B,進位C,和S 的真值表 半 S A -輸入:被加數、加數 -輸出:和(Sum) 、進位(Carry out) 被加數A,加數B,進位C,和S 的真值表 被加數 加數 進位 和 A B C S 1 半 加 器 A B S C

組合邏輯應用電路-半加器VHDL 程式 library ieee; use ieee.std_logic_1164.all; entity half_adder is port ( A,B : in std_logic; S, C : out std_logic); end half_adder; architecture half_adder_logic of half_adder is begin S <= (A xor B); C <= (A and B); end half_adder_logic;

被加數A,加數B,進位輸入Ci,和S,進位輸出Ci+1 的真值表 組合邏輯應用電路-全加器 全加器(Full-Adder:FA) -輸入:被加數、加數、前一級的進位輸入(Carry in) -輸出:和(Sum) 、進位輸出(Carry out) 全加器= 「被加數」+「加數」+「進位輸入」 被加數A,加數B,進位輸入Ci,和S,進位輸出Ci+1 的真值表 被加數 加數 進位輸入 進位輸出 合 A B Ci Ci+1 S 1 全 加 器 A B S Ci+1 Ci

組合邏輯應用電路-全加器 Ci Ci+1

組合邏輯應用電路-全加器VHDL程式 library ieee; use ieee.std_logic_1164.all; entity FULL_ADDER is port ( A,B,CIN :in std_logic; S, COUT : out std_logic); end FULL_ADDER; architecture full_adder_logic of FULL_ADDER is begin S <= A xor B xor CIN; COUT <= (A and B) or (B and CIN) or (CIN and A); end full_adder_logic;

組合邏輯應用電路-漣波進位加法器 漣波進位加法器: -「半加器」或「全加器」為一位元(one bit)加法器 -多位元的加法器,須將「半加器」或「全加器」以串接方式連接,最左邊為最高位元(MSB),最右邊為最低位元(LSB) Ci Ci+1 C Ci Ci+1

TTL 4位元(4-bit)的全加器: 7483(GND:第12腳,Vcc:第5腳) 組合邏輯應用電路-漣波進位加法器 TTL 4位元(4-bit)的全加器: 7483(GND:第12腳,Vcc:第5腳) -被加數為「A4A3A2A1」 -加數為「B4B3B2B1」 -運算和為「Σ4Σ3Σ2Σ1」 -進位輸入為C0 -進位輸出為C4

組合邏輯應用電路-漣波進位加法器VHDL程式 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_signed.all; entity fulladd is port ( cin : in integer range 0 to 1; A, B : in integer range 0 to 128; sum : out integer range 0 to 256); end fulladd; architecture fulladd_logic of fulladd is begin sum <= A + B + cin; end fulladd_logic;

組合邏輯應用電路-漣波進位加法器VHDL程式 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_signed.all; use ieee.std_logic_arith.all; Entity ADDER_16 is port ( A,B :in std_logic_vector(15 downto 0); S :out std_logic_vector(15 downto 0)); End ADDER_16 architecture ADDER_16_logic of ADDER_16 is begin S <= A+B; end ADDER_16_logic ;

組合邏輯應用電路- BCD加法器 @BCD碼是四位元的二進碼,可用「四位元加法器」完成

組合邏輯應用電路- BCD加法器

組合邏輯應用電路- BCD加法器VHDL程式 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; entity BCD_adder is port (A, B :in std_logic_vector(3 downto 0); Y : out std_logic_vector(4 downto 0)); end BCD_adder; architecture BCD_adder_logic of BCD_adder is signal Z : std_logic_vector(4 downto 0); signal adjust : std_logic; begin Z <= (‘0” & A) + B; adjust <=‘1’ when z>9 else ‘0’; Y<= Z when (adjust=‘0’) else Z+6; end BCD_adder_logic;

組合邏輯應用電路-半減器 半減器 -輸入:被減數(A),減數(B) -輸出:借位輸出(M),差(D) -真值表如右: 半加器

組合邏輯應用電路-半減器VHDL程式 library ieee; use ieee.std_logic_1164.all; entity half_suber is port ( A,B :in std_logic; M, D : out std_logic); end half_suber; architecture half_suber_logic of half_suber is begin D <= (A xor B); M <= ((not A) and B); end half_suber_logic;

-輸入:被減數(A)、減數(B) 、 前一級借位輸入(N) 組合邏輯應用電路-全減器 全減器 -輸入:被減數(A)、減數(B) 、 前一級借位輸入(N) -輸出:差D 、借位輸出(M) -全減器= 「被減數」-「減數」-「借位輸入」 -真值表如下: 全 減 器 A B D M N

組合邏輯應用電路-全減器

組合邏輯應用電路-全減器VHDL程式 library ieee; use ieee.std_logic_1164.all; entity full_suber is port ( A,B ,N :in std_logic; M, D : out std_logic); end full_suber; architecture full_suber_logic of full_suber is begin D <= (A xor B) xor N; M <= ((not A) and (B xor N)) or (B and N); end full_suber_logic;

組合邏輯應用電路-加減法器 加法: A+B 減法: (2’S補數)

組合邏輯應用電路-加減法器VHDL程式 process (select, A , B) library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; entity ADD_SUB is port ( A, B :in bit_vector(3 downto 0); select :in boolean; RESULT : bit_vector(4 downto 0)); end ADD_SUB; architecture ADD_SUB_logic of ADD_SUB is begin process (select, A , B) if select=‘0’ then RESULT <=A+B; else RESULT <= A-B; end if; end process end ADD_SUB_logic;

組合邏輯應用電路- 比較器 (Comparator) 比較器:兩個輸入大小比較,輸出的結果有三種: (1)A>B (2)A=B (3)A<B 一位元比較器,真值表如下:

組合邏輯應用電路- 比較器 (Comparator) 多位元比較器:由多個單一位元比較器串接,運算時需考慮前一級的比較結果 當高位元較大(A>B)或較小(A<B)時,低位元的比較結果都將無效(不能改變高位元的大小關係) 當高位元相等(A=B)時,由低位元的大小決定,“可串接”單一位元比較器 結構如下:

組合邏輯應用電路- 比較器 (Comparator) (高位元大於) (高位元相等且低位元大於) (高位元相等且低位元相等) (高位元小於) (高位元相等且低位元小於)

組合邏輯應用電路- 比較器 (Comparator)

組合邏輯應用電路- 比較器 (Comparator) 使用7485完成一個8位元的比較器

組合邏輯應用電路- 比較器 (Comparator)VHDL程式 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; entity comparator_8 is port ( A,B :in std_logic_vector(7 downto 0); Large, Equal, Small :out std_logic)); end comparator_8; architecture comparator_8_logic of comparator_8 is begin Large <=‘1’ when A>B else ‘0’; Equal <=‘1’ when A=B else ‘0’; Small <=‘1’ when A<B else ‘0’; end comparator_8_logic;

組合邏輯應用電路-多工器(Multiplexer-MUL) 多工器:將多條輸入線訊號,選擇其中一條連接至「單一輸出線」。多工器的輸入線(一般均為2n條),由一組「選擇線(n條)」來決定。

組合邏輯應用電路-多工器(Multiplexer-MUL)

組合邏輯應用電路-多工器(Multiplexer-MUL) S1 S0

組合邏輯應用電路-多工器(Multiplexer-MUL)

組合邏輯應用電路-多工器(Multiplexer-MUL)

組合邏輯應用電路-多工器(Multiplexer-MUL)

組合邏輯應用電路-多工器(Multiplexer-MUL)VHDL程式 library ieee; use ieee.std_logic_1164.all; entity mux8to1 is port ( X :in std_logic_vector(2 downto 0); D0,D1,D2,D3,D4,D5,D6,D7: in std_logic; Y :out std_logic); end mux8to1; architecture mux8to1 _logic of mux8to1 is begin Y <= D0 when X=“000” else D1 when X=“001” else D2 when X=“010” else D3 when X=“011” else D4 when X=“100” else D5 when X=“101” else D6 when X=“110” else D7 ; end mux8to1 _logic;

組合邏輯應用電路-多工器(Multiplexer-MUL)VHDL程式 library ieee; use ieee.std_logic_1164.all; entity mux4to1_8 is port ( X :in std_logic_vector(1 downto 0); D0,D1,D2,D3 : in std_logic_vector(7 downto 0); Y :out std_logic_vector(7 downto 0)); end mux4to1_8; architecture mux4to1_8 _logic of mux4to1_8 is begin Y <= D0 when X=“00” else D1 when X=“01” else D2 when X=“10” else D3 ; end mux4to1 _logic ;

組合邏輯應用電路- 解多工器(DeMultiplexer-DeMUL) S1 S0 Y0 Y1 Y2 Y3 X 1 S0 Y0 Y1 X 1

組合邏輯應用電路- 解多工器(DeMultiplexer-DeMUL)

組合邏輯應用電路-解多工器(DeMultiplexer-DeMUL)VHDL程式 library ieee; use ieee.std_logic_1164.all; entity demux1to4 is port ( X :in std_logic_vector(2 downto 0); data :in std_logic D0,D1,D2,D3: out std_logic); end demux1to4; architecture demux1to4_logic of demux1to4 is begin D0 <= data when X=“00” else ‘0’; D1 <= data when X=“01” else ‘0’; D2 <= data when X=“10” else ‘0’; D3 <= data when X=“11” else ‘0’; end demux1to4_logic;

組合邏輯應用電路- 編碼器(Encoder) 編碼器 將輸入訊號中的一個訊號(每次只能有1條輸入線動作)轉換成被編碼 的輸出訊號 編碼器具有M條輸入線及N條輸出線(其中M≦2N),稱為「M×N編碼器」  例: 4×2編碼器 -將4個輸入線分別轉換成二進碼輸出 -真值表如下

組合邏輯應用電路- 編碼器(Encoder)  8×3編碼器

組合邏輯應用電路- 編碼器(Encoder)VHDL 程式 library ieee; use ieee.std_logic_1164.all; entity encode8to3 is port ( D0,D1,D2,D3,D4,D5,D6,D7: in std_logic; Y2,Y1,Y0 :out std_logic); end encode8to3; architecture encode8to3_logic of encode8to3 is begin Y2 <= D4 or D5 or D6 or D7; Y1 <= D2 or D3 or D6 or D7; Y0 <= D1 or D3 or D5 or D7; end encode8to3_logic;

組合邏輯應用電路- 編碼器(Encoder)VHDL 程式 library ieee; use ieee.std_logic_1164.all; entity encode8to3 is port ( X : in std_logic_vector(7 downto 0); Y : out std_logic_vector(2 downto 0)); end encode8to3; architecture encode8to3_logic of encode8to3 is begin with X select Y <= “000” when “00000001”, “001” when “00000010”, “010” when “00000100”, “011” when “00001000”, “100” when “00010000”, “101” when “00100000”, “110” when “01000000”, “111” when “10000000”, “000” when others, end encode8to3_logic;

組合邏輯應用電路- 編碼器(Encoder)  BCD編碼器

組合邏輯應用電路- 編碼器(Encoder)  74147 :「BCD優先編碼器」 74148 : 8×3優先編碼器

組合邏輯應用電路- 編碼器(Encoder)VHDL程式 library ieee; use ieee.std_logic_1164.all; entity encoder74147 is port ( D :in std_logic_vector(9 downto1); Y :out std_logic_vector(3 downto 0)); end encoder74147; architecture encoder74147_logic of encoder74147 is begin Y <= “0110” when D(9)=‘0’ else “0111” when D(8)=‘0’ else “1000” when D(7)=‘0’ else “1001” when D(6)=‘0’ else “1010” when D(5)=‘0’ else “1011” when D(4)=‘0’ else “1100” when D(3)=‘0’ else “1101” when D(2)=‘0’ else “1110” when D(1)=‘0’ else “1111”; end encoder74147_logic;

組合邏輯應用電路- 編碼器(Encoder) (a) 用74148 設計 16×4優先編碼器。 (b)當「10」、「5」的訊號驅動時,說明電路的動作。

組合邏輯應用電路- 解碼器(Decoder) 解碼器: -功能與編碼器相反 -具有M個輸入訊號而有N個輸出訊號( N≦2M),稱為「M×N解碼器」 -將輸入的碼轉換成另一種碼輸出,可稱為「碼轉換器」 2x4解碼器 A B Y3 Y2 Y1 Y0 1 3x8解碼器

組合邏輯應用電路- 解碼器(Decoder) BCD 解碼器

組合邏輯應用電路- 解碼器(Decoder)VHDL程式 library ieee; use ieee.std_logic_1164.all; entity encoder_BCD is port ( X :in std_logic_vector(3 downto1); Y :out std_logic_vector(9 downto 0)); end encoder_BCD; architecture encoder_BCD_logic of encoder_BCD is begin Y(0) <= ‘1’ when X=‘0000’ else ‘0’; Y(1) <= ‘1’ when X=‘0001’ else ‘0’; Y(2) <= ‘1’ when X=‘0010’ else ‘0’; Y(3) <= ‘1’ when X=‘0011’ else ‘0’; Y(4) <= ‘1’ when X=‘0100’ else ‘0’; Y(5) <= ‘1’ when X=‘0101’ else ‘0’; Y(6) <= ‘1’ when X=‘0110’ else ‘0’; Y(7) <= ‘1’ when X=‘0111’ else ‘0’; Y(8) <= ‘1’ when X=‘1000’ else ‘0’; Y(9) <= ‘1’ when X=‘1001’ else ‘0’; end encoder_BCD_logic;

組合邏輯應用電路- 解碼器(Decoder) 7442(BCD解碼器) 74138(3×8解碼器) 74139(2×4解碼器)

組合邏輯應用電路- 解碼器(Decoder):IC7442 利用7442設計一個3×8的解碼器 D=0, 3x8 解碼器,Y0~Y7有一個輸出為0 D=1, Y0~Y7 輸出全為”1”

組合邏輯應用電路- 解碼器(Decoder):IC 7442 利用7442設計一個4×16的解碼器 當D=0時 -7442-A致能(ON) -7442-B禁能(OFF) - 解碼輸出為Y0~Y7 當D=1時 - 7442-A禁能(OFF) -7442-B致能(ON) -解碼輸出為Y8~Y15

組合邏輯應用電路- 解碼器(Decoder):七段顯示器 七段顯示器 -將7個長條形的發光二極體LED排列,可顯示數字0~9(圖A) -類型:共陽型(common-anode)(圖B),共陰型(common-cathode)(圖C): 圖B 圖C 圖A

組合邏輯應用電路- 解碼器(Decoder):七段顯示器 共陰極七段顯示器控制碼 共陽極七段顯示器控制碼

組合邏輯應用電路- 解碼器(Decoder):七段顯示器 @7447,74247:「共陽型」七段顯示器解碼器 @7448,74248:「共陰型」七段顯示器解碼器  D、C、B、A輸入腳:D為高位元,A為低位元  a、b、c、d、e、f、g 輸出腳 -連接至七段顯示器LED輸入端,可串接200Ω~300Ω限流電阻避免 LED燒毀  LT(Lamp Test) 燈管測試腳:輸入「低電位」可測試七段顯示器LED好壞  Ripple Blanking Input(RBI腳):控制是否顯示“0”字形 -輸入「低電位」時且DCBA為「0000」時,不顯示“0”當DCBA不為「0000」時,顯示正常 -若輸入為「高電位」則正常顯示。  Blanking Input/Ripple Blanking Output (BI/RBO腳) -為「輸入腳」時,若輸入「低電位」,七段顯示器LED均不亮 -為「輸出腳」時,若輸入腳DCBA=0000且RBI=「0」時,BI/RBO=0,可串接至另一級七段 顯示器RBI,控制不顯示“0”。

組合邏輯應用電路- 解碼器(Decoder):七段顯示器 共陽七段顯示器顯示控制電路 3位整數及2位小數共陽型七段顯示器電路 (整數:前面位數值為「0」,「0」值不顯示;小數:後面位數值為「0」,「0」值顯示。

組合邏輯應用電路-解碼器(Decoder):七段顯示器VHDL程式 library ieee; use ieee.std_logic_1164.all; entity encoder_7seg is port ( X : in std_logic_vector(3 downto1); Y : out std_logic_vector(9 downto 0); comm : out std_logic ); end encoder_7seg; architecture encoder_7seg _logic of encoder_7seg is begin comm <=‘1’; with X select Y <= “0000001” when “0000”, Y <= “1001111” when “0001”, Y <= “0010010” when “0010”, Y <= “0000110” when “0011”, Y <= “1001100” when “0100”, Y <= “0100100” when “0101”, Y <= “0100000” when “0110”, Y <= “0000111” when “0111”, Y <= “0000000” when “1000”, Y <= “0000100” when “1001”, Y <= “0001000” when “1010”, Y <= “1100000” when “1011”, Y <= “0110001” when “1100”, Y <= “1000010” when “1101”, Y <= “0110000” when “1110”, Y <= “0111000” when “1111”; Y <= “1111111” when others; end encoder_7seg_logic;