【www.myl5520.com--教学设计】
实验七 4选1多路选择器设计实验
篇一:使用二选一多路选择器模块进行搭建设计一个1位的四选一多路选择器
实验七 4选1多路选择器设计实验
一、实验目的
进一步熟悉QuartusII的VHDL文本设计流程、组合电路的设计仿真和测试。
二、实验原理
四选一多路选择器设计时,试分别用IF_THEN语句、WHEN_ELSE和CASE语句的表达方式写出此电路的VHDL程序,要求选择控制信号s1和s2的数据类型为STD_LOGIC;当s1=‘0’,s0=‘0’;s1=‘0’,s0=‘1’;s1=‘1’,s0=‘0’和s1=‘1’,s0=‘1’时,分别执行y<=a、y<=b、y<=c、y<=d。
三、程序设计
其示意框图如下:
其中输入数据端口为a、b、c、d,s1、s2为控制信号,Y为输出。 令s0s1=“00”时,输出y=a; 令s0s1=“01”时,输出y=b; 令s0s1=“10”时,输出y=c; 令s0s1=“11’ 时,输出y=d;
输入 b 数据 c
a
d
真值表如下:
四、 VHDL仿真实验
(1)用IF_THEN语句设计4选1多路选择器
1.建立文件夹D:\alteral\EDAzuoye\if_mux41,启动QuartusII软件工作平台,打开并建立新工程管理窗口,完成创建工程。
图1 利用New Project Wizard创建工程mux41
2.打开文本编辑。NEW→VHDL File→相应的输入源程序代码→存盘为mux41.vhd.。
图2 选择编辑文件类型
源程序代码如下: LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL; ENTITY mux41 IS
PORT(a,b,c,d:IN STD_LOGIC; s0: IN STD_LOGIC; s1: IN STD_LOGIC; y: OUT STD_LOGIC); END ENTITY mux41;
ARCHITECTURE if_mux41 OF mux41 IS
SIGNAL s0s1:STD_LOGIC_VECTOR(1 DOWNTO 0); BEGIN s0s1<=s0&s1; PROCESS(s0s1,a,b,c,d) BEGIN
IF s0s1="00" THEN y<=a; ELSIF s0s1="01" THEN y<=b; ELSIF s0s1="10" THEN y<=c; ELSE y<=d; END IF; END PROCESS;
END ARCHITECTURE if_mux41; 3.综合运行,检查设计是否正确。
图3 全程编译无错后的报告信息
4.生成symbol。
图4 生成symbol
5.建立波形编辑文件进行功能仿真,仿真结果如下图所示。
图5 设置时钟CLK的周期
图6 仿真波形输出报告
从上图时序仿真可以看出:
s0s1=“00”时,输出y=a; s0s1=“01”时,输出y=b; s0s1=“10”时,输出y=c;
s0s1=“11’ 时,输出y=d;
6.查看RTL电路。选择Tools->Netlist Viewers->RTL Viewers命令,即HDL的RTL级图形观测器,选择好后即自动弹出计数器设计的RTL电路,如下图:
图7 RTL电路图
(2)用WHEN_ELSE语句设计4选1多路选择器
EDA实验二 4选1多路选择器设计实验
篇二:使用二选一多路选择器模块进行搭建设计一个1位的四选一多路选择器
EDA实验二 4选1多路选择器设计实验
一、实验目的
进一步熟悉QuartusII的VHDL文本设计流程、组合电路的设计仿真和测试。
二、实验内容
实验内容一:根据以下流程,利用QuartusII完成四选一多路选择器的文本编辑输入和仿真测试等步骤,给出仿真波形。
实验内容二:在试验系统上硬件测试,验证此设计的功能。对于引脚锁定以及硬件下载测试。输出信号接蜂鸣器。最后进行编译、下载和硬件测试实验(通过选择键1、键2,控制S0,S1,可使蜂鸣器输出不同音调)。
实验内容三:对VHDL不同描述方式的四选一多路选择器进行硬件实验,比较他们的特性。
三、程序设计
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY mux41a IS
PORT (a,b,c,d,s0,s1:IN STD_LOGIC; --输入信号
y:OUT STD_LOGIC); --输出信号
END ENTITY mux41a;
ARCHITECTURE one OF mux41a IS使用二选一多路选择器模块进行搭建设计一个1位的四选一多路选择器。
SIGNAL S:STD_LOGIC_VECTOR(1 DOWNTO 0);
BEGIN
S<=s0&s1; --并置操作,获得二维矢量数据类型
PROCESS(s0,s1,a,b,c,d) --敏感信号
BEGIN
CASE S IS
WHEN"00"=> y<=a;
WHEN"01"=> y<=b;
WHEN"10"=> y<=c;
WHEN"11"=> y<=d;使用二选一多路选择器模块进行搭建设计一个1位的四选一多路选择器。
WHEN OTHERS=>NULL; --其它情况为空值
END CASE; --CASE语句结束
END PROCESS; --PROCESS进程语句结束
END ARCHITECTURE one;
四、程序分析
程序分析:四选一多路选择器设计时,定义输入S为标准以内漏记为STD_LOGIC,输出的信号y的数据类型定义为2位标准逻辑矢量位STD_LOGIC_VECTOR( 1 DOWNTO 0 ).使用LIBRATY语句和USE语句,来打开IEEE库的程序包STD_LOGIC_1164.ALL。当输入信号时,程序按照输入的指令来选择输出,例如输入信号为“00”时,将a的值给y,进而输出y的值,输入信号为“11”是,将a的值给y,进而输出y的值。若输入信号是已经定义的四个信号之外的值时(即当IF条件语句不满足时),输出值为x,并将x的值给输出信号z。这样即可实现四选一数据选择的功能。
五、波形仿真
分析: 从上图时序仿真可以看出:
s1s2=“00”时,输出Y=a; s1s2=“01”时,输出Y=b;
s1s2=“10”时,输出Y=c;
s1s2=“11’ 时,输出Y=d;
CMOS四选一多路选择器的线路设计与版图设计
篇三:使用二选一多路选择器模块进行搭建设计一个1位的四选一多路选择器
vf D Gnd PULSE (0 5 15n 2n 2n 25n 50n) .tran 1n 400n
.print tran v(ctrl1) v(ctrl2) v(A) v(B) v(C) v(D) v(F)
* Main circuit: Module0使用二选一多路选择器模块进行搭建设计一个1位的四选一多路选择器。
M1 C N1 N5 Gnd NMOS L=2u W=22u AD=66p PD=24u AS=66p PS=24u
M2 N1 ctrl1 Gnd Gnd NMOS L=2u W=22u AD=66p PD=24u AS=66p PS=24u M3 N18 ctrl2 Gnd Gnd NMOS L=2u W=22u AD=66p PD=24u AS=66p PS=24u M4 A ctrl1 N5 Gnd NMOS L=2u W=22u AD=66p PD=24u AS=66p PS=24u M5 B ctrl1 N2 Gnd NMOS L=2u W=22u AD=66p PD=24u AS=66p PS=24u M6 D N1 N2 Gnd NMOS L=2u W=22u AD=66p PD=24u AS=66p PS=24u M7 N5 ctrl2 F Gnd NMOS L=2u W=22u AD=66p PD=24u AS=66p PS=24u M8 N2 N18 F Gnd NMOS L=2u W=22u AD=66p PD=24u AS=66p PS=24u M9 C ctrl1 N5 Vdd PMOS L=2u W=22u AD=66p PD=24u AS=66p PS=24u M10 A N1 N5 Vdd PMOS L=2u W=22u AD=66p PD=24u AS=66p PS=24u
M11 N1 ctrl1 Vdd Vdd PMOS L=2u W=22u AD=66p PD=24u AS=66p PS=24u M12 N18 ctrl2 Vdd Vdd PMOS L=2u W=22u AD=66p PD=24u AS=66p PS=24u M13 B N1 N2 Vdd PMOS L=2u W=22u AD=66p PD=24u AS=66p PS=24u M14 D ctrl1 N2 Vdd PMOS L=2u W=22u AD=66p PD=24u AS=66p PS=24u M15 N5 N18 F Vdd PMOS L=2u W=22u AD=66p PD=24u AS=66p PS=24u M16 N2 ctrl2 F Vdd PMOS L=2u W=22u AD=66p PD=24u AS=66p PS=24u * End of main circuit: Module0
电路图瞬时分析波形图:
版图设计:
内容(方法、步骤、要求或考核标准及所需工具、设备等)
一、 实训设备与工具
1. PVI计算机一台;
2. Tanner Pro集成电路设计软件
二、 项目总体要求
采用全CMOS线路结构,实现如下电路功能:
对应选择信号的四种组合,将输入数据信号一一传送到输出端。
三、 实训方法、步骤与要求
1. CMOSCMOS四选一多路选择器的线路图设计与分析模拟
1) 进入S-EDIT程序
2) 打开原有CMOS电路模块 3) 另存为新的设计模块mux4_1
4) 修改电路中各MOS管各电极与电源、地之间的连接,构成CMOS四选一多路选择器 5) 进入T-SPICE程序
6) 加载包含文件,即引用1.25um的CMOS流程组件模型文件“ml2_125.md”
7) 设定电源电压:8) 设定输入信号:9) 分析设定:10) 输出设定:11) 进行模拟仿真 12) 观察分析电路的瞬时分析结果 13) 重新设定输入信号:8) 分析设定:9) 输出设定:10) 进行模拟仿真
11)观察分析电路的直流分析结果,包括电压和电流直流分析结果 2. 在进行版图设计前,应先将屏幕显示改为256色
3. 利用L-EDIT设计CMOS四选一多路选择器版图
1)进入L-EDIT程序,打开原有的CMOS电路版图 2)新建组件CELL,命名为mux4_1
3)注意CMOS锁存器中MOS管的漏、源连接方式,按照CMOS四选一多路选择器的线路图,正确进行电路各层图形的设计,并注意进行各电极的连接 4)绘制电源线
5)标出Vdd和Gnd节点 6)加入输入、输出端口
7)进行设计规则检查:,如有错误,应根据规则进行修改 8)截面观察:9)观察CMOS四选一多路选择器的版图设计成果,可单独显示某一图层,或某些特定图层 10)将CMOS锁存器布局图转化成T-SPICE文件
选取GENERAL选项:
EXTRACT DEFINITION FILE项为
C:\TANNER\SPR\EXAMPLE1\morbn20.ext SPICE EXTRACT OUTPUT FILE项为 D:\design\mux4_1.spc OUTPUT选项:
WRITE NODE NAMES选中
WRITE LAYER CAPACITANCE AND RESITANCE WARNING选中 WRITE VERBOSE SPICE STATEMENTS选中 WRITE EMPTY SUBCIRCUIT DEFINITIONS选中 WRITE .END STATEMENT选中
在SPICE INCLUDE STATEMENT框中加入: .include d:\ models\ml2_125.md 11)T-SPICE模拟
采用前述实训中的方法,在得到的mux4_1.spc文件中,插入相应的命令,进行CMOS四选
一多路选择器的瞬时和直流模拟。
注意NMOS管和PMOS管尺寸的选取。
4.利用LVS进行版图和原理图的比对
注意在LVS的SETUP设置时,要选中检查“MOS管长度和宽度是否匹配”选项。
三、注意事项:
1)如果对版图设计的基本规则不熟悉,可以在L-EDIT中,打开,列出了所有的设计规则,可学习和记忆其中的一些主要和常用的版图设计规则
2)在进行版图设计规则检查时,应选择输出检查文件一项,版图设计中出现的所有错误,都可以在该输出文件中列出,并标明出错的原因,与哪条规则相违背,可打开规则进行对照,并在版图上进 行相应的修改。
设计二选一多路选择器--FPGA实验设计
篇四:使用二选一多路选择器模块进行搭建设计一个1位的四选一多路选择器
实 验 报 告
课程名称: FPGA设计及应用
实验项目: 设计二选一多路选择器
实验时间: 2014年4月1号
实验班级: 12电子信息工程X班
指导教师: 李XX
二〇〇四年 四月 十三日
广东技术师范学院实验报告
电子与信息学12电专业: 电子信息工程 班级: 成绩: 院 本X班
姓名: 学号:20120442430 组别: 组员: 学院: 实验地点:
实验 七 项目名称: 设计二选一多路选择器 工业中心 实验日期: 4.01 指导教师签名:
一、 实验目的和要求
设计二选一多路选择器:通过简单完整而典型的VHDL设计,初步了解VHDL表达和设计电路的方法并对由此而引出的语言对象和语言规则加以有针对性的说明。
二、 实验步骤
1、创建新的工程,步骤如下:
2、创建新的文件
3、用VHDL语言根据实验要求的功能编写代码
4、编译
5、 引脚分配
6、 链接数据线,下载程序
三、 实验源代码
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY mux21a IS
PORT(a,b:IN BIT;
s:IN BIT;
y:OUT BIT);
END;
ARCHITECTURE one OF mux21a IS
BEGIN
y<=a WHEN s='0' ELSE b;
END ARCHITECTURE one;
四、 实验结果与总结
1、通过本节上机实验,加深了解了VHDL语言现象和语句规律。
2、程序很简单,按照示例程序输入没有什么错误。主要是通过这个简单程 序了解了仿真的全过程。
3、实验后基本能从整体上把握VHDL程序的基本结构和设计特点。掌握固 定表达句式。