§39基本逻辑电路设计 基本逻辑电路 组合逻辑电路 时序逻辑电路 组合逻辑电路设计 简单门电路、编码器、译码器 加法器、多路选择器、三态门等
1 基本逻辑电路: 组合逻辑电路、 时序逻辑电路 一 组合逻辑电路设计 简单门电路、编码器、译码器、 加法器、多路选择器、三态门等。 §3.9 基本逻辑电路设计
1、基本门电路 Ibrary leeei se ieee std logic 1164. alli ntity gate is port(a, b: in std logici yand, yor, nand, nor, ynot, yxor: out std logic) nd gate rchitecture art of gate is egin yand<=a and b yor<=a or bi anand<=a nand bi nor<=a nor bi ynot<=not bi yxor<=a xor bi nd arti 2
2 1、基本门电路
2、编码器 设计一个8输入优先级编码器,yo级别最低 y7级别最高:输出为3位编码。 Y7=1 Vec=111 pR工oR工TY Y6=1 Ⅴec=110 y1 Y5=1Vec=101 Y4= y三 ec[2· Ⅴec=100 4 Y3 Vec=011 y Y2 Vec=010 了 Y1=1 Vec=001 Y0=1 Vec=000
3 2、编码器 设计一个 8 输入优先级编码器,y0 级别最低, y7 级别最高;输出为3位编码。 Y7=1 Vec=111 Y6=1 Vec=110 Y5=1 Vec=101 Y4=1 Vec=100 Y3=1 Vec=011 Y2=1 Vec=010 Y1=1 Vec=001 Y0=1 Vec=000
方法1:利用多选择语句自顶向下的优先特性 library ieee use ieee std logic 1164.all entity priority is port(signal yo, y1, y2,y3, y4, y5, y6,y7:in std logici signal vec: out std logic vector (2 downto 0))i end priority. architecture behavior of priority is begin process(yo, yl, y2, y3,y4, y5, y6,y7 begin if (y7=1)then vec<=111"i elsif (y6='1')then vec<=110 i elsif (y5=1)then vec<=101 i elsif (y4=1)then vec<=100 i elsif (y3=1)then vec<=011 i elsif (y2='1)then vec<=010i elsif (yl=1)then vec<=001i elsif (yo=f1')then vec<=000 i end ifi end processi end behavior
4 方法1:利用 if 多选择语句自顶向下的优先特性
方法2:进程内为顺序语句,最先描述优先级最低 最后描述优先级最高,可实现优先级编码。 library ieee use ieee std logic 1164.all entity priority is port(signal yo, yl, y2, y3, y4, y5, y6, y7: in std logic signal vec: out std logic vector(2 downto 0))i end priority氵 architecture behavior of priority is begin process(yo, yl, y2, y3, y4, y5,y6,y7) beqir if (yo=1)then vec<=000 end if if (yl=1)then vec<=001 end ifi if (y2=f1') then vec<=001 end if if(y3=1)then vec<=011; end ifi if (y4=1) then vec<=100 i end ifi if (y5=1)then vec<=101i end ifi if (y6=1)then vec<=110; end if if (y7=1)then vec<=11l i end ifi end process end behavior
5 方法2:进程内为顺序语句,最先描述优先级最低, 最后描述优先级最高,可实现优先级编码