实验二用文本输入法设计门电路 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_logie_vector(1 downto 0) Begin Co<=a&b; Process(a,b) Case co is Whem00=>y<='1' When"0l"=>y<='1'; When"10"=>y<='1'; When"ll"=>y<='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的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 Signalg.h.y:std_logic. Begin g<=a and b; h<=c and d; End 2.2用VHDL语言进行编译、下载 (1)启动文本编译器 单击图标·或菜单“E心。w”则打开如图42.1所示对话框,按照对话框所指示文 件类型选择“Text Editir file”,单击“QK”按钮,则打开如图42-2所示文本编辑器。 -Fie Type- 图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 所示文本编辑器
Line 3 Col 1 图4-2-2文本编辑器窗口 (1)编辑VHDL语言程序 按照VHDL语言的语法规范,设计二输入与非门的VHDL语言程序,如图42-3所示, ●AX+plus II-c:mar2 work\vhd1-【nand2.hd-Text E.,回☒ D它日台陷包口?△图面马巴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 of nand2 is begin y<=a nand bi end: Line13ICol7INS⊥ 图4-2-3 输入二输入与非门的DL程序后的文本编辑器 然后单击图标国出现如图42.4所示对话框,直接单击“Q水”按钮,如果没有错误 则出现如图42-5所示消息框,再次单击“确定”按钮,则出现编译正确完成后的窗口,如 图4-26所示。尔后单击“Stat”,如果没有错误,则出现如图425所示消息框。再按实验 一中的二、实验内容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 File Name:nand2 vhd max2work\vhd h xplr立-Compiler d习 OK Cancel 定司 图42-4原理图保存对话框图42-5 编译完成后的消息框 5 HAX+plus II -c:\max2work\nand2 日▣☒ copi1e ▣☒ Fitter ning sembl snf Start Stop Message 2 of 3 Locate in Eloorplan Editor Help on Mess of0 Locate All 图4-2-6 编译器窗口 3.实验内容 (1)常见逻辑门的认知 常见的逻辑门电路包括基本逻辑门电路(与门、或门、非门等)和常用的复合逻辑门电 路(与非门、或非门、异或门等)。 a.与门 逻辑表达式:F1=a&b
3. 实验内容 (1) 常见逻辑门的认知 常见的逻辑门电路包括基本逻辑门电路(与门、或门、非门等)和常用的复合逻辑门电 路(与非门、或非门、异或门等)。 a. 与门 逻辑表达式:F1=a&b
二输入与门的逻辑符号和功能表如图4-3-1所示。 a b F1 AND gate 0 8 F1 0 图4-3-1二输入与门的逻辑符号和功能表 b.或 辑表达式:F2-a+b 二输入或门的逻辑符号和功能表如图43-2所示。 OR Gate a I b I F2 B-F2 图4-3-2二输入或门逻辑符号和功能图 c与非 逻辑表达式:F3(a&b) 二输入与非门的逻辑符号和功能表如图433所示。 NAND Gate a I b I F3 8D3 图4-3-3二输入与非门逻辑符号和功能表 d.或非 逻辑表达式:F4=(a+b】 二输入或非门的逻辑符号和功能表如图434所示 NOR Gate a b F4 BDoFa 图4-3-4二输入或非门逻辑符号和功能表 e异或门 逻辑表达式:F5=a中b 二输入异或门的逻辑符号和功能表如图435所示 XOR Gate a I b I F5 D>5 图4-3-5二输入异或门逻辑符号和功能表
二输入与门的逻辑符号和功能表如图 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 所示