Xilinx_ISE_大学计划使用教程PPT_2.ppt_第1页
Xilinx_ISE_大学计划使用教程PPT_2.ppt_第2页
Xilinx_ISE_大学计划使用教程PPT_2.ppt_第3页
Xilinx_ISE_大学计划使用教程PPT_2.ppt_第4页
Xilinx_ISE_大学计划使用教程PPT_2.ppt_第5页
已阅读5页,还剩95页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PicoBlaze指令集详解 SL0 SL1 SLX SLA RL PicoBlaze指令集详解 INPUT OUTPUT PicoBlaze指令集详解 INPUT OUTPUT时序 PicoBlaze指令集详解 RESET PicoBlaze指令集详解 STORE PicoBlaze指令集详解 FETCH KCPSM3汇编器 原理及操作 KCPSM3汇编器提供一个简单的DOS可执行文件和三个模版文件 将KCPSM3 EXE ROM form vhd ROM form v和ROM form coe文件复制到工作目录下 程序可用标准的Notepad和Wordpad工具编写 文件扩展名为 psm 8字符名字限制 打开一个DOS对话框 并定位到当前的工作路径下 然后运行汇编器 kcpsm3 psm 来汇编所编写的程序 运行速度很快 KCPSM3汇编器 原理及操作 KCPSM3汇编器 错误处理 当遇到错误时 汇编器将停下来 将显示一个短消息来帮助判断引起错误的原因 汇编器将显示遇到问题的行 设计者然后修改错误重新运行汇编器程序 KCPSM3汇编器 文件组成 KCPSM3汇编器使用4个输入文件 产生15个输出文件 下面给出详细的说明 KCPSM3汇编器 ROM form vhd 该文件提供模版 该模版用于汇编器产生的VHDL文件 和汇编器一起提供 在工作路径下 该文件为Spartan 3 Virtex II Virtex IIPro的单端口BRAM配置为ROM 下面给出该文件的模版 KCPSM3汇编器 ROM form vhd 汇编器读取ROM form vhd模版 将其信息复制到输出文件 vhd 不进行其语法的检查 该文件包含一些特殊的文本串 包含 AttributeAttributeNameofObjectList ObjectTypeisAttributeValue 汇编器使用 begintemplate 来标识VHDL定义开始的地方 然后理解和使用合适的信息来替换所有其它特殊的串 name 被输入程序 psm 的名字替换 KCPSM3汇编器 ROM form coe 该文件为汇编器生成的系数文件的提供模版 该文件和汇编程序一起提供 并且同在一个工作目录下 ROM form coe模版文件为Spartan 3 Virtex II和其它FPGA定义了一个双端口存储器 汇编器读取ROM form coe模版 将其信息复制到输出文件 vhd 不进行其语法的检查 name 被输入程序 psm 的名字替换 文件的最后一行关键字memory initialization vector 将要被核生成器标识后面的数据值 汇编器将添加1024个所要求的值 KCPSM3汇编器 ROM form coe KCPSM3汇编器 fmt文件 该文件是对原始的 psm文件的格式化 使源文件看上去更好看 下面给出该文件 KCPSM3汇编器 log文件 该文件提供了汇编器执行过程中的详细信息 KCPSM3汇编器 constant txt文件和labels txt文件 这两个文件提供了行标号的列表和它相关的地址 以及常数的列表和值 KCPSM3汇编器 pass dat文件 pass dat文件是汇编器的内部文件 用来表示汇编过程中的中间步骤 这些文件可不去理会 但能帮助识别汇编器如何理解 翻译 程序的 当开始汇编时 这些文件自动删除 KCPSM3编程语法 简单的规则 1 没有空行 空行将被汇编器自动去除 如果保持一行用一个空的注释 用分号 2 注释 用分号 开始 汇编器忽略注释 3 寄存器 所有寄存器必须用 s 定义 后面跟16进制数0 F 汇编器接受大小写的混合输入 但是将其转换为 sX 格式 4 常数 常数用两个16进制数表示 范围 00 FF 汇编器接受大小写的混合输入 但是将其转换为大写 5 标号 标号是用户定义的字符串 区分大小写 中间不能有空格 支持下划线 KCPSM3编程语法 简单的规则 6 行标号 用来标识一个程序行 用于JUMP和CALL指令的参考 行标号后面跟一个冒号 KCPSM3编程语法 简单的规则 7 汇编器允许使用空格和字符 但是指令和第一个操作数之间必须至少有一个空格 带有两个操作数的指令 其两个操作数之间必须用 分割符 8 汇编器接受大小写混合编程 但是自动的将其转化为大写 KCPSM3编程语法 简单的规则 KCPSM3编程语法 常数指令 常数是全局的 即使常数在程序的末尾定义 它也能在程序的任何地方被使用 KCPSM3编程语法 NAMEREG指令 KCPSM3编程语法 ADDRESS指令 LOG文件给出的描述 ADDRESS强迫指令在给定地址执行 KCPSM3中断处理 中断使能 使用ENABLEINTERRUPT指令来使能中断 当不允许中断时 使用DISABLEINTERRUPT来禁止中断 使用RETURNIENABLE DISABLE指令来从中断返回主程序 当中断产生时 进行下面的步骤 1 将程序计数器入栈 保护CARRY和ZERO标志 2 禁止中断输入 3 程序计数器的值为 3FF KCPSM3中断处理 中断处理过程 KCPSM3中断处理 中断处理基本方法 当中断时 PC跳到 3FF 所以必须保证在此位置有一个跳转到正确的中断服务程序的跳转向量 没有JUMP指令 程序将转向 00 中断服务程序可以放在程序的任何位置 ISR执行所要求的任务 用RETURNI结束 KCPSM3中断处理 中断处理基本方法 下面给出一个简单的中断的处理例程通过向端口写55和AA到waveform port端口来产生波形 通过对S0寄存器递减来以固定的间隔来写数值 响应中断后 PicoBlaze停止产生波形 然后对sA寄存器递增 将计数器的值写到counter port KCPSM3中断处理 VHDL设计例子 KCPSM3中断处理 中断服务程序 Interruptexample CONSTANTwaveform port 02 bit0willbedataCONSTANTcounter port 04CONSTANTpattern 10101010 AANAMEREGsA interrupt counter start LOADinterrupt counter 00 resetinterruptcounterLOADs2 pattern 10101010 initialoutputconditionENABLEINTERRUPT drive wave OUTPUTs2 waveform portLOADs0 07 delaysizeloop SUBs0 01 delayloopJUMPNZ loopXORs2 FF togglewaveformJUMPdrive wave ADDRESS2B0int routine ADDinterrupt counter 01 incrementcounterOUTPUTinterrupt counter counter portRETURNIENABLE ADDRESS3FF setinterruptvectorJUMPint routine KCPSM3中断处理 ISR中断服务程序 KCPSM3中断处理 中断所执行的操作 KCPSM3中断处理 中断脉冲的时序 建议中断信号保持至少2个KCPSM上升沿时钟周期 KCPSM3CALL RETURN栈 调用和返回处理过程 PicoBlaze包含一个自动的嵌入式的堆栈 用来当遇到CALL指令时保存PC的值 在遇到RETURN I 是恢复PC的值 堆栈不需要初始化 或者用户的控制 然而堆栈只支持到最多31级的嵌套的子程序 下面给出一个例子来说明这个问题 KCPSM3CALL RETURN栈 调用和返回处理过程 KCPSM3共享程序空间 一个奇妙的想法 为了设计容易和满足系统的性能要求 经常需要在一个可编程芯片内使用多个KCPSM3宏 在SPARTAN 3或者Virtex II芯片内使用一个BRAM来提供1024个地址空间 下面给出多个KCPSM3共享程序空间的方法 KCPSM3共享程序空间 一个奇妙的想法 KCPSM3输出端口的设计 简单输出端口 对于少于8个输出的端口可以尝试分配 one hot 地址 然后确保只解码正确的PORT ID信号 这省去大量的逻辑和地址解码 同时 降低了PORT ID总线上的负载 在程序中使用CONSTANT指令使代码可读 并且确保使用了正确的端口 KCPSM3输出端口的设计 简单输出端口 KCPSM3输出端口的设计 带解码和高性能的输出端口 KCPSM3输入端口的设计 简单输入端口 对于少于8个的简单输入端口 使用多路复用开关将其接入输入端口 建议检查综合的结果 以确保特殊的MUXF5和MUXF6被用来构成高效的多路复用结构 在程序中使用CONSTANT来定义多路开关 由于PORT ID保持有效2个周期 因此在多路复用器后加入寄存器来保持其性能 KCPSM3输入端口的设计 复杂输入端口 有时候 一个提供数据到KCPSM3电路 以知道数据已经被读取 一个典型的例子是使用FIFO缓冲区 可以准备下一个被读取的数据 下面给出其结构和时序图 KCPSM3输入端口的设计 复杂输入端口FIFO时序 KCPSM3和存储器的连接 提高性能的设计方法 与存储器的连接是最容易降低系统性能的原因 插入并行的寄存器 分割输入多路复用器 认真的分配端口地址 这些都是提高系统系统的方法 KCPSM3和存储器的连接 提高性能的设计方法 EXCD 1开发板主要基于XilinxSpartan3EFPGA器件XC3S500E PQ208 板上含有2Mbytes的Flash和1024Kbytes的SRAM 以及各种输入输出设备 基于该板可以设计具有各种功能的数字系统 并可以完成含有8位PicoBlaze微控制器和MicroBlaze7 0软核的嵌入式处理器系统 SOC实验室解决方案 EXCD 1硬件开发平台 EXCD 1硬件开发平台介绍 硬件平台外观 EXCD 1硬件开发平台介绍 硬件平台资源 1 SRAM 1024Bytes静态RAM存储器 512kx16 2 Flash 2MbytesFlash存储器 1Mx16 3 按键开关 4个按键开关4 拨码开关 8个拨码开关5 时钟资源 50MHZ晶振6 VGA接口 受JP2控制 JP2拨到上面为VGA模式7 串行接口 采用DB9连接器8 PS 2接口 采用PS 2连接器 进行鼠标 键盘连接9 IO扩展接口 4个12脚I O扩展接口10 68脚SCSI接口 外部I O扩展接口 EXCD 1硬件开发平台介绍 SPARTAN 3E芯片特点及功能 Spartan 3E是目前Spartan系列最新的产品 具有系统门数从10万到160万的多款芯片 是在Spartan 3成功的基础上进一步改进的产品 提供了比Spartan 3更多的I O端口和更低的单位成本 是Xilinx公司性价比最高的FPGA芯片 由于更好地利用了90nm技术 在单位成本上实现了更多的功能和处理带宽 是Xilinx公司新的低成本产品代表 是ASIC的有效替代品 主要面向消费电子应用 如宽带无线接入 家庭网络接入以及数字电视设备等 EXCD 1硬件开发平台介绍 SPARTAN 3E芯片特点及功能 EXCD 1硬件开发平台介绍 SPARTAN 3E芯片特点及功能 其主要特点如下 采用90nm工艺 大量用户I O端口 最多可支持376个I O端口或者156对差分端口 端口电压为3 3V 2 5 1 8V 1 5V 1 2V 单端口传输速率可以达到622Mbps 支持DDR接口 最多可达36个专用乘法器 648BRAM 231k分布式RAM 宽时钟频率以及多个专用数字时钟管理模块 DCM PicoBlaze8位微控制器的设计实现 设计内容 PicoBlaze8位微控制器设计由六个实验构成 1 实验一 Xilinx工具流程2 实验二 ArchitectureWizard和PACE3 实验三 全局时钟约束4 实验四 综合技术5 实验五 核生成器 IP核生成器 6 实验六 ChipScopePro调试 实验一 Xilinx工具流程 设计结构原理 实验一 Xilinx工具流程 实验任务 了解ISE软件工具的使用 将完成和实现一个已经存在的PicoBlaze设计 该实验由下面步骤实现 步骤1 创建一个新的工程步骤2 添加设计文件到工程步骤3 汇编程序步骤4 完成设计步骤5 实现HDL行为仿真步骤6 实现 Implement 设计 实验一 Xilinx工具流程 创建工程 打开ISE 点击桌面图标 或选择开始 所有程序 XilinxISEDesignSuite10 1 ISE ProjectNevigator在ISE主界面下 在主菜单下选择File NewProject出现下面的界面 1 2 实验一 Xilinx工具流程 创建工程 鼠标点击 3 实验一 Xilinx工具流程 创建工程 在DeviceProperties界面中 选择合适的 1 产品范围 productcategory 2 芯片的系列 Family 3 具体的芯片型号 Device 4 封装类型 Package 5 速度信息 speed 6 综合工具 SynthesisTool 7 仿真工具 Simulator 8 设计语言 PreferredLanguage 左图是参数的具体设置 鼠标点击 4 实验一 Xilinx工具流程 创建工程 创建新源文件窗口 由于这些设计文件已经存在 在此不需要建立新的文件 鼠标点击 5 实验一 Xilinx工具流程 创建工程 左图显示添加已经存在的文件对话框界面 6 鼠标点击 实验一 Xilinx工具流程 创建工程 定位所要添加文件的目录 然后点击打开按钮 7 实验一 Xilinx工具流程 创建工程 文件被添加进来 然后点击 Next 按钮 8 实验一 Xilinx工具流程 创建工程 工程总结界面 点击 Finish 按钮 9 实验一 Xilinx工具流程 创建工程 至此 工程的框架就这样完成了 10 实验一 Xilinx工具流程 创建工程 主界面又一次出现了 思考 发生了什么变化 11 实验一 Xilinx工具流程 完成设计 一个示例 psm汇编程序叫init test psm包含在工程中 下面对汇编程序进行汇编 来生成指令ROM文件 并将其添加到设计中 打开E labsolutions VHDL lab1 Assembler 找到预先复制的init test psm所在的工程目录 1 实验一 Xilinx工具流程 完成设计 用标准的文本编辑器打开int test psm文件选择开始 所有程序 附件 命令提示符 浏览到Assembler目录下 cd路径名称 实验一 Xilinx工具流程 完成设计 实验一 Xilinx工具流程 完成设计 键入命令 kcpsm3int test psm 出现下面的界面 5 实验一 Xilinx工具流程 完成设计 将生成的int test vhd文件添加到工程中 注意这里有很多方法 方法1 ISE主界面下主菜单选择Project NewSource 定位到生成的文件 然后打开该文件 方法2 ISE主界面下的处理子窗口下 鼠标点击AddExistingSource 然后打开该文件 然后在主窗口中看到该文件已经被添加到工程中 6 实验一 Xilinx工具流程 完成设计 思考 深入掌握VHDL元件声明和元件例化的方法 并打开顶层设计文件进行分析 分析文件的结构 实验一 Xilinx工具流程 仿真设计 测试平台以行为级描述为主 不使用寄存器传输级的描述形式 测试向量的生成可以使用两种方法 1 波形文件2 HDL语言描述 思考 到底那个方法好 为什么 波形直观 适合小规模设计的测试向量的生成HDL语言描述 不直观 但灵活性非常好 设计越复杂 其优越性就越明显 实验一 Xilinx工具流程 仿真设计 下面先添加测试向量文件 然后再分析 这样就能掌握和适应HDL语言描述测试平台的方法 在主菜单下 选择Project AddCopyofSource并打开测试向量文件test bench vhd 该文件就被添加到工程中 思考 分析工程文件结构 1 实验一 Xilinx工具流程 仿真测试文件 顶层设计文件在测试平台文件中被声明和例化 表明测试是对顶层设计文件进行的 声明部分 实验一 Xilinx工具流程 仿真测试文件 难点 例化部分 软件仿真中 时钟信号的激励 产生周期时钟信号使用VHDL语言中的行为描述语句 实验一 Xilinx工具流程 仿真测试文件 软件仿真中 中断信号的激励 产生中断脉冲信号使用VHDL语言中的行为描述语句来描述 实验一 Xilinx工具流程 仿真设计 仿真参数及环境的设置 在处理子窗口 选择XilinxISESimulator 并展开选择SimulateBehavioralModel 点击鼠标右键 选择Properties 点击鼠标右键 出现后面的界面 2 实验一 Xilinx工具流程 仿真设计 修改仿真的时间长度25000ns 点击OK 接受修改的参数 2 实验一 Xilinx工具流程 仿真设计 在处理子窗口 选择XilinxISESimulator 并展开选择SimulateBehavioralModel 并用鼠标双击 小圆圈开始转动 仿真过程开始 不要着急 此时 ISE要完成一项重要的工作就是要生成行为级仿真的模型 稍微等一下 下面的窗口就出现了 3 实验一 Xilinx工具流程 仿真设计 看到仿真的结果 思考 如何分析仿真的结果 如果你想看到更多内部的信号 下面将告诉你 如何做 4 实验一 Xilinx工具流程 仿真设计 这张图说明了这个过程 1 在Source窗口展开kcpsm3 int test2 在下面的窗口选中address 9 0 并点击鼠标右键3 选择AddToWaveform 想要观察的信号终于出现了 实验一 Xilinx工具流程 设计综合 行为级综合可以自动将系统直接从行为级描述综合为寄存器传输级描述 行为级综合的输入为系统的行为级描述 输出为寄存器传输级描述的数据通路 行为级综合工具可以让设计者从更加接近系统概念模型的角度来设计系统 同时 行为级综合工具能让设计者对于最终设计电路的面积 性能 功耗以及可测性进行很方便地优化 行为级综合所需要完成的任务从广义上来说可以分为分配 调度以及绑定 实验一 Xilinx工具流程 设计综合 Xilinx综合工具在对设计的综合过程中 主要执行以下三个步骤 1 语法检查过程 检查设计文件语法是否有错误 2 编译过程 翻译和优化HDL代码 将其转换为综合工具可以识别的元件序列 3 映射过程 将这些可识别的元件序列转换为可识别的目标技术的基本元件 实验一 Xilinx工具流程 设计综合 在ISE的主界面的处理子窗口的synthesis的工具可以完成下面的任务 1 查看综合报告 viewSynthesisReport 2 查看RTL原理图 ViewRTLschematic 3 查看技术原理图 ViewTechnologySchematic 4 检查语法 CheckSyntax 5 产生综合后仿真模型 GeneratePost SynthesisSimulationModel 实验一 Xilinx工具流程 设计综合属性设置 在处理子窗口下 选择Synthesis XST 单击鼠标右键 选择Properities 出现下面的窗口注意 看起来好像很复杂 但是掌握方法 就知道其中的奥妙了 实验一 Xilinx工具流程 设计综合属性设置 如果你想彻底的弄懂 参考文献会告诉你全部的答案 其实 对于竞赛和教学没必要都弄清楚 这点要切记 实验一 Xilinx工具流程 设计综合 实现综合很简单 只需在处理子窗口中 用鼠标双击Synthesize XST 小圆圈出现 并且在控制台窗口 显示综合过程中的信息 当出现绿色小圆圈的时候 综合就完成了 下面将揭开综合过程的一些迷 目的深入了解XST的综合过程 1 实验一 Xilinx工具流程 设计综合 查看RTL符号 2 双击 展开 内部结构一目了然 实验一 Xilinx工具流程 设计综合 实验一 Xilinx工具流程 设计实现 在ISE中的实现 Implement 过程 是将综合输出的逻辑网表翻译成所选器件的底层模块

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论