下载  >  开发技术  >  其它  > 论文研究-基于CPLD的微处理器软硬件设计 .pdf

论文研究-基于CPLD的微处理器软硬件设计 .pdf 评分

基于CPLD的微处理器软硬件设计,杨明君,Paolo Camurati,CoolRunner II CPLD是Xilinx公司最新开发的一个可以任意裁剪的软核。有最新配套的Xilinx ISE集成开发工程软件可以轻松的完成对硬件模块的描��
国武技论文在线 http:/www.paper.edu.cn 85对我们所要设计的汇编语言进行深入的研究和分析,完成词法分析,语法分析,语法编码转 换和微处理器指令序列的生成[5]。下面是一个汇编语言的一个文法描述 G=(N, T,P, S n-<assembler program>, <data segment>, <code segment>, <data item>, <data name>, <data type>, <data size>, <symbol set>, <number set>, <code item>, <control group >, <shift and 90 rotate group>, <logical group>, <arithmetic group >, <input and output group >, <interrupt group > <address symbol>, < control instruction>, <condition symbol, shift and rotate instruction> <register set>, <logical instruction>, <operand2:>, arithmetic instruction>, input and output instruction>, interrupt instruction>, <interrupt mode>, <nI>, T=DW, DB, DD,Z, NZ. C,NC, jump, call, return, load, and, or, xor, add, addy, sub 95 subc, mul, mulcy, div, divcy, input, output, interrupt, returni, enable, disable, srO, srl, sIx, sra, s10, sll,slx,sla,rl,s0.s1,S2,s3,s4,s5,.6,S7,0,1.2,3,4.5,6,7,8,9,a,b,c,d,e,f,g,h,i,j,k,l,m, n,0,p,q,r,s, t,u,v,W,x,y, z, A, B, C, D,E, F, G, H, I,J, K, L, M,N, O, P, Q,R,S, t, U,V, w ,Y,Z,,:,e} P={ <assembler program>-<data segment><code segment> <data segment> -><data segment><data item><nl>s <data item>-><data name ><data type><data size> <data name>-<symbol set < data type>→ DWDBDL < dala si∠e>→< number set> <code segment>=<code segment ><code item><nI>8 <code item>><control group>k<shift and rotate group>k<logical group>arithmetic group >input and output group><interrupt group> <control group>-<address symbol><<control instruction><condition symbol><symbol set> 110 symbol set>=[a-zA-Za-ZA-Z0-91 <address symbol:>-<symbol set>: c <control instruction>- jumplcallrcturn Condition symbol>ZNZ,C,NC, E shin and rotate group >-<address symbol>< shill and rotate instruction><register set> 115 shift and rotate instruction>-> srO/srl srxsrasIOsll slx sarl <register set>-s0l sl s2 s3 s4 s5 s6)s7 <logical group>- <address symbol><logical instruction>register sct>, <opcrand2> logical instruction>- loadJandor xor <number set>=([1-9][0-9]*)0 120 <operand2>-<register set>number set <arithmetic group >-><address symbol>< arithmetic instruction><register set>, operand2> arithmetic instruction>- addaddcy/sub/subcy Input and output group>- <address symbol> input and output instruction><register set>, operand2> 125 <input and output instruction?input output interrupt group>-><address symbol><interrupt instruction><interrupt mode> interrupt instruction> interrupt returni <interrupt mode>- enable disable <nb>→[ orrin]+ 130 3 国武技论文在线 http:/www.paper.edu.cn S=<assembler program> 在前面的描述文法中,G表小的是一个编详程序的一个文法,N是非终结符集合,T是 终结符集合,P是汇编语言文法描述集合,S是廾始非终结符。它是一个基木的汇编程序框 架,在这个框架的基础上,我们可以丰富和优化这个基础结构去满足我们特殊的需求。例如 135 Loopl: Load s7 init shifter reg Loop2: Output s7, 04 SLO hift left with o Jump nz, loop2 goto loop2 when s7>0 Jump loop 140 这是·个简单的汇编语言程序,如果我们需要加个乘法运算指令mul我们只是需要在 < arithmetic instruction>中添加终结符mul,还有在T中添加mu就可以了。如果我们需要把 位操作的单操作数改成双操作数只需要把< shift and rotate group>→< address symbol<shit and rotate instruction>< register set>替换成< shift and >- <address symbol>< shift and rotatc instruction>< srcgistcr sct, operand2>就可以了。如果我们需要调整汇编语言的机构 145添加堆栈段,我们只是需要把< assembler program→< data segment>< code segment>替换成 < assembler program>→< stack segment>< data segment< code segment>,然后我们就定义 stack segment>的文法。 完成了词法分析,语法分析以后,最后就是需要把汇编程序转换成汇编指令系统序列 木文采用的是映射机制来完成这一过程。我们首先必须建立两张映射表,一张是符号与信号 150量映射表,一张是信号量组合编码表。我们以一个16位的逻辑指令为例说明这两张表的作 用。如表格1,表示的是一个16位逻辑指令的格式,第1位到第§位表示指令的操作码, 第6位到箐8位表示寄存器编号,第9位到第l位可能表示寄存器编号,第9位到第16 位可能表示一个常数。根据逻辑指令的文法规则检索符号与信号量映射表,査找汇编程序符 号对应的信号量进行替换。如果编译过程中不清楚某些符号的位数可以检索信号量组合编码 155表,比如说岀现一个常量,可以根据表中的佶进行相应的编码。 表1:16位逻辑指令格式 Tab I: the Format of 16-bit Logic Instruction 11111xxxYYYk 160 表2:符号与信号量映射表 Tab 2: map of symbol and signal 符号表 信号量表 LOAD 00000 AND 00001 OR 00010 XOR 00011 000 001 010 l00 101 l10 S7 4 国武技论文在线 http:/www.paper.edu.cn 表3:信号量组合编码表 Tab 3: Combination Table of signals 属性 位数 <register set> <logical instruction> 170 指令系统硬件实现形式 通过汇编编译系统完成目标汇编程序代码的编译以后,我们就得到了汇编程序指令序列 集合。现在,编译系统需要把得到的汇编程序指令序列和微处理器连接起米,才能让微处理 器执行汇编程序指令序列。有两种实现方式:一种是采取时序部件,另一种是采用组合逻辑 部件。时序部件是根据时钟事件和地址寄存器的值,向微处理器发送汇编程序指令序列;组 175合逻辑部件是根据地址寄有器值的变化,向微处理器发送汇编指令序列。两种方式都有各自 的优点和缺点。这两种部件都需要把汇编稈序指令序列嵌入到部件中。所以编译系统在完成 编译以后,应该根据用户的需求自动生成所需要的程序存储部件。 跨平台指令系统的研究 跨平台使应用程序在不同的硬件设备上的应用。在硬件水平上设计跨平台操作,有助于 180汇编程序指令序列可以在不同的设备上运行,增加指令序列的可移植性。随着网终的发展, 各种于持设备的应用,增强指令序列的可移植性变的比较强烈。在现在社会的跨平台应用主 要是通过软件实现,比如说JAVA平台。相对于软件基础上实现跨平台,在硬件水平上实现 跨平台有速度上的优势,降低了软件系统结构的复杂度,从而降低了对硬件性能需求的,有 助于指令序列在不同的使件设备的应用,有利于将来的网终资源合理的分配与利用,比如说 185让很庞大的程序分割成数小段在网络主机上分别联合计算。实现使件水平的跨平台操作只是 需要在微处理器和指令序刎的中间加上一个指令映射部件(如图1)。把标准的指令序列转 化成为微处理器需要的指令序列,让后在微处理器中执行。例如,16位指令序列在32位微 处理器上运行,假定指令标准设定前者的指令集合是后者指令集合的子集。那么就可能 对应的信号量编码,那就可以一一进行替换,指令替换,寄存器替换,常量替换等。就可以 190实现16位指令序列跨平台的应用。 G Instructions llow Mapping instructions low 图1:硬件水平上跨平台模犁 Fig 1: Cross-Platform Based on Hardware Level 结构设计 结构设计是微处理器设计的核心设计,是其他各个部件设计的基础。结构设计的好坏直 接影响整个微处理器设计的成败。微处理器结构设计的日标是,维护简单,加减指令容易, 195修改内容少,尽量的保持微处理器框架结构的稳定不变,区域化修改。在这个框架体系中很 容易的整合新指令,而不影响其他指令的执行,增强指令之间设计的独立性。不仅仅是简单 的逻辑指令,还包括控制流指令在内的所有指令[6] 国武技论文在线 http:/www.paper.edu.cn 在大部分微处理器结构设计思想中,控制单元是微处理器结构中的核心部件,它控制着 所有其他的微处理器部件的工作状态。在传统的微处理器结构设计中,控制单元的设计是徼 200处理器设计中最为复杂困难的部分之一。控制单元的实现机制就目前来说冇两种选择:一种 是有限状态机(FSM),另一种是控制字(CW)。有限状态机方式控制灵活,结构简单清 晰,设计方案相对固定,容易构成性能良好的冋步时序逻辑模块,程序层次分明,可读性好 在高速运算和控制方面有巨大的优势。但是在微处理器部件的维护控制方面差强人意。控制 字方式维护控制灵活,容易构建微处理器框架结构ε但是没有淸晰的控制状态流,可读性差。 205在日前绝大部分的微处理器设计的控制单元都是采用两种方式中的一种,或者是对两种方式 的改造应用。如: Moore状态机和 Mealy状态机。 在本文微处理器设计中,我们决定打破传统的控制单元设计方式综合有限状态札和控制 字的结构,发挥有限状态机和控制字的优势,消除或缩小他们的弜势。在我的设计中采用的 是有限状态机的原理米控制控制字来运作部件控制状态流(如图2)。实现方式是在有限状 210态机的状态中添加一个控制字的状态,根据不同指令的需要,会提供不同数值和数量的控制 字状态流(如表4)。这样设计可以有效的控制微处理器的每一个控制状态流情况,也可以 更佳容易对各个微处理器的部件的进行控制,维护简单,增减指令便捷。 PC IR F 图2:有限状态机,S开始状态,PC地址寄存器状态,IR指令寄存器状态, CW控制字状态,E结束状态 Fig 2: FSM, Start(S), Program Counter(PC), Instruction Register(IR), Control Word(Cw), End(e) 表4:控制字样表,控制字每一位分别表示,读寄存器1,读寄存器2,AIU计算,写寄存器,读存储器, 215 写存储器,乘法器(4个时钟周期) Tab 4: Sample Table of Control Word, each bit mean, read regl, read reg2, ALU execute, write reg, read mem, ite mem, multipler(4 circles) 指令 控制字1 控制字2控制字3 控制字4 控制字5 addax 1011000 1010000 SUOvX 1111000 1110000 vainu l10000l l100001110000 l101001 1100000 1000010 1000000 在微处理器设计过程中,控制字的复杂性远远超过了的表4。由」在设计过程中设计要 220求中只是需要用两个周期完成所有指令的设计,所以就固定了控制字状态(如图3)。在编 码设计过程中,首先定义控制字表,设计好所有指令的控制字状态,如果有相同控制字状态 的指令,合并控制字状态,节约资源,图中第一行代码就是 Interrupt指令的控制字状念。在 uPc Proc中根据指令的操作码 Opcode,用哈希函数的方式找到对应指令的控制字状态,在 时钟的控制下发送不同的控制字状态,让整个有限状态机运作起来,当然可以根据实际情况 225调整有限状态杋的结枃。这样设计旳好处是整ˆ微处理器的结构比珓凊晰,控制方便,维护 方便。但是需要耗费一定的资源。 国武技论文在线 http:/www.paper.edu.cn 百日 010020000010102","10000000000000p",- Interrupt 59 020000000000001r100000000000000"); f1 begin 02 wP已Prsa: process (CLR,Es variable sel opcode : t selopcodei 4 arable ir index integer range 0 to 32: 西5 ariabile upc index integer range 0 to CLK CrCLES-1i ariabie upc clock integer range o to CLK CYCLES-IF 7 cen三七 ant noa工R :t busIR : (others =2 0); be可n 9 iE RsT ='or then 70 < SET IR (IJF 1E⊥丑deX:=0 72 upc index :=0; 73 uc卫。上 74 alge 75 ⊥cLK! e vent and clR=1·then 76 ifIR=NOP工 i then ir index.=a 78 e三e 79 sei opcode : IR(ER OPCode downto To oPcoDE)i 80 1E⊥ndex:=conw⊥ nteger(se】 opcode)十1 8I end if 82 =SE工E红E⊥ndex"2十 upe clock} 83 if upc cloek CLK CYCLES-1 then 5 upc clock : upc clock else 87 upcc2。ck:=0 end if end Ifi 90 end pr。 cess uPC Proc 92 end CU RTLA 图3:控制单元编码 ig. 3: Code of Control Unit 结论 本文设计重点是对编译系统和微处理器结构进行分析与研究。 编译系统设计过程中,主要是分析指令系统的设计,汇编编译系统物理实现和在硬件水 平上实现跨平台的实现。主要是为了对编译系统复用,还有这种指令系统下设计的软件在不 同的设备下的可移植性进行研究 微处理器设计采用的是原型开发模型,是一个构架、实验、优化、维护的循环过程。主 要目的是为了在这一个过稈中寻找一种更为优化的一个微处理器结构。成功的对样本汇编程 235斥指令序列进行测试(如图4),通过了模拟综合仿真物理实验,确定了本设计的可行性。 通过这次微处理器设计,我们积累了许多实际的设计经验。在对硬件设备进行设计时, 我们必狈充分了解我们的实验工只,比如说集成开发环境 Xilinx ise的认识, Xilinx CooRunner- II CPLD廾发板的了解,清楚的知道有多少资源可以利用。合理的设计硬件结 构,计划的完成各个组成部件。在关于吋序部件和组合逻辑部件的时钟分配问题上,尽量 240用吋序部件多用组合逻辑部件,因为组合逻辑部件不占用时钟周期。如果在吋序部件很多的 情况下,时序部件在逻辑上有顺序关系,建议采用串行组织结构。图4中指令寄存器 tester 国武技论文在线 http:/www.paper.edu.cn 和地址寄存器 bus add存在明显的先后顺序关系,所以采用的是串行。指令寄存器 tester和 寄存器单元写操作 testregin是不相关的两个部件,应该采用并行,分享时钟周期 L 畴 testa ui?27.01c4 Uc U 4 testa uout[7: 0]fo 嗯 testred12111 d testee 2[2: 01 嗯 Lest: yin[70 78 f 嘲 testregou-I[7:28 Md testregou: 2[7: 5] Irr 2b1×40002261X400X21X402261400cX6b1X4c00X2201X400X1X4 d test r115:]a184 I a100 alec a104 Md testmllepr[ 0] c4 ir[5:0] alcE I alec 3901 0XC300 bus addr7:1|∈a 腿bus_out7:0 X1.22n5 图4:样本时序图 Fig 4: Timing Diagram of Some Sample 在以后的微处理器改计中,我个人认为应该加深对在哽件水平上的跨平台研究,有利于 实现各种软件应用在不同硬件设备上的通用性,有利」各种网络设备资源联合应用提供了 种设计方式,有利于简化软件的体系结构。 参考文献 250 L1D. Antonio-Torres. A PicoBlaze-Based Embedded System for Monitoring Applications[Z Paris: Tecnologico de monterrey campus puebla, 2009 [2] Xilinx, Inc. thc Refcrcncc Manual of Picoblazc 8-Bit Microcontroller for CPLD Devices[R]. American: Xilinx, InC. XAPP387 2003 3」ⅹlinx,Inc.XilinxISELOL.2002」http://www.xilinx.com/isc 255 [4]A V. Aho, M.S. Lam, R. Sethi, J D. Ullman. Compiler: Principles, Techniques, and Tools, 2/E[M]. American Addison-Wcslcy, 2006 [5]JE Hopcroft, R Motwani, J D. Ullman. Introduction to Automata Theory, Languages, and Computation [M] American: Addison-Wesley, 2001 [6] Michael Gschwind, Dietmar Maurer Maurer. An extendible MiPS-I processor kernel in VHDL for 260 hardware/software co-design[Z]. Wien: EURO-DAC, 1996 8

...展开详情
所需积分/C币:6 上传时间:2019-08-21 资源大小:447KB
举报 举报 收藏 收藏
分享 分享
论文研究-基于C语言的正交码的软件方案研究 .pdf

基于C语言的正交码的软件方案研究,徐光宪,刘建辉,正交编码是码分多址通信的关键技术之一,正交码的软件实现给出了不同CDMA编码体制的转换与沟通问题的解决途径。本文提出了基于并��

立即下载
论文研究-基于C/S和B/S的集装箱信息系统的研究与设计 .pdf

基于C/S和B/S的集装箱信息系统的研究与设计,吴淑,,港口物流中心的集装箱信息系统是融合多种信息技术和自动化技术的系统,该系统不仅能对集装箱装卸船状态、堆场调度、进出港口等进

立即下载
论文研究-基于C8051F310、AT89S52单片机的金属探测器的设计 .pdf

基于C8051F310、AT89S52单片机的金属探测器的设计,耿玉新,李提伟,本文介绍了金属探测器的工作原理,主要阐述基于C8051F310、AT89S52单片机控制的智能型金属探测器的硬件组成及主要功能。 该金属探测器�

立即下载
论文研究-基于C.pdf

论文研究-基于C.pdf,  传统数据包络分析(data envelopment analysis,DEA)方法的参照系为决策单元全体,而许多实际问题的参照系可能会有多种形式,因此用传统DEA方法评价该类问题时遇到困难,广义DEA方法在评价该类问题时则存在一定的优势. 为了进一步完善广义DEA方法的理论体系,给出基于C2W模型的输出型广义DEA模型. 讨论基于C2W模型的输入型和输出型广义D

立即下载
论文研究-基于C的CGI开发模板的实现 .pdf

基于C的CGI开发模板的实现,孙启龙,刘辉,嵌入式Linux环境中,动态web server尽管是网管软件的重要组成部分,但对其研发却缺乏严谨的软件框架和方便快捷的开发模板。本文介绍了

立即下载
论文研究-基于C 标准模板类库的全文检索算法 .pdf

基于C 标准模板类库的全文检索算法,张中文,张磊,目前对于汉字处理的检索技术还有待于进一步的研究,本文探讨了字索引技术在全文检索技术中的重要性,并提出了一种利用C 标准模板

立即下载
论文研究-基于C-MEMS的纳米线的制备及其热电性能的研究方法 .pdf

基于C-MEMS的纳米线的制备及其热电性能的研究方法,徐亮亮,习爽,大量的理论和实验证明,低维化能提高材料的热电性能。通过研究发现氮氧硅纳米线可能具有良好的热电性能。本文主要介绍了基于C-MEMS

立即下载
论文研究-基于C/S的WebGIS系统的开发 .pdf

基于C/S的WebGIS系统的开发,董明,刘佳,WebGIS是Internet和WWW技术应用于GIS开发的产物,是实现GIS互操作的一条最佳解决途径。从Internet的任意节点,用户都可以浏览WebGIS站点中的��

立即下载
论文研究-基于C4.5决策树方法的到港航班延误预测问题研究.pdf

论文研究-基于C4.5决策树方法的到港航班延误预测问题研究.pdf,  航班延误一直是机场运营管理的一大难题,建立有效的模型实现较准确的延误预测来协助机场方面采取应对措施,于机场于社会都有重要意义. 本研究提出一个面向机场的到港航班延误预测问题,对比现有的贝叶斯网络及朴素贝叶斯方法,结合航班数据的特点构建了基于C4.5决策树的航班延误预测模型. 针对国内某大型机场的真实数据集,本研究 设计了

立即下载
论文研究-基于C/S模式的校园通自行车管理系统 .pdf

基于C/S模式的校园通自行车管理系统,曾希君,,本文给出了一种基于C/S模式的校园自行车管理系统的设计与开发方案,本方案是根据当今部分高校校园公用自行车管理存在的一些缺陷而

立即下载
论文研究-基于C8051F120的无功补偿控制系统 .pdf

基于C8051F120的无功补偿控制系统,胡鹏,肖攸安,介绍了一种基于高速单片机C8051F120的无功补偿控制系统,该系统能够实时准确地采集电压、电流,通过FFT变换计算出各相关电量参数,投

立即下载
论文研究-基于C8051F340单片机的颜色识别系统设计 .pdf

基于C8051F340单片机的颜色识别系统设计,李丽芳,刘建月,由于传统的颜色识别系统的结构比较复杂,测量精确度较差的缘故,本文提出的新型的颜色传感器基本解决了原来存在的问题。该系统是

立即下载
论文研究-基于C-SVR软测量的污水处理厂曝气控制系统设计 .pdf

基于C-SVR软测量的污水处理厂曝气控制系统设计,苏鹏程,黄炜,本文以成都市某污水处理厂为背景,基于回归支持向量机的软测量提出一种新算法对溶解氧DO浓度,出水TN浓度,以及出水SVI等难于在线��

立即下载
论文研究-基于C51F005的电池SOC监测模块设计开发 .pdf

基于C51F005的电池SOC监测模块设计开发,杨光,王孝良,随着蓄电池应用的不断发展,对电池电量的精确测量也变得越来越重要。本文以铅酸蓄电池为研究对象,设计开发了一款以高性能单片机

立即下载
论文研究-基于C8051F314和MCP2515的CAN节点设计 .pdf

基于C8051F314和MCP2515的CAN节点设计,宋扩东,卢珞先,CAN总线上的节点是网络上报文的接收和发送站,一般由单片机和可编程的CAN通信控制器组成。 本文介绍了C8051F314单片机和一种新型的独��

立即下载
论文研究-基于C4.5算法的BBS反垃圾内容分析 .pdf

基于C4.5算法的BBS反垃圾内容分析,宋鉴,王枞,随着互联网的高速发展,不同形式的网站也大量涌现。同时,在经济利益的驱使下,垃圾网页也日益增多,如何提高用户检索信息的质量

立即下载
论文研究-基于 C8051的磁流变阻尼器可控恒流源设计 .pdf

基于 C8051的磁流变阻尼器可控恒流源设计,韩俊华,瞿伟廉,介绍一种高精度、可步进、可预置的基于C8051单片机控制的数字显示可控电流源的软件、硬件制作方法。该系统主要利用C8051单片机的片��

立即下载
论文研究-基于C 与surfer混合开发的叶绿素a浓度剖面图绘制 .pdf

基于C 与surfer混合开发的叶绿素a浓度剖面图绘制,王常颖,初佳兰,针对叶绿素a浓度在不同的水体深度均有分布这一特点,基于表层叶绿素a浓度数据与不同水深处测量的叶绿素a浓度数据,采用C Builder和S

立即下载
论文研究-基于C51单片机的精密达位电动转台控制系统设计 .pdf

基于C51单片机的精密达位电动转台控制系统设计,李辉,胡洲,本文提出了一种基于51单片机的精密达位电动转台控制系统设计方案。在控制回路中,依据角位给定值和反馈值,计算角位误差信号,然�

立即下载
ModbusTCP/RTU网关设计

基于UIP协议栈,实现MODBUS联网,可参考本文档资料,有MODBUS协议介绍

立即下载