实验二用文本输入法设计门电路 1.实验目的 ●通过各种常见门电路的实现,进一步熟悉CPD开发的全过程。 。认识各种常见的门电路,并握它们的逻辑功能 ●能够通过CPLD的开发实现具有门电路的数字电路。 2.用文本输入法设计门电路 2.1用VDL编程示例: (1)二输入与非门的VHDL措述 方法 Library ieee Use ieee.std_logic_1164.all; Entity nand2 is Port(a,b:in std logic y:out std_logic). End; Architecture rel1 of nand2 is Begin Y<=a nand b End; 方法二: Library ieee; Use ieee.std_logic_1164.all. Entity nand2 is Port(a,b:in std_logic; y:out std_logic): End; Architecture rel_2 of nand2 is Signal ac:std_logie_vector(1 downto 0). Begin Cos=a&h Process(a,b) Case co is When"00"=>y<='1' when"01=>y<='1' When"10=->y<='1' When”11”=v='0 When others>y<='x' End case:
实验二 用文本输入法设计门电路 1. 实验目的 ● 通过各种常见门电路的实现,进一步熟悉 CPLD 开发的全过程。 ● 认识各种常见的门电路,并掌握它们的逻辑功能。 ● 能够通过 CPLD 的开发实现具有门电路的数字电路。 2. 用文本输入法设计门电路 2.1 用 VHDL 编程示例: (1) 二输入与非门的 VHDL 描述。 方法一: Library ieee; Use ieee.std_logic_1164.all; Entity nand2 is Port(a,b:in std_logic; y:out std_logic); End; Architecture rel_1 of nand2 is Begin Y<=a nand b ; End; 方法二: Library ieee; Use ieee.std_logic_1164.all; Entity nand2 is Port(a,b:in std_logic; y:out std_logic); End; Architecture rel_2 of nand2 is Signal ac:std_logic_vector(1 downto 0); Begin Co<=a&b; Process(a,b) Case co is When”00”=>y<=’1’; When”01”=>y<=’1’; When”10”=>y<=’1’; When”11”=>y<=’0’ When others=>y<=’x’; End case;
End process End: (2)逻辑函数F=ab+cd的VDL描述, Library ieee: Use ieee.std_logic_1164.all: Entity yh is Port(a,b.c.d:in std_logic. F:out std logic): End: Architecture rel of yh is Signal g.h.y:std logic; Begin g<=a and b; h<=c and d; y<-g or h; F<-y, End: 2.2用VHDL语言进行编译、下载 (1)启动文本编译器 单击图标D或菜单“里心©w.”则打开如图42.1所示对话框,按照对话框所指示文 件类型选择“工ext Editir file”,单击“QK”按钮,则打开如图4-2-2所示文本编辑器。 图42-1选择文件类型
End process; End; (2) 逻辑函数 F=ab+cd 的 VHDL 描述。 Library ieee; Use ieee.std_logic_1164.all; Entity yh is Port(a,b,c,d:in std_logic; F:out std_logic); End; Architecture rel of yh is Signal g,h,y:std_logic; Begin g<=a and b; h<=c and d; y<=g or h; F<=y; End; 2. 2 用 VHDL 语言进行编译、下载 (1)启动文本编译器 单击图标 或菜单“File\New.”则打开如图 4-2-1 所示对话框,按照对话框所指示文 件类型选择“Text Editir file”,单击“OK”按钮,则打开如图 4-2-2 所示文本编辑器
图4-2-2文本编辑器窗口 (1)编辑VHDL语言程 按照VHDL语言的语法规范,设计二输入与非门的VHDL语言程序,如图42-3所示。 喻hp1 lus II-c:max2 rork\vhdl-[nand2.hd-Text E.,同冈 +plus II Zile Edit【emplates Assic业tilities Options Yindow Help- ·含日昌色口?△图面色巴5☒固热图酒 library ieee; use ieee.std_logic_1164.all; entity nand2 is port(a,b:in std_logic; y:out std_logic end; architecture rel_1 ot nand2 is begin y<=a nand b; 图4-2-3输入二输入与非门的VDL程序后的文本编辑器 然后单击图标逼出现如图42.4所示对话框,直接华击“2X”按钮,如果没有错误 则出现加图45所示消息框.再次单击“确定”按钮,则出现绵译正确完成后的窗口,加 图4-26所示。尔后单击“St”,如果没有错误,则出现如图42-5所示消息框。再按实验 中的二、实验内容1的(6)~(13)步骤进行
(1) 编辑 VHDL 语言程序 按照 VHDL 语言的语法规范,设计二输入与非门的 VHDL 语言程序,如图 4-2-3 所示。 然后单击图标 出现如图 4-2- 4 所示对话框,直接单击“OK”按钮,如果没有错误 则出现如图 4-2-5 所示消息框,再次单击“确定”按钮,则出现编译正确完成后的窗口,如 图 4-2-6 所示。尔后单击“Start”,如果没有错误,则出现如图 4-2-5 所示消息框。再按实验 一中的二、实验内容 1 的(6)~(13)步骤进行
Save As ile Name:nand2.vhd hd MAtplus II-Coepiler ☒ Cancel 定了 图42-4原理图保存对话框图42-5编译完成后的消息框 LAX+plus II c:\max2work\nand2 日▣☒ 它可曼%电色?△国雪®巴心☒氨图画9 Compiler 日▣☒ Start☐ Stop Message 2 of 3 Locate in Eloorplan Editor Help on Mess Lacate0 of 0 to北teA 图4-2-6编译器窗口 3.实验内容 (1)常见逻辑门的认知 常见的逻辑门电路包括基本逻辑门电路(与门、或门、非门等)和常用的复合逻辑门电 路(与非门、或非门、异或门等)。 a.与门 逻辑表达式:F1=a&b
3. 实验内容 (1) 常见逻辑门的认知 常见的逻辑门电路包括基本逻辑门电路(与门、或门、非门等)和常用的复合逻辑门电 路(与非门、或非门、异或门等)。 a. 与门 逻辑表达式:F1=a&b
二输入与门的逻辑符号和功能表如图4-3-1所示。 a l b I F1 AND gate 8D1 图4-3-1二输入与门的逻辑符号和功能表 b. 逻辑表达式:F2=a+b 二输入或门的逻辑符号和功能表如图43-2所示。 OR Gate a I b I F2 999 B-F2 图4-3-2二输入或门逻辑符号和功能图 c与非门 逻辑表达式:F3=(a&b) 二输入与非门的逻辑符号和功能表如图433所示 NAND Gate a l b I F3 8D3 图4-3-3二输入与非门逻辑符号和功能表 d.或非 逻辑表达式:F4=/(a+b) 二输入或非门的逻辑符号和功能表如图4-34所示。 NOR Gate a I b I F4 8F4 001 图4-3-4二输入或非门逻辑符号和功能表 e异或门 逻辑表达式:F5=a甲b 二输入异或门的逻辑符号和功能表如图435所示。 XOR Gate a I b I F5 B-F5 图4-35二输入异或门逻辑符号和功能表
二输入与门的逻辑符号和功能表如图 4-3-1 所示。 b. 或门 逻辑表达式:F2=a+b 二输入或门的逻辑符号和功能表如图 4-3-2 所示。 c.与非门 逻辑表达式:F3=/ ( a & b ) 二输入与非门的逻辑符号和功能表如图 4-3-3 所示。 d.或非门 逻辑表达式:F4=/ ( a + b ) 二输入或非门的逻辑符号和功能表如图 4-3-4 所示。 e.异或门 逻辑表达式:F5= a b 二输入异或门的逻辑符号和功能表如图 4-3-5 所示