ARCEM处理器嵌入式系统开发与编程.html.pdf

上传人:紫竹语嫣 文档编号:5514130 上传时间:2020-05-27 格式:PDF 页数:117 大小:26.75MB
返回 下载 相关 举报
ARCEM处理器嵌入式系统开发与编程.html.pdf_第1页
第1页 / 共117页
ARCEM处理器嵌入式系统开发与编程.html.pdf_第2页
第2页 / 共117页
ARCEM处理器嵌入式系统开发与编程.html.pdf_第3页
第3页 / 共117页
ARCEM处理器嵌入式系统开发与编程.html.pdf_第4页
第4页 / 共117页
ARCEM处理器嵌入式系统开发与编程.html.pdf_第5页
第5页 / 共117页
点击查看更多>>
资源描述

《ARCEM处理器嵌入式系统开发与编程.html.pdf》由会员分享,可在线阅读,更多相关《ARCEM处理器嵌入式系统开发与编程.html.pdf(117页珍藏版)》请在三一文库上搜索。

1、序 In recent years processor IP has become ubiquitous as mobile and consumer device makers have migrated their designs from using stand-alone processor chips to processor cores integrated into more power-efficient System-on-Chips(SoCs).At the same time,software functionality and complexity has increa

2、sed at a dramatic rate,requiring additional processing bandwidth.Many of todays processors,including the ARC EM Family of processor IP cores,are focused on delivering increasing levels of performance with lower power consumption and a minimum silicon footprint. ARC EM processors were first introduce

3、d in 2012.Designed for ultra-low power operation,EM cores hit a sweet spot in processing efficiency and have since become Synopsysmost successful processor product line.EM processors are now used in a wide variety of embedded applications,especially where exceptional performance-to-power(DMIPS/mW)or

4、 performance-to-area(DMIPS/mm2)ratios are needed such as the Internet of Things(IoT). The ARC EM family utilizes a scalable 16-/32-bit RISC instruction set architecture(ISA)that is optimized for the unique requirements of embedded and deeply embedded applications,such as performance efficiency and c

5、ode density.Like all ARC processors,EM cores are highly configurable to enable designers to tailor each ARC processor instance to meet specific performance,power and area requirements.ARC processors are also extendable,allowing designers to add their own custom instructions that accelerate applicati

6、on-specific code.The EM processor cores are supported by a robust ecosystem of software and hardware development tools,including an easy to use and low-cost ARC EM Starter Kit for early software development,the MQX real-time operating system(RTOS),the embARC Open Software Platform,and a broad portfo

7、lio of third-party tools,operating systems and middleware from leading industry vendors. Through the explanations and examples in this book,you will find the ARC EM processors are easy to use and easy to program.The processors are extremely“C-friendly”,meaning there is no need to optimize the applic

8、ations with assembly.In some aspects,EM processors are easier to use than many 8-bit microcontrollers because of the simplicity of the linear memory architecture,an uncomplicated and yet flexible exception model,comprehensive debug features,and the software infrastructures provided by Synopsys and e

9、cosystem partners. In 2012,we began expanding Synopsys?engineering development resources in China with a new ARC-focused Rcomment 标号 操作码操作数 ;注释 标号:位置标记,具体使用规则见5.3.4节。 操作码:ARC汇编指令的操作码,通常情况下是ARC处理器指令的助记符。 同时,操作码字段可以是一个汇编程序指令(也称为伪操作)或用户自定义的宏。宏具体规则见5.3.7节。操作码字段可以从任意 列开始。 操作数:操作数是在操作码字段的指令的参数,与操作码字段之间空格分

10、隔。 ARC汇编指令的操作数,可以是标识符、常量,或者包含一个或多个标识符/常量的表达式。本章后面小节将详细介绍ARC汇编 标识符及常量的具体规则。 注释:注释是包含汇编语句相关信息或一组信息。注释字段是可选的。如果注释在操作码或操作数之后,使用空格分隔带分隔符 的注释和操作数或操作码。注释可以在任意列开始,在注释前添加分隔符。在ARC汇编语言格式中,注释用“;”或者“#”开始,本 行之后部分到本行语句结束,都会被当作注释。 结合上一节ARC汇编语言的伪指令,下面举例说明ARC汇编使用。 (1).set和.equ指令用法 .set和.equ指令使用标号表示表达式。一个标号被用于一个伪指令或指令

11、,它替换其相应括号内的表达式。如果其相应的表达也是 一个常量表达式,替换的标号可以在常量表达式中使用。 句法:label:.equ expression 例: * * 设置一个常量count=1000*2+3 * * 将其用于ADD指令中 * * const .set (1000*2)+3 ADD A1,A2,const * * 将当前的部分程序计数器加4分配给target * * _target .equ $+4 * * 用于相等约束 * * SIZE .equ 120 ALIGN .equ 8 .bss foo, SIZE, ALIGN (2).bss指令用法 .bss指令将未初始化的数据

12、存储到.bss段。如果指定对齐方式,当前.bss段的位置数据是在数据保留前对齐的。 句法:.bss symbol,size,alignment 例: .bss foo, 123 .bss fum, SIZE 2, 8 SIZE必须是一个均等的常量。 (3).short与.half指令用法 .short与.half指令是同义词。该指令在当前区间把一个或多个16位整数放到连续字节中。字节的确切位置取决于处理器采用的是大 端还是小端格式。如果标号在.short或.half之前使用,它指向的是第一个被初始化的字节。 句法:.half value,http:/ path=/openresources/t

13、each_ebook/uncompressed/15453/OEBPS/Text/.,value 例: short 0x1234 short 1974 short -1 short 0b10101 short (500+0x12*10)+_one) _one .set 1 (4).float与.double指令用法 .float与.double指令在当前区间放置一个IEEE 754浮点数为连续字节。字节的确切位置取决于处理器采用的是大端还是小端格式。 .float生成一个单精度浮点数。 .double生成一个双精度浮点数。 涉及IEEE 754: 单精度宽度:32位,数值部分:24位,指数:8

14、位。 双精度宽度:64位,数值部分:53位,指数:11位。 如果一个标号前使用.float,它指向第一个被初始化的字节。 句法:.float value 例: .float 16.2E-2 ; 单精度浮点数 .double -47.5534E-26 ; 双精度浮点数 (5).byte指令用法 .byte指令将字节从一个或多个表达式或字符组成的字符串添加到当前区间中。一个带引号的字符串,字符串的每个字符被视为一 个单一的8位值。该字符串中的字符被放入连续字节当前区间。一个表达式,它的值将被截取为8位。如果一个标号在.byte之前使用 时,它指向第一个被初始化的字节。 句法:.byte value

15、,http:/ path=/openresources/teach_ebook/uncompressed/15453/OEBPS/Text/.,value 例: .byte 0, 1, 2 (6).4byte、.word和.long指令用法 .word,.long和.4byte是同义指令。这个指令将一个或多个32位整型常量放到当前区间的连续字节。字节的确切位置取决于处理器 采用的是大端还是小端格式。 句法:.word value,http:/ path=/openresources/teach_ebook/uncompressed/15453/OEBPS/Text/.,value 例: LAB

16、: .word 0 .word LAB + 4 . word (2 + 3) * 4 (7).ascii与.string指令用法 .ascii和.string是同义指令。这个指令添加字节(一个或多个字符串字节)到当前区间中,如果一个标号使用这个指令,它指向第一 个字符串的第一个字符。 句法:.string string_value,http:/ path=/openresources/teach_ebook/uncompressed/15453/OEBPS/Text/.,string_value 例: .string “This is a string value“ .ascii “This“

17、, “is“, “string“, “value“ 以上两个实例具有相同的效果。 (8).asciz指令用法 .asciz指令将字节从一个或多个字符添加到当前区间中。每个字符串后添加一个空字符。如果一个标号使用这个指令,它指向第一 个字符串的第一个字符。 句法:.asciz string_value,http:/ path=/openresources/teach_ebook/uncompressed/15453/OEBPS/Text/.,string_value 例: .asciz “This is a string value“ .asciz “This“, “is“, “string“,

18、 “value“ (9).err指令用法 .err指令将引发错误消息。该指令提供一个退出码,汇编终止时立即返回退出码。如果没有指定退出代码,汇编器继续解析当前的 输入文件,但是不会产生输入文件生成的输出目标文件。 句法:.err message,exit_code 例: .err “Invalid operations“ 5.4 ARC汇编语言程序设计 在ARC指令集及汇编语言伪指令基础上,程序设计人员可以参照汇编语言格式要求来进行汇编源程序的编写。按程序的功能结构来 分类,可把程序分为简单程序、分支程序、循环程序和子程序等类型。任何复杂的程序结构可看作这些基本结构的组合。 5.5 ARC汇编

19、语言程序实例 以下是一个完整的使用ARC汇编程序设计的片外存储器访问实例,里面涉及了ARC汇编器伪指令和中断异常向量入口定义,程序的 执行过程既使用了顺序执行,也使用了循环。 .include code.s .equ PASS_CODE, CORE|ASSEMBLER|0|CORETEST|PASSED .equ FAIL_CODE, CORE|ASSEMBLER|0|CORETEST|FAILED .equ HALT, 1 .section vectors,text ;向量表 .global _start _reset: .long _start mem_err: .long mem_err

20、_handler ins_err: .long ins_err_handler ; - ; ; Main ; ; - .text .global _start ;开始程序 _start: mov r26, FAIL_CODE ;初始化 mov r0, data_area ;数据段开始地址 mov LP_COUNT, 30 lp init_mem_lp_end stb r0, r0 ;将r0的值显示在跟踪调试文件中 add_s r0, r0, 1 init_mem_lp_end: mov r1, 0 ;清除累加器 mov LP_COUNT, 30 lp load_mem_lp_end sub_s

21、 r0, r0, 1 ;地址后移 ldb r2, r0 ;读取 add_s r1, r1, r2 ;写入累加器 load_mem_lp_end: st r1, r0 ;将r1的值显示在跟踪调试文件中 cmp_s r1, 7155 ;结果比较 SUM(0xE0,0xE0+29) mov.eq r26, PASS_CODE nop nop mem_err_handler: ins_err_handler: flag HALT ;使处理器挂起以终止测试 nop nop .data data_area: ;EOF结束 5.6 ARC汇编语言与C/C+的混合编程 ARC汇编语言具备较强的硬件直接操作能力

22、,对于底层的初始化及驱动使用汇编语言,而对于大部分应用程序则使用C/C+语 言,因此在实际应用中使用汇编语言与C/C+的混合编程。ARC处理器体系结构支持汇编语言与C/C+的混合编程。下面主要介绍汇 编语言与C/C+之间互相调用、混合编程。 5.7 小结 本章主要介绍ARC汇编语言,包括ARC汇编语言的伪指令、ARC汇编语言语句格式、ARC汇编语言程序设计以及ARC汇编语言与 C/C+的混合编程,并对相关内容给出了实例。 下一章将介绍ARC EM处理器的开发及调试环境等。 第6章 ARC EM处理器的开发及调试环境 本章主要介绍ARC EM处理器的开发及调试环境,其中包括MetaWare开发套

23、件、Meta-Ware IDE开发系统及开发流程,使用 MWDT调试器进行性能分析以及ARC GNU介绍等。 6.1 MetaWare开发套件 DesignWare ARC MetaWare开发套件(MetaWare Development Toolkit,MWDT)是在有着25年行业领先的编译器和调试器 产品的基础上开发的。该套件是用于Synopsys DesignWare ARC处理器开发的完整解决方案,包含支持开发、仿真、调试和嵌入式应 用程序优化的所有组件。该开发套件支持全系列ARC处理器,从高速ARC HS系列,到深度嵌入式ARC EM系列,再到适用于高性能的 通用ARC 600系列

24、、ARC 700系列以及ARC AS200音频处理器。如图6-1所示,MetaWare开发套件包含了开发过程中编程、仿真以及 调试的所有软件工具。主要包括编译器(compiler)、链接器(linker)、汇编器(assembler)、调试器(debugger)、仿真器 (debugger simulators)以及集成开发环境(MetaWare IDE)等。其中与编译相关的编译器、连接器和汇编器以及运行时库也统称 为MetaWare C/C+工具链。 图6-1 DesignWare ARC MetaWare开发套件 MetaWare集成开发环境集成了MetaWare开发套件中的主要组件,同时

25、提供一个友好的图形化操作界面,使用户在统一的图形界 面下进行程序编译与调试。此外,MetaWare IDE图形界面允许用户增加其他工具,同时通过可配置技术定义使用范围,以加速关键代 码,提高运行效率。当然,MetaWare开发套件中的软件工具例如编译器、调试器等也可以在MetaWare IDE之外被直接调用,独立工 作。 MetaWare开发套件并不是免费软件,必须要获得Synopsys公司授权才能运行。除了MetaWare开发套件之外,Synopsys ARC还 提供免费开源的ARC GCC工具链、GDB调试器以及软件开发包,既可用于个人学习和了解ARC处理器,也可用于基于ARC处理器的嵌

26、入式系统的开发与编程。 6.2 MetaWare IDE开发指南 6.2.1 创建与管理工程 MetaWare IDE是以视图的方式组织的。C/C+视图提供编码任务的视图,调试视图提供调试任务的视图(其他的视图也可以单 击“查看”-“视图”-“其他”来切换)。在IDE标题栏中的第一个选项告知在哪一个视图中,如图6-2所示。 图6-2 MetaWare IDE标题栏 如果没有看见C/C+视图,可能需要关闭欢迎界面。如果之前关闭了欢迎视图,MateWare IDE记住并开始显示有C/C+视图的 项目资源管理器。 使用MetaWare IDE集成开发环境,创建工程并加载例程代码。以工程为单位,配置编

27、译选项、编译例程代码,对编译生成的可执 行文件进行调试分析。 1.建立工程 1)打开MetaWare IDE,创建一个名为demo的空工程(project),选择ARC EM系列处理器,如图6-3所示。 图6-3 新建空项目 2)在菜单栏中,选择“文件”-“新建”-“项目”,则新建项目对话框被打开。 3)在新建项目对话框中,展开C/C+,选择C项目,然后单击Next按钮,如图6-4所示。 图6-4 选择C项目 4)选择ARC EM处理器,如图6-5所示。 图6-5 IDE新建项目对话框 2.向工程demo导入代码文件CoreTest.c 在MetaWare IDE主界面的左侧Project E

28、xplorer处用鼠标左键单击图标,接着在弹出菜单中选择Import,如图6-6所示。 图6-6 左侧Project Explorer选项 此时,弹出一个名为Import的对话框,选择General选项卡中的File system一项,然后单击Next按钮,如图6-7所示。添加源代码 CoreTest.c所在文件目录,对话框会自动显示目录的名称以及目录所包含文件的文件名。选择待添加文件CoreTest.c,然后单击Finish 按钮,完成整个导入过程。 例程代码程序demo.c如下: / / 该演示程序的功能是查找数据点x和y的最小距离 / #define/undefine _DEBUG 预编

29、译器变量,以获得所需的功能 / 包括_DEBUG会导入I/O库,以打印搜索结果 / 为了简单起见,将计算中用到的数据点硬编码到POINTX和POINTY中 / #ifdef _DEBUG #include “stdio.h“ #endif #define POINTX 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 #define POINTY 2, 4, 6, 8, 10, 12, 14, 16, 18, 20 #define POINTS 10 #define GetError(x, y, Px, Py) ( (x-Px)*(x-Px) + (y-Py)*(y-Py) ) in

30、t main(intargc, char* argv) intpPointX POINTX; intpPointY POINTY; int x, y; int index, error, minindex, minerror; x 4; y 5; minerror GetError(x, y, pPointX0, pPointY0); minindex 0; for(index 1; index 0) / 产生新的定时器0中断 timer0_count = 0; flash_count+; / 最后3位对应8个发光二极管 leds = 0x1ff leds = 0x1ff; gpio_set_

31、leds(pctr, leds); uart_print(uart, “* Exit 0 *nr“); return 0; void timer0_init(unsigned int max_count) _clri(); /关闭中断 _sr(IE | NH, TIMER0_CONTROL); /定时器中断使能 _sr(max_count, TIMER0_LIMIT); /停止前的最大计数 _sr(0, TIMER0_COUNT); /复位定时器 / 载入vector _setvecti(TIMER0_VECTOR, TIMER0_ISR); /使能ints及优先级别2、1、0 _seti(I

32、NT_CTRL_IE | PRIORITY2); 当Timer0计数到达限定值(LIMIT0)之后,进入中断向量号为16的中断服务子程序,代码如下: #pragma Code(“timer_int“) _Interrupt void TIMER0_ISR(void) timer0_count+; _sr(IE | NH, TIMER0_CONTROL); /清除中断挂起 #pragma Code() 此中断服务子程序对变量timer0_count进行了递增操作,并对Timer0的控制寄存器IE域进行了清中断处理。 最后简要阐述如何使用软件包中的gmake命令来编译、运行和调试应用实例: 1)启

33、动cmd命令行并进入I/O库目录,编译所有外设驱动。 gmake 2)进入LED实例目录,编译源文件。 gmake clean all 3)编译生成elf可执行文件后,运行程序。 使用mdb命令行模式运行程序: gmake run 使用mdb图形界面GUI模式运行程序: gmake gui 8.5 小结 本章中,首先在硬件方面介绍了ARC EM Starter Kit开发板套件中所包含的内容(底板、传感器等),软件方面介绍了该套件中所 含的软件包(裸机程序和带操作系统的应用程序)。其次,对开发板进行了细致的阐述,包括开发板所包含的外设、外设控制器等,同 时也阐述了Pmod的配置和连接、各类外设

34、在底板上的连接情况、不同EM核的不同配置情况。再次,介绍了开发板(开发板的连接、 不同的操作模式下的使用)使用方法,并且使用裸机和带操作系统的应用程序例子巩固了开发板的使用。最后,用一个综合实例让读者 熟悉利用ARC EM Starter Kit开发板开发应用程序的完整流程,掌握对开发板上不同外设的使用(LED点亮和中断的使用)。 下一章将介绍一应用程序实例,让读者更加熟悉ARC内核,并利用ARC EM核、开发板、开发工具来进行以后的嵌入式开发工作。 第9章 开发实例:温度监测与显示 第8章详细介绍了ARC EM Starter Kit FPGA开发板的相关内容,本章将通过一个综合开发实例,系

35、统介绍如何基于Synopsys ARC EM处理器进行嵌入式开发。 9.1 系统简介 众所周知,科学合理的温湿度环境在工业生产、运输、存储等环节的质量安全方面已处于一个十分重要地位。为此,基于ARC EM 处理器开发一款温度自动监测终端模块,实时监测环境温度,并且对采集的数据进行综合管理。ARC EM处理器具有最优的性能功耗 比,且面积开销小,满足传感器网络无线传输、低功耗、低成本、分布式和自组织等特点,适用于温度监测终端系统。 本章将重点系统地介绍如何基于ARC EM Starter Kit开发板来设计一款温度自动监测模块。该模块采用了两个外设模块(Pmod) 来进行温度数据的采集和显示,A

36、RC EM处理器进行系统采集数据的综合处理。同时本章附有开发板软件包包含该实例源码。 基于ARC EM Starter Kit开发板的实时温度自动监测模块结构如图9-1所示。 图9-1 基于ARC EM Starter Kit的实时温度自动监测模块框图 本实例要实现的功能如下: 实时监测外界温度,并能提供华氏度和摄氏度两种显示方式。 在标准输出设备(上位机串口终端)上分别输出两种计量方式的实时温度。 在LCD显示屏上分别输出两种计量方式的实时温度。 可通过板上按钮或上位机进行人机交互。 9.2 系统硬件设计 为了实现上述功能,本实例采用一个高精度的温度传感器模块Pmod TMP2来获取环境温度

37、,通过I2C串行总线把原始数据传递给 ARC EM处理器。 温度传感器采集而得的原始数据有两个用途,一方面是在温度自动监测模块上面实时的显示,另一方面是通过串口传递给上位机, 便于综合管理和保存。 基于ARC EM Starter kit开发板自带多个Pmod扩展口,可以方便地扩展功能,选用LCD显示屏模块PmodCLS负责在温度自动监测 模块上显示当前温度。 另外,ARC EM Starter kit开发板上两个按键和上位机的键盘,可以实现与温度自动监测模块的人机交互。 9.3 系统软件实现 9.3.1 软件设计 软件开发可分为底层驱动开发和应用层程序开发。底层驱动开发主要是针对UART驱动

38、、I2C驱动、SPI驱动、GPIO驱动以及LCD驱 动开展底层级驱动层和IO级驱动层的开发工作;应用层软件开发主要是实现预期的功能,涉及UART、GPIO和定时器中断子程序,使得 整个系统能支持多个Pmod模块。 首先是底层驱动的开发,系统底层驱动主要包含: I2C驱动,采集Pmod TMP2板数据。 GPIO终端子程序和驱动,控制系统开关及显示模式。 LCD驱动和SPI驱动,显示温度信息至LCD屏上。 UART终端子程序和驱动,上位机显示温度信息。 有了这些驱动,主程序就可以方便地调用对应的函数来实现这些功能,比如有了I2C驱动,在主程序中调用 i2c_init(i2c,I2C_STANDA

39、RD_SPEED,I2C_SLAVE_ADDRESS);进行I2C的初始化,然后调用 i2c_read(i2c,buf,2,TIMEOUT);就可以将Pmod TMP2采集的温度原始数据传入buf数组内,接下来的代码就能对获取到的温 度数据进行下一步的处理。 同理,为了实现SPI通信、LCD显示、UART通信等功能,就必须有对应的驱动程序支持。 应用层软件的开发是与本实例的具体功能紧密结合在一起的。比如为了监测温度自动监测模块是否正常运行,需要用定时器的中断 子程序控制一个LED灯闪烁。在实际应用场景中,应用层开发需要温度自动监测模块实现如下功能: 1)心跳功能,用一个LED灯的闪烁来标识系统

40、是否正常运行。 2)获取温度功能,处理传感器读取的数据,计算摄氏/华氏温度。 3)开发板按键功能,在LCD屏、上位机切换摄氏/华氏温度显示。 4)键盘控制功能,上位机对温度自动监测模块的直接控制。 软件层次结构图如图9-6所示。 图9-6 实时温度监测系统软件层次结构图 实时温度自动监测模块软件开发自顶向下的流程图如图9-7所示。系统上电对所有控制器和外设初始化,包括LCD屏、Timer、 UART和GPIO中断子程序。实时监测到温度传感信息之后将相应华氏或者摄氏温度输出在LCD和终端中。 图9-7 实时温度监测软件流程图 9.4 调试与运行 9.4.1 选择FPGA映像 ARC EM Sta

41、rter Kit开发板上拨码开关SW1的pin1和pin2用于FPGA映像的选择。在本实例中,选择的内核为ARC_EM4,即pin1 和pin2都处于OFF状态。 9.5 小结 本章通过一个综合实例介绍ARC EM Start Kit开发板的使用,实例中用到了GPIO、UART、TIMER、TemperSensor和LCD等模 块。 本章首先对温度检测系统进行了概述,然后介绍了实现整个系统所需要的硬件及配置和连接方式。接下来分析了软件结构,包括软 件层次结构图和软件流程图,给出了样例代码,实现了各模块的相应功能,并对其中的关键部分进行了详细的注解。最后简要讲解了调 试运行步骤和运行结果。 希望

42、通过本章的设计实例,能让读者在实际操作中熟悉ARC EM Start Kit的开发流程,了解ARC EM处理器的基本使用方法。 第10章 ARC EM可配置性 假设需要去一家超市购买5升牛奶,但是店里提供的只有3升和7升这两种包装,则我们实际的需求不能被非常准确地满足。市场上 提供的东西总会引入额外的成本,多一点花费,或者多一点时间,诸如此类。或许会想如果所有的货物都可以被定制为刚好符合自己需 要的模样,而不用有其他浪费,那就堪称完美了。ARC EM处理器就刚好具有这样的定制特性,称为可配置性。 本章将讨论EM处理器的可配置性属性,并介绍如何在处理器设计中利用这种可配置性实现优化设计。以Cac

43、he及硬件乘法器为例 说明可配置的程度及软硬件协同工作的原理,同时会比较可配置处理器与固定配置处理器在具体设计时具有的相对优势。 10.1 可配置性优点 ARC EM处理器的可配置性具有两个基本含义:首先处理器提供各种不同的基准模板,这些模板以ARC EM4或者EM6处理器为中 心,或者使用其他类型ARC处理器,包含一系列具有多种可配置特性的模块。其次,可以根据最终应用需求增加需要的硬件加速模块, 或者删除模板中不需要的模块,这样构造一个适用于特定应用的,具有独一无二结构,而且模块属性也是针对最终应用而优化的处理 器。 这种可配置性给设计带来了很大的灵活性,其优势主要体现在: 处理器是针对特定

44、应用而进行优化的,删除无用的硬件资源,以减少最终芯片面积、降低功耗,在不影响性能的条件下降低了成 本。 在软件实现某些应用的时候,如果不能满足应用要求,可以使用相关的硬件资源进行加速。 已经经过产业化验证的芯片结构在后续升级时只需要经过很小的改动即可以投入使用,重用率得到提高,从而减少了再次开发难 度,加快了产品上市时间。由于核心结构不变,却可以通过增加功能模块的方式来提高处理器处理能力,处理器也不会由于无法适应应 用的改变而过快被淘汰。对于深嵌入式应用(如物联网),由于仅仅需要一些最基本的接口,可以使用这种配置性来极大地减小功耗。 但是无论使用何种结构,在面积、功耗和性能之间的综合考虑始终是

45、在处理器结构设计时不能回避的问题。 10.2 基准模板 配置ARC EM处理器的软件是ARChitect,是由Synopsys公司开发的ARC IP提取工具。该工具可以接收包含处理器信息的IP库和包 含参考设计信息的IP库(RDF IP library)作为输入,根据使用者要求配置后输出相关处理器的RTL和基本功能测试代码。 首先需要设置ARChitect的输入IP库,步骤如下。 1)启动ARChitect软件(GUI):在cmd命令行中输入ARChitect2。 2)选择Project-Default Properties-Libraries-Add按钮。 3)找到库所在的位置,选中它们并完

46、成添加步骤。 图10-1给出了添加完成的例子。所有的库中有一个master库,它是整个处理器的核心库文件,另外还有若干扩展库文件,属性为 extension。图10-1中高亮的部分是一个master库文件。 图10-1 EM IP库 添加完成后,会在GUI界面的左侧看到很多不同的处理器模块。如图10-2所示是explorer栏的内容,其中Processor element列出 一系列可以加入处理器的资源,其他栏中的模块也可以添加到处理器外围结构中,以提供完整的仿真环境。 添加到ARChitect中的库提供很多预先设置好的基准模板。点击File-New Project会打开一个新的对话框,在对话框左侧会看到 很多已经存在的模板。图10-3给出了针对前面添加的库可以选择的模块对话框。 可以选择一个模板,从模板提供的内容开始处理器的设计。选中之后的模板会被高亮,该模板的主要特性会在描述选项中列举出 来,如图10-3所示。在图10-3中选择了

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/环境 > 建筑资料


经营许可证编号:宁ICP备18001539号-1