利用 PicoBlaze 微控制器

发布于:2024-07-17 编辑:匿名 来源:网络

许多 FPGA 应用可以受益于使用简单的软核处理器来简化时序控制结构的生成。

  作者:Adam P. Taylor  e2v Corporation 工程系统主管    PicoBlaze 是一款紧凑型 8 位软核微控制器,FPGA 工程师可以在选择 Xilinx FPGA 时使用它。

它被实例化。

一旦实现,处理器就完全包含在 FPGA 结构中,仅使用逻辑片和块 RAM;不需要外部易失性和非易失性存储器。

  由于其实现的封装面积较小,FPGA可以容纳多个PicoBlaze实例化。

每个实例化都用于实现通常由状态机创建的控制结构。

这不仅减少了开发时间,而且还允许采用标准化方法来生成控制结构。

由于 Xilinx FPGA 结构的高性能潜力,PicoBlaze 实例化的性能通常优于许多分立 8 位微控制器。

  让我们看看如何在我们的设计中充分利用这个方便的设备。

  PICOBLAZE架构  在使用这款处理器之前,我们先来了解一下它的架构。

PicoBlaze 是一款非常简单的基于 RISC 架构的 8 位微控制器(如图 1 所示)。

该控制器有一个 12 位地址端口,这意味着它可以处理多达多个内存位置。

  图 1 – PicoBlaze 架构、处理器(左)和内存(右)   每个地址位置都包含一条 18 位指令,用于定义处理器必须执行的操作。

处理器的输入和输出可以通过两个8位端口(一个输入端口,一个输出端口)。

该控制器还提供一个 8 位识别端口,通过该端口最多可以读取或写入一个外设。

此外,控制器还提供高速暂存存储器,大小可选64或字节。

与所有微处理器一样,PicoBlaze 包含算术逻辑单元并支持中断。

这些特性意味着该控制器可以为 FPGA 设计工程师带来许多优势。

  PicoBlaze 最重要的方面之一是它具有高度确定性,这意味着所有指令都需要两个时钟周期来执行,而中断可能需要最多四个时钟周期来服务。

(您可以通过下载 Xilinx 用户指南了解有关 PicoBlaze 架构的更多详细信息。

)  如何使用PICOBLAZE?  FPGA应用通常需要并行和顺序操作的结合,其中数据流主要采用并行操作,而控制结构主要采用顺序结构实现,例如状态机。

(请参阅第 46 期“如何在 FPGA 中实现状态机”)。

然而,如果以状态机的形式实现,复杂的控制结构可能会变得笨重,不仅延长验证时间,而且使开发周期中的后期修改变得困难。

复杂的状态机也需要更多的时间来开发,如果需要开发几个,则需要相当长的时间。

   此外,您还可以使用 PicoBlaze 通过 RS、I2C 和 SPI 接口控制串行通信。

事实上,您使用典型 8 位微处理器实现的任何功能都可以在 PicoBlaze 中实现,而且性能更高。

工程师已使用 PicoBlaze 在控制系统中实施 PID 控制器。

他们将 PicoBlaze 与 I2C、SPI 或并行 DAC 结合使用,创建各种参考波形,例如方波、锯齿波和三角波以及更复杂的正弦/余弦(使用移位加 CORDIC 算法)。

在 FPGA 中实例化 PicoBlaze 微控制器来实现这些定时功能不仅可以缩短开发时间,还可以在开发周期的后期进行简单修改。

当然,作为一个软核,PicoBlaze 还有助于解决过时问题,并在您开发 ASM 模块时支持设计重用。

  首次 PICOBLAZE 实例化  遵循这几个简单的步骤,您就可以在您的设计中快速实现 PicoBlaze。

首先,确保您将在目标设备中使用的微控制器是最新版本。

您可以从 Xilinx PicoBlaze 下载区下载这些微控制器产品,该下载区提供支持最新 7 系列器件以及与旧版 Spartan?-3   和 Virtex?-4 器件配合使用的微控制器的版本。

服务器版本。

  下载正确的处理器版本后,将这些文件解压缩到您的工作目录中,并确保您可以阅读“自述”文件,根据需要密切注意路径设置和 Xilinx 环境。

多变的。

在您的工作目录中,您会注意到以下文件或应用程序,以及有用的自述文件、许可证文件和用户指南。

  ? KCPSM6.Vhd:这是真正的PicoBlaze 源代码。

  ? KCPSM6.exe:这是一个汇编程序,可用于生成所需的机器代码和内存文件。

  ? ROM_Form.vhd:这是一个可执行汇编程序,用于生成 VHDL 文件,您创建的程序将存储在其中。

  ? KCPSM6_design_template vhd:这是一个 PicoBlaze 处理器模板实例。

  ? All_kcpsm6_syntax.psm:该文件是所有汇编命令和语法的定义。

  对于我们的示例设计,如果您不想将 PicoBlaze 及其程序存储器添加到现有项目中,那么作为最后一步,您应该在我们的 ISE? 设计套件中创建一个新项目,我们可以在其中实例化 PicoBlaze 和它的程序存储器项目。

  完成上述步骤后,我们就可以开始在应用程序中创建 PicoBlaze 处理器了。

在最简单的层面上,您只需在设计中声明两个组件:一个是处理器本身,另一个是程序存储器,如图 1 所示(处理器位于左侧的框中,内存位于左侧的框中)提供上下文的权利)。

当然,如果需要实现多个实例化,则应该提供多个内存组件来存储不同的程序。

然而,我们首先需要了解一个典型项目的开发流程。

  开发流程  创建您的第一个 PicoBlaze 实例实际上非常简单。

第一步是使用 Notepad++ 等编辑器创建一个空白文本文件。

该文件应具有 .PSM 文件扩展名,例如“test.psm”。

您可以使用 PicoBlaze 汇编器对微控制器进行编程。

  Xilinx在All_kcpsm6_syntax.psm文件中提供了该语法的详细介绍,大家可以自行下载。

无论如何,这种语法很容易理解和掌握。

图 2 是一个简单程序的汇编代码片段示例,该程序使 LED 闪烁,运行频率为 2Hz,时钟频率为 40MHz。

   图 2 – Project Flash LED 的汇编器代码片段    一旦您对汇编器感到满意,就可以继续下一步:通过您下载的汇编器可执行文件运行程序。

这将生成一个内存文件(FPGA 中使用的 VHDL)、一个日志文件和一个十六进制文件,我们将在稍后介绍其用途。

图 3 显示了针对上述代码片段运行的汇编程序流程。

运行汇编程序后,您现在可以在 FPGA 中实例化 PicoBlaze。

  图 3 – 使用 KCPSM6 汇编器生成内存文件   您现在拥有两个所需的 VHDL 文件:KCPSM6.vhd 和由包含您的应用程序的汇编器创建的 VHDL 文件(在本例中为测试 .vhd)。

步骤 2:  在 VHDL 设计中声明两个组件(KCPSM6 和内存)并实例化它们(如图 4 所示)。

这个简单的 VHDL 示例可以在图 5 所示的代码片段中看到。

这个 VHDL 示例实现了 PicoBlaz,使 LX9Spartan? 开发板的 LED 闪烁。

   图 4 – PicoBlaze 上下文框图    图 5 – 用于使 LX9 Spartan 开发板上的 PicoBlaze 闪烁 LED 的代码片段    模拟和验证    在应用程序中完成设计文件的实例化后,您可以在综合和实现之前肯定希望在仿真环境中验证系统或模块的性能。

由于 PicoBlaze 使用逻辑片和块 RAM,因此您可以在 Mentor Graphics 的 Mod-elSim 或 Xilinx ISE 的 ISim 中实现 PicoBlaze(如果您在  Vivado? 设计套件中的 Xsim 中实现 PicoBlaze,则使用程序进行仿真也非常简单例如 Xsim)。

   由于 Block RAM 包含程序指令,因此模拟工作自然很简单。

基本上,您只需要提供实例化所需的时钟和其他输入和输出。

图 6 显示了在 ISim 中执行的 PicoBlaze 仿真的结果,以及指令加载之间的两个时钟周期。

  图 6 – ISim 仿真结果   图 6 – ISim 仿真结果   升级您的程序   将 PicoBlaze 内置到 FPGA(和位文件)中的最大优势之一是,PicoBlaze 在安装之后安装FPGA 配置完成后,开始直接在其 RAM 中运行程序。

但是,在某些情况下,您可能需要修改该处理器核心正在执行的程序。

尽管根据设计其余部分的复杂性,您也许能够重新运行实现阶段(包括更新的内存文件),但这可能非常耗时,特别是如果您只是在实验室中尝试每种可能性。

因此,您可以在重新运行实现阶段来调试软件程序之前,使用 JTAGloader 更新处理器内核的程序存储器。

JTAG加载器也可以通过下载获得。

  在使用 JTAG 加载程序之前,您首先需要在设计设置中启用它。

在程序存储器的实例化中使用通用 C_JTAG_LOAD-ER_ENABLE:integer := 1。

请注意,您一次只能为设计中的一个内存实例设置此参数。

  在设计中启用此程序后,您必须从 JTAG_loader 目录中选择与您的操作系统匹配的版本,并将其复制到您的工作目录(hex 文件所在的位置)。

现在您可以打开命令窗口并导航到工作目录并使用以下命令。

  jtagloader –l .hex   注意:我已将我的操作系统重命名为可执行版本,即 jtagloader.exe。

  当您对最新的 PSM 文件运行汇编器时,此操作将下载创建的十六进制文件,如图 7 所示。

利用 PicoBlaze 微控制器

下载文件后,您会注意到 JTAGloader 停止处理器执行并将新程序下载到内存中在释放处理器复位之前,此时处理器开始运行新程序。

  一旦您对 PSM 文件的更新行为感到满意,您可以重新运行实现和位文件生成,以确保下次配置设备时执行更新的程序。

利用 PicoBlaze 微控制器

站长声明

版权声明:本文内容由互联网用户自发贡献,本站不拥有所有权,不承担相关法律责任。如果发现本站有涉嫌抄袭的内容,欢迎发送邮件 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。

标签:

相关文章

  • 《最成交量赛道》投资须知

    《最成交量赛道》投资须知

    当前的储能市场如火如荼的地沟油:官方产能比上一次高,中标价一天比一天低。 即使从最保守的统计来看,目前国内储能电池产能已超过GW,不仅超过2016年全球储能新增装机20.5GW,甚至远超2018年全球普遍预期的GW左右的储能容量装机容量——产能过剩不可避免;相应的,储能系统

    06-18

  • 博士归来打造安全物联网,鲁尔物联网完成1亿元B轮融资,

    博士归来打造安全物联网,鲁尔物联网完成1亿元B轮融资,

    安全物联网解决方案和系统服务提供商鲁尔物联网宣布完成1亿元B轮融资。 本轮融资的投资方为台州城投、黄岩国投、华瑞投资。 资金将主要用于人才引进、技术研发、市场拓展等。

    06-17

  • 华为与高等教育出版社签署战略合作协议

    华为与高等教育出版社签署战略合作协议

    独家获悉,4月24日,华为开发者大会(云)期间,华为与高等教育出版社签署战略合作协议,联合出版计算机系统、人工智能实践等系列教材与新一代人工智能系列教材,并在新形式教材出版、课程体系建设、教学活动等方面进行更多合作,逐步完善新工科课程建设。 双方代表共同倡导:

    06-17

  • 麦族科技完成天使轮融资,顺丰旗下子公司领投

    麦族科技完成天使轮融资,顺丰旗下子公司领投

    3月9日消息,据猎云网消息,近日,广州麦族科技公司(简称:麦族科技)宣布完成天使轮融资今年年初,由顺丰速运董事长王卫控股的深圳明德丰泰投资有限公司领投,融资估值为人民币1万元。 本轮融资将用于持续打造麦药名的核心竞争力,实现用户裂变,建立用户粘性,最终形成用户

    06-17

  • 聚美优品达成最终私有化协议:每ADS 20美元

    聚美优品达成最终私有化协议:每ADS 20美元

    据投资界2月26日消息,聚美优品(纽交所代码:JMEI)今日宣布,已与Super ROI Global Holding Limited(以下简称“Super ROI Global Holding Limited”)达成协议。 简称“家长”)。 公司”)与聚美优品投资控股有限公司(以下简称“买方”)以每股ADS 20.0美元现金的价格达

    06-17

  • 打通校园最后一公里,捕快学院获150万天使轮投资

    打通校园最后一公里,捕快学院获150万天使轮投资

    据投资界6月4日消息,据猎云网报道,捕快学院今日宣布获1万天使轮投资今年五月。 宜昌红磨林生态农业发展有限公司。 本轮投资资金主要用于产品孵化和市场推广。 并将于今年10月启动A轮融资。   捕快学校于今年3月开办。 主要进行消费品的网上销售和及时配送。 提供快递、免

    06-18

  • 阿里云携手数麦科技0元试用,助力企业数字化发展

    阿里云携手数麦科技0元试用,助力企业数字化发展

    为帮助中小企业高质量创新发展,阿里云与多家生态合作伙伴联合推出“中小企业数字服务节”,旨在为中小企业提供更加普惠的技术、产品服务和创新资源,帮助中小企业缓解困难、发展。 据悉,本届数字服务节精选+优质服务权益,推出超5亿数字创新资源,50+场线下、云端联动的各

    06-18

  • 【融资24小时】2022年10月8日

    【融资24小时】2022年10月8日

    2020年10月8日投融资事件摘要及明细。 今日国内市场共发生投资披露事件21起,其中先进制造领域6起(耐能、金芯电子、Ainstec、双芯微电子、赤芯半导体、奇点能源) )、医疗健康案例4个(云舟生物、庆云科技、君合盟、凌凯医药)、企业服务案例3个(熊猫法律、博登智能、杭州

    06-17

  • 林氏集团在中国设立技术培训中心

    林氏集团在中国设立技术培训中心

    1月7日,全球领先的半导体制造设备和服务供应商林氏集团在北京为其新成立的技术培训中心举行了揭牌仪式。 培训中心旨在为客户提供专业的技术指导和培训,帮助他们取得成功。 林氏集团全球客户运营高级副总裁 Scott Meikle 先生、林氏集团高级副总裁兼客户支持部总经理 Pat Lo

    06-06

  • 阿里巴巴全资收购先声互联网,付强加入达摩院

    阿里巴巴全资收购先声互联网,付强加入达摩院

    据投资界5月4日消息,阿里巴巴近日宣布全资收购北京先声互联网科技有限公司(以下简称先声互联网) )。 具体金额尚未确定披露。 此外,先声互联网创始人和原中科院声学研究所研究员付强近期加入阿里巴巴达摩院机器智能技术实验室,将筹建两个物理声学实验室。   据报道,

    06-17

  • 英伟达与英特尔之战进入第三阶段?

    英伟达与英特尔之战进入第三阶段?

    如果英伟达没有搭上人工智能的高铁,那么今天的英伟达就不会成为英特尔的威胁。 它只能在某些市场与英特尔发生小规模摩擦。 但飞驰的AI列车让英伟达有足够的资金以1亿美元收购Arm。 通过GPU和CPU的结合,它有可能撼动Intel。 尽管高通、微软、谷歌等此前都曾表示反对英伟达收

    06-08

  • 亮道智能与上海汽车检测达成战略合作

    亮道智能与上海汽车检测达成战略合作

    3月8日,激光雷达系统解决方案提供商亮道智能与上海机动车检验认证技术研究中心有限公司正式签署战略合作协议,建立战略合作伙伴关系。 。 双方将在智能网联汽车相关产品评价领域建立合作伙伴关系,并在环境传感系统评价领域开展合作。

    06-18