AVR AT90S1200 IP核设计及其复用技术

发布者:MagicGarden最新更新时间:2013-10-17 来源: eefocus关键字:AVR  AT90S1200  IP核设计 手机看文章 扫描二维码
随时随地手机看文章

  1 引言

  随着芯片集成程度的飞速提高,一个电子系统或分系统可以完全集成在一个芯片上,IC产业中形成了以片上系统SOC(System-on-Chip)技术为主的设计方式。同时IC设计能力和EDA工具却相对落后于半导体工艺技术的发展,两者之间日益加剧的差距已经成为SOC技术发展过程中一个突出的障碍。采用基于IP复用技术进行设计是减小这一差距惟一有效的途径,IP复用技术包括两个方面的内容:IP核生成和IP核复用。文中采用IP核复用方法和SOC技术基于AVR 8位微处理器AT90S1200IP Core设计专用PLC微处理器FSPLCSOC模块。

  2 IP核复用

  IP核复用(IP Core Reuse)是指在集成电路设计过程中,通过继承、共享或购买所需的知识产权内核(第三方IP核),然后再利用EDA工具进行设计、综合和验证。IP核是IP复用的载体和核心内容,基于应用需求、规范协议和行业标准的不同,IP核的内容也是千差万别的。在IC产业中,IP核被定义为用于ASIC, ASSP, PLD等芯片中,且预先定义好功能、经过验证的、可重复利用的电路功能模块,如PCI接口核、ADC核,FIR滤波器核、SDRAM控制器核等。根据IC设计层次的不同。IP核分为以下三类:软IP(Soft IP)、硬IP(Hard IP),固IP (Firm IP)。文中主要涉及到软IP核设计和复用。软IP是可类比、综合的硬件描述语言(HDL)模型,通常是可综合的RTL模型,包括逻辑描述、网表和测试的文档(Testbench)。软IP设计周期短、投人少,与工艺无关,可灵活修改,在设计中只须对时序、面积和功耗进行修正,可复用性最高。基于软核的设计(Soft Core-based design)是一种非常实用的SOC设计方法。它将系统的功能划分为不同的软核,包括微处理器、ALU、ROM、PC、ROM、I/0等。由于软IP核仅提供能够综合的HDL描述,因此复用前需要深人地了解HDL文件描述的RTL模型,采用适当工艺技术的标准单元库,再重新进行综合、布局布线、后仿真提取网表、验证时序等反复工作,最后集成到SOC设计中,因此SOC设计即生成的IP核和第三方复用IP核集成整合。

  3 FSPLC微处理器IP核设计

  3.1 IP软核生成

  文中基于AVR8位微处理器分析实际PLC梯形图及其指令表,设计逻辑处理器LP、布尔处理器BP、存储器位接口MBI等3个模块用于提高PLC执行速度,下面以逻辑处理器LP单元模块为例,描述IP软核生成。PLC梯形图包括8种基本电路:左分支触点LBC/非触点LBCN,右分支触点RBC/非触点RBCN,双分支触点DBC/非触点DBCN,不分支触点NBC/不分支非触点NBCN。文中根据这8种基本电路设计一个16xl6触点矩阵电路,即逻辑处理器LP单元,矩阵中各个触点由电子电路模拟PLC梯形图基本电路。在任何一个触点上包括横线输入、竖线输入、引出输出线圈。触点矩阵中共有256个横线输入圈节点hi,240个竖线输入圈节点vi,256个输出线圈Io。当一行超过16时,转向下一行,以此构成矩阵电路,如hi[i],vi[i],lo[i]表示某个触点的横线输入、竖线输入、输出,那么其同行的下一个触点的横线输入、竖线输入、输出分别为hi[i+ 1]、vi[i+1]、lo[i+1],其同列的下一个触点hi[i+16]、vi[i+16]、lo[i+16],那么输出触点的表达式为

I0[i]=I0[i-1]hi[i]+vi[i-16]lo[i-16]+vi[i]lo[i+16-1]hi[ i+16] 。

  以此各个触点彼此互相连接组成处理梯形图的触点矩阵。如图1所示。

图1 LP单元触点电子电路模拟

  逻辑处理器LP采用Verilog描述,借助Model-Sim进行功能仿真,验证模块功能的正确性。LP单元功能仿真波形如图2所示。

图2 LP单元功能仿真波形

  验证功能正确后,借助Synosys的综合工具Synplify Pro对模块进行综合。综合包括Compiling、Mapping、Optimization。综合时将经ModelSim。功能仿真验证的源代码调人Synplify Pro,执行Compiler,编译后,创建约束文件。sdc,编辑约束文件对模块添加约束条件,包括时钟、面积、扇人扇出、延时等,添加约束后执行综合,产生网表文件。EDF。根据综合后给出的。log文件观察Constraint文件中的约束条件是否满足需要,例如按照给出的“Worst Path Information,修改约束以满足Worst Path的要求。综合完成后在Quartus Ⅱ4。0展开网表文件,布局布线后编译形成。sof文件,将此文件下级到Alters Nios开发板进行验证,验证正确后再借助ModelSim进行时序验证。

[page]

  3.2 AVRIP核复用

  AVR8位微处理器AT90S1200IP核由opencores。org提供。整个微处理器IP核包括ALU、PC、SRAM、IR、ROM、I/0,控制等”个模块,可以分成3个单元;取指单元、执行单元和I/0单元。指令执行时,取指单元负责取出下一个指令,执行单元负责执行当前指令,而LO单元负资和外界的连接。取指单元和执行单元组成微处理器的CPU。

  整个AVRIP核包括许多寄存器:指令寄存器、指令备份寄存器、程序计数器、通用寄存器、存储地址寄存器(MAR),1/O口控制寄存器等。整个系统的工作就是基于这些寄存器之间的数据传输。设计所有的寄存器以及它们之间的组合逻辑及其连接就是系统的数据通道设计。控制模块决定怎样进行寄存器传愉。数据通道和控制单元组成了整个微处理器。

  对于AT90S12001P核复用,考虑到IP核在SOC中集成整合,首先须彻底了解所复用核的架构和指令集,借助ModelSim进行功能仿真,建立Testbench平台测试波形验证功能的正确性,如图3所示。编译无误且功能正确后借助Synplify Pro对IP核饰代码进行逻辑综合,如果VHDL程序正确无误并且其编程风格符合Synplify Pro综合要求,Synplify Pro将产生一个网表文件(。EDF文件),再借助QuartusA4。0和ModelSim分别进行FPGA验证和时序验证,此过程不断循环,直至复用的微处理器IP核没有任何错误。

图3 AVRIP复用测试平台Testbench框图

  4 FSPLC微处理器核SOC设计

  4.1 SOC硬件结构

  根据FSPLCSOC系统功能定义,设计完成FSPLC微处理器硬件结构,如图4所示。

图4 FSPLCSOC硬件结构框图

  FSPLCSOC由AT90S1200、布尔处理器BP、存储器位接口MBI、逻辑处理器LP,CAN总线1。0接口CBI、底板总线接口BBI等6个模块组成。AT90S1200模块是SOC的核心,实现PLC指令的执行;BP模块由两个位累加器和一个位逻辑堆浅BLS组成,该结构可以有效处理IEC61131-3(国际电工委员会制订的基于Windows编程语言标准)PLC指令表语句中复杂的嵌套逻辑运算,使运行频率最高的位指令达到最大的执行速度;存储器位接口模块由一个存储器位寻址接口逻辑和一个8选1选择器组成,为布尔处理器和数据存储器之间的位访间接口;CAN总线1。0接口CBI模块和外部基于Atmega8515的USB-CAN适配器相连,通过此适配器FSPLC可以和其他带有CAN接口的PLC实现CAN通讯;通过底板总线接口BBI模块可以在FSPLC片外扩展模块,最多可以达到8个,包括I/0扩展模块、AID模块、D/A模块、计数模块等。其中AT90S1200,MBI,LP,CBI,BBI模块通过内部总线连接,BP通过MBI模块转换实现和其他模块的连接。

  4.2 FSPLCSOC仿真、综合、验证

  由于SOC设计是一种面向IP核集成的设计,整合后的SOC模块同第三方IP核复用一样需要进行模块的仿真、综合和验证。FSPLC SOC同复用AT90SI200核一样借助ModelSim进行功能仿真和验证后时序仿真,借助Synplify Pro进行综合。[page]

  下面具体描述FSPLCSOC的验证,SOC设计中包含了系统设计和模块设计,因此SOC验证一般包含了模块验证、芯片验证和系统验证三个部分。由于FSPLCSOC涉及到的主要是数字IP核,文中采用Altera NioslI开发板作为设计的验证平台,该开发板带有一个20多万门的Altera EP20K200EFC484-2的FPGA芯片、拨码开关、数码显示器等,用一个实际PLC应用程序在此开发板上对FSPLCSOC进行了可行性验证,同时通过对AVR编译器Avral。0的编译代码变量中增加PLC指令代码,使之能够对PL(:指令进行编译。图5,图6分别为PLC控制程序的梯形图及其汇编程序。

图5 PLC控制程序的梯形图

  开发板的拨码开关SWl的1、2、3、4来模拟上述开关的闭合,观察数码显示器Dl数码段明暗,验证设计的可行性。FSPLCSOC在Altera Nios开发板的FPGA芯片上进行了可行性验证,获得了理想的运行效果:在33MHz晶振下,执行基本逻辑指令速度为0。09μ/条,达到了国际上大中型PLC的处理速度。

图6 PSPLC汇编程序

 

  5 结束语

  目前IC产业中,SOC已成为最主要的集成电路设计方法8位RISC微处理器芯片设计正在向SOC化发展,通过IP核复用方法以缩短周期、降低成本、提高效率。文中基于IP核复用和SOC技术借助ModelSim、Synplify Pro、QuartusⅡ等EDA软件设计了拥有自主知识产权的专用PLC微处理器SOC模块FSPLC,在复用了第三方AVRAT90SI200IP核基础上集成了自行设计的LP、BP、MBI、CBI、BBI等模块,具有快速处理PLC梯形图程序、快速处理IL语句表中复杂的嵌套逻辑运算、PLC之间CAN总线通讯等优点。最后采用Altera NiosII作为验证平台,对实际的PLC应用程序做了可行性验证,获得了理想的效果。

关键字:AVR  AT90S1200  IP核设计 引用地址:AVR AT90S1200 IP核设计及其复用技术

上一篇:基于大容量FPGA的多节点系统的远程升级的实现
下一篇:8位AVR得到Red/System语言支持

推荐阅读最新更新时间:2024-03-16 13:29

基于AVR微处理器XMEGAl28单片机的电解质分析仪
这里提出一款采用ATMEL公司推出的高性能XMEGAl28单片机为核心器件设计的由电池供电的便携式电解质分析仪,可以满足野外使用需求。   1 XMEGA简介   XMEGA是8位AVR微处理器的强劲性能升级版本。XMEGA采用第二代picoPower技术,是唯一真正使用1.6 V工作电压的闪存微控制器。该器件功耗超低,并具有快速12位模拟功能、1个DMA控制器、1个创新的事件系统,以及1个AES加密引擎,全部都无需占用CPU资源,能够最大限度减少功耗和提高系统性能。XMEGAl28微控制器的闪存容量为128 Kb,采用100引脚的贴片封装,工作电压为1.6~3.6 V,32 MHz频率下处理性能可达到32 MI/s。   
[模拟电子]
基于<font color='red'>AVR</font>微处理器XMEGAl28单片机的电解质分析仪
KS0108_AVR驱动[0617]
前几天,一直在玩这个, 因为RAM读时序的问题,因为proteus仿真的问题... 本来简单的东西也会被拖很久的。。。 这里仅列出代码,注释什么的有时间再不上吧。 开发平台为IAR EWAVR 5.20(编译/硬件调试) + SlickEdit(编辑) + Proteus(软件仿真),但是为了尽量保证可一直性,并没有使用IAR特有的位操作的形式,只需稍加改动,即可移植到winavr或iccavr上, 另外proteus请不要使用忙位检测,不要使用超过4mhz的时钟,高版本可选内部4mhz的时钟 这些感觉是proteus的问题,就像1602也是不能检测忙位一样,不是我程序的问题! 示例中的main函数实现了隔点画点的功能,仅此而已。
[单片机]
AVR单片机的天然气发动机系统设计
1 燃料供给系统 对原机的改造主要是燃料供应及喷射系统的改造,用一套完整的天然气供给系统和电控系统来实现改造目的。所使用的天然气是由高压气瓶(CNG)提供的压缩天然气, 出口压力达到20 MPa。图1所示为供气系统示意图。该设计实现了高压天然气的可靠存储和压力转换,并可对供气压力进行实时监测 。 图1 CNG供气系统示意图 2 电控单元 电控单元选用Atmel公司的AVR单片机,利用单片机C语言进行程序开发,并且采用了多片式ECU设计。 (1) 多片式ECU 图2 多片式ECU结构简图 多片式ECU是指在一个电控单元ECU中使用多个单片机(MCU)。各个MCU分别承担不同的工作内容。
[单片机]
<font color='red'>AVR</font>单片机的天然气发动机系统<font color='red'>设计</font>
基于AVR单片机和组态王的陶瓷检测系统设计
摘要:针对国内的陶瓷性能检测仪自动化程度不高、检测精度低、检测范围比较窄,可视化差等情况,设计开发了一种基于AVR ATmega128单片机和北京亚控公司的组态软件的陶瓷检测实时控制系统。该系统运用虚拟仪器组态王作为上位机,辅以ATmega128单片机为核心的变参数的模糊神经网络PID控制器,对陶瓷性能进行检测。经现场使用表明,该系统检测精度高、范围广、可视化程度高,使用方便。 0 引言 在城市的建设进程中,越来越注重绿色环保理念,然而使用实心砖会造成资源的巨大浪费,因此空心砖的使用量急剧增长。生产空心砖需要大量的生态陶瓷材料,但相应的陶瓷材料的性能检测工具还很不完善。研制高性能生态陶瓷性能检测仪具有重要的现实意义。本文以陶
[单片机]
基于<font color='red'>AVR</font>单片机和组态王的陶瓷检测系统<font color='red'>设计</font>
AVR串口查询模式程序实例
* Code adapted from Atmel AVR ApplICation Note AVR306 * PolLED mode driver for UART, this is the similar to the * library default putchar() and getchar() in ICCAVR */ #include io8515.h #include macros.h #include uart.h /* initialize UART */ void InitUART( unsigned char baudrate ) { UBRR = baudrate; /* set the baud r
[单片机]
熔丝位(Fuse)快速入门
AVR Studio 中 STK500 处理熔丝位有巨大的优势:它是以功能组合让用户配置。 这种方式与小马(PnoyProg2000,SL-ISP)相比,具有以下的优势(优势是如此明显,可以用 巨大优势 来形容): 1. 有效避免因不熟悉熔丝位让芯片锁死 (这是初学者的恶梦) 2. 不需要靠记忆与查文档,就能配置熔丝位(这也是初学者的恶梦)这是我们网站为何推荐使用STK500下载器的又一原因。 操作界面如下: (注意:下图中,打勾的表示选中,代表0。没有打勾的表示1)。 上图的资料整理如下(该表下面有中文翻译与说明): On-Chip Debug Enabled; JTAG In
[单片机]
熔丝位(Fuse)快速入门
什么是AVR单片机
什么是AVR单片机?AVR单片机有什么优点?为什么要选择AVR单片机? AVR单片机是ATMEL公司研制开发的一种新型单片机,它与51单片机、PIC单片机相比具有一系列的优点: 1:在相同的系统时钟下AVR运行速度最快; 2: 芯片内部的Flsah、EEPROM、SRAM容量较大; 3:所有型号的Flash、EEPROM都可以反复烧写、全部支持在线编程烧写(ISP); 4:多种频率的内部RC振荡器、上电自动复位、看门狗、启动延时等功能,零外围电路也可以工作; 5:每个IO口都可以以推换驱动的方式输出高、低电平,驱动能力强; 6:内部资源丰富,一般都集成AD、DA模数器;PWM;SPI、USART、TWI、I2C通信口
[单片机]
AT90S1200代换显示驱动芯片MC14499的应用电路
    摘要: AT90S1200是ATMEL公司推出的RISC单片机,它将PIC及8051单片机的优点和其本身具有的Flash技术集于一身,本文介绍了应用AT90S1200单片机代换Motorola显示驱动芯片MC14499来驱动四位LED动态显示的代换电路及详细的应用程序。     关键词: MC14499 AT90S1200 动态显示 单片机 1 MC14499简介 MC14499是Motorola公司生产的串行输入BCD十进制输出的CMOS集成块,它内含BCD译码器和串行接口,可以与任何CPU接口连接,在比较复杂的单片机控制系统中,MC14499具有占用I/O少、控制显示器多、功耗低、使用方便等优
[应用]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved