




已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Max+plus系统的操作简介 Max+plus开发工具是美国Altera公司自行设计的一种软件工具,其全称为Multiple Array Matrix and Programmable Logic User System。它具有原理图输入和文本输入(采用硬件描述语言)两种输入手段,利用该工具所配备的编辑、编译、仿真、综合、芯片编程等功能,将设计电路图或电路描述程序变成基本的逻辑单元写入到可编程的芯片中(如FPGA芯片),作成ASIC芯片。它是EDA设计中不可缺少的一种工具。通过一个简单的二输入与门电路设计范例介绍:利用Max+plus系统(1)如何编写VHDL程序(使用Text Editor);(2)如何编译VHDL程序(使用Compiler);(3)如何仿真验证VHDL程序(使用Waveform Editor,Simulator);(1)建立和编写一个VHDL语言的工程文件首先启动Max+plus系统,启动后系统进入主菜单画面,在主菜单上有5个选项,分别是:Max+plus、File、Assign、Options和Help。Max+plus系统主窗口(a)打开文本编辑器;用鼠标点击File选项,点击子菜单中的New选项,接着屏幕会出现New的对话框。在对话框内有4种编辑方式:图形编辑、符号编辑、文本编辑和波形编辑。VHDL文件属于文本,那么应该选择文本编辑方式,点击OK按钮,屏幕上将出现一个无名的编辑窗口,则系统进入文本编辑状态。(或用鼠标点击Max+plus选项,点击子菜单中Text Editor选项.。)打开文本编辑器(b)在编辑窗口中进行编辑输入,输入相应的描述语句。文本编辑窗口中编辑输入例1 实现2输入与门的VHDL描述LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL;ENTITY and2 IS PORT(a, b : IN STD_LOGIC; y: OUT STD_LOGIC); END and2; ARCHITECTURE one OF and2 IS BEGIN y= a and b;END one;(c)存盘。(a 我们编辑的VHDL文件扩展名为vhd;b 保存的文件名必须和所定义的实体名相同。c 文件存盘的目录不应是根目录或桌面,建议存放在Maxplus2目录。)(2) VHDL程序的编译编译过程大致可以分以下几个步骤:(a)若文件没有打开,需首先打开要编译的VHDL文件;(b)将目前的文件设置成工程文件;点击File选项,光标移到子菜单的Project项停留几秒钟,屏幕上会出现下一级菜单,点击Set Project to Current File。将目前的文件设置成工程文件(c)打开编译器;点击主菜单MAX+plus/Compiler选项,屏幕上就出现编译对话框。编译器窗口(d)编译开始前还应确定源程序的版本。在编译对话框打开情况下,点击主菜单中的Interfaces/VHDL Netlist Reader Settings选项,就可在屏幕上显示VHDL Netlist Reader Settings(网表阅读器设置)对话框,有VHDL 1987或VHDL 1993版本可供我们选择。点击VHDL Version框中的VHDL 1993就可选择相应的版本。网表阅读器设置源程序的版本设定(e)开始编译;完成了上述编译前的准备及必要的设置工作,点击编译对话框中的Start按钮,编译即开始。在编译过程中如果编译器发现源程序语法有错就会自动弹出错误信息窗进行提示。这时需回到文本编辑器,修改VHDL程序中的错误,然后再继续编译直到全部正确为止。如果没有错误,编译结束后会出现MAX+plus-Compiler信息窗:编译信息窗口(3) VHDL程序的功能仿真仿真是为了验证我们所编写的VHDL程序的功能是否正确。首先生成仿真波形文件(a)打开波形编辑器;点击主菜单的MAX+plus/Waveform Editor选项,就可在屏幕上显示波形编辑器窗口。在未输入信号名以前,整个窗口是空白的。打开波形编辑器(b)确定仿真持续时间(File/End Time)。(c)选进输入输出端口名;点击主菜单Node/Enter Node fron SNF即可打开脚位接点对话框。在对话框左下角Type下面的选项选择Inputs和outputs,点击对话框右上角的List选项,则在Available Nodes & Groups列表栏中列出了所有输入输出端口名d1、d2和op。点击对话框中间的=按钮,将输入输出端口名选进右侧的Selected Nodes & Groups栏,然后点击OK按钮。则在波形编辑窗口显示了输入输出端口名。选进输入输出端口名赋值0赋值1赋值X赋值Z赋值取反时钟信号赋值总线顺序赋值总线赋值放大缩小将某段拖黑为了设定此段波形为高电平,用鼠标拖黑,然后再按左侧的赋1按钮(d)编辑输入信号波形;通过波形编辑器左侧的信号设置工具栏可以进行输入信号的波形编辑。对于输出信号波形,其最终值由仿真结果确定,我们可以把它设置为缺省值,例如设置为不定值或高阻值。编辑输入信号波形(d)信号波形编辑完成后,需存盘为仿真使用,文件名采取默认方式即可。打开仿真器;点击主菜单MAX+plusSimulator项,此时弹出Simulator对话框。打开仿真器仿真器窗口点击对话框的Start按钮,仿真即开始。在仿真结束后打开仿真波形文件(点击右下角的Open SCF按钮)即可以显示仿真结果。仿真结果例2 4选1数据选择器的VHDL描述LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL;ENTITY mux41 isPORT (a,b,c,d : INSTD_LOGIC; s : IN STD_LOGIC_VECTOR(1 DOWNTO 0); z : OUTSTD_LOGIC);END mux41;ARCHITECTURE one OF mux41 IS BEGIN PROCESS (s ,a,b,c,d) BEGIN CASE s IS WHEN 00 = z z z zz= x; END CASE; END PROCESS;END one;例3 同步复位D触发器的VHDL描述LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL;ENTITY d_ff isPORT (d,clk,reset : INSTD_LOGIC; q : OUTSTD_LOGIC);END d_ff;ARCHITECTURE one OF d_ff IS BEGIN PROCESS (clk) BEGIN IF clkEVENT AND clk=1 THEN IF reset=1 THEN Q=0; ELSE q=d; END IF; END IF; END PROCESS;END one;例4 十进制计数器的VHDL描述LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY count10 isPORT (cp : INSTD_LOGIC; q : OUT STD_LOGIC_VECTOR(3 DOWNTO 0) );END count10;ARCHITECTURE one OF count10 ISSIGNAL count :STD_LOGIC_VECTOR(3 DOWNTO 0) ; BEGIN PROCESS (cp) BEGIN IF cpEVENT AND cp=1 THEN IF count =1001 THEN count =0000; ELSE count = count +1; END IF; END IF; END PROCESS; q= count;END one; 例5 4位基本寄存器的VHDL描述LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL;ENTITY registerb isPORT (cp,reset : INSTD_LOGIC; data : IN STD_LOGIC_VECTOR(3 DOWNTO 0);q: OUT STD_LOGIC_VECTOR(3 DOWNTO 0) );END registerb;ARCHITECTURE one OF registerb IS BEGIN PROCESS (cp) BEGIN IF cpEVENT AND cp=1 THEN IF reset=1 THEN q=0000; ELSE q= data; END IF; END IF; END PROCESS;END one;例6 半加器的VHDL描述LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL;ENTITY half ISPORT (a, b: IN std_LOGIC; s,co: OUT std_LOGIC);END half;ARCHITECTURE half1 OF half ISsignal c,d :std_logic;BEGIN c=a or b; d=a nand b; co=not d; s=c and d;end half1;半加器(英语:half adder)电路是指对两个输入数据位相加,输出一个结果位和进位,没有进位输入的加法器电路。 是实现两个一位二进制数的加法运算电路。例5 4位基本寄存器的VHDL描述寄存器在数字电路中,是用来存放二进制数据或代码的电路。寄存器是由具有存储功能的触发器组合起来构成的。一个触发器可以存储一位二进制代码,存放N位二进制代码的寄存器,需要用N个触发器来构成。整个电路由四个模块组成,其中包括时钟脉冲、工作控制电路、寄存电路、和输出及传输四个部份。时钟脉冲是CP,CP是整个电路的控制时钟;当reset为低电平时,在时钟CP上升沿时的作用下,并行数据data被送入相应的输出端q.例3 同步复位D触发器的VHDL描述边沿D触发器归纳为以下几点:1.边沿D触发器具有接收并记忆信号的功能,又称为锁存器;2.边沿D触发器属于脉冲触发方式; 3.边沿D触发器不存在约束条件和一次变化现象,抗干扰性能好,工作速度快。LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL;ENTITY d_ff isPORT (d,clk,reset : INSTD_LOGIC; q : OUTSTD_LOGIC);END d_ff;ARCHITECTURE one OF d_ff IS BEGIN PROCESS (clk) BEGIN IF clkEVENT AND clk=1 THEN IF reset=1 THEN Q=0; ELSE q=d; END IF; END IF; END PROCESS;END one;例7 八进制同步计数器引脚定义: reset 复位 en 计数控制 clk 时钟 qa,qb,qc,qd 计数器输出 LIBRARY ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity count8 isport(clk,reset,en: in std_logic; qa,qb,qc,qd: out std_logic);end count8;architecture behave of count8 issignal count_4: std_logic_vector(3 downto 0);begin qa=count_4(0);
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年高校招生面试准备手册及模拟题
- 2025年医学生考研复习策略及备考经验
- 2025年电子信息工程专业模拟题集及解析
- 2025年特岗教师招聘考试物理学科考前冲刺攻略
- 2025年会计助理求职面试预测题与技巧解析集
- 2025年信息技术员招聘模拟题物资储备仓库管理篇
- 2025年特岗教师招聘考试初中英语写作模拟题及答案详解
- 2025年销售代表面试宝典与预测题集
- 2025年工业自动化工程师中级面试准备要点与题库
- 2025年村级污水处理项目专员面试宝典与模拟题解析
- 中医适宜技术在妇科的应用
- 乡土中国考试题及答案
- 刻蚀工艺考试题及答案
- 北京理工大学入党流程
- 中国教育信息化发展报告
- 工程进度款申请书
- 培养“最好的我”新时代品质少年-学校课程规划与实施方案
- 苗木栽植补植合同范本
- 成人肠内营养支持护理
- 核销贷款培训课件
- 2025矿山承包合同范文
评论
0/150
提交评论