第二章定制单用途处理器(23.41)_第1页
第二章定制单用途处理器(23.41)_第2页
第二章定制单用途处理器(23.41)_第3页
第二章定制单用途处理器(23.41)_第4页
第二章定制单用途处理器(23.41)_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

嵌入式系统设计:软硬件统一第二章定制单用途处理器引言

组合逻辑

时序逻辑

定制单用途处理器的设计4123概述5RTL定制单用途处理器的设计处理器用于执行特定计算任务的数字电路控制器和数据路径通用型:多种计算任务单用途型:一种特定的计算任务定制单用途型:不规范任务定制单用途处理器的特点优点:性能好、体积小、低功耗缺点:NRE成本高,上市时间较长,灵活性较低MicrocontrollerCCDpreprocessorPixelcoprocessorA2DD2AJPEGcodecDMAcontrollerMemorycontrollerISAbusinterfaceUARTLCDctrlDisplayctrlMultiplier/AccumDigitalcamerachiplensCCD引言硅片上的CMOS晶体管数字系统的基本电子元件功能类似于开关通过栅极(gate)电压控制源极(source)-漏极(drain)的电流晶体管sourcedrainoxidegateICpackageICchannelSiliconsubstrategatesourcedrainConductsifgate=11CMOS晶体管的应用CMOS:互补金属氧化物半导体电平的表示0为低电平,1为高电平两种基本类型:nMOS:gate=1时导通pMOS:gate=0时导通(所谓“互补”)基本门Inverter,NAND,NORinverterxF=x'10F=(xy)'x1xyyNANDgate01F=(x+y)'xyxyNORgate0gatesourcedrainnMOSConductsifgate=1gatesourcedrainpMOSConductsifgate=0基本逻辑门F=xyANDF=(xy)’NANDF=xDriverF=x’InverterxFxFxyFFxyx0y0F0010100111x0y0F1011101110xF0011xF0110基本逻辑门F=xyXORF=x+yORF=(x+y)’NORxyFxyFxyFF=xyXNORFyxx0y0F0011101111x0y0F0011101110x0y0F1010100111x0y0F1010100110组合逻辑设计A)

题目:如果a为1,或者b和c都为1,则y为1。如果b或c为1,但b和c不同时为1(或a,b和c都为1),则z为1。

D)输出函数简化000101111001010111abcyy=a+bc000101111000101111zz=ab+b’c+bc’abcC)输出函数y=a'bc+ab'c'+ab'c+abc'+abcz=a'b'c+a'bc'+ab'c+abc'+abcB)真值表1011111011111110010101001011101001000000InputsabcOutputsyzE)逻辑门abcyz组合元件WithenableinputeallO’sare0ife=0Withcarry-ininputCisum=A+B+CiMayhavestatusoutputscarry,zero,etc.O=I0ifS=0..00I1ifS=0..01…I(m-1)ifS=1..11O0=1ifI=0..00O1=1ifI=0..01…O(n-1)=1ifI=1..11sum=A+B(firstnbits)carry=(n+1)’thbitofA+Bless=1ifA<Bequal=1ifA=Bgreater=1ifA>BO=AopBopdeterminedbyS.n-bit,mx1MultiplexorO…S0S(logm)nnI(m-1)I1I0…lognxnDecoder…O1O0O(n-1)I0I(logn-1)…n-bitAddernABnsumcarryn-bitComparatornnABlessequalgreaternbit,mfunctionALUnnAB…S0S(logm)nO时序元件Q=0ifclear=1,Iifload=1andclock=1,Q(previous)otherwise.Q=0ifclear=1,Q(prev)+1ifcount=1andclock=1.clearn-bitRegisternnloadIQshiftIQn-bitShiftregisterQ=lsb-Contentshifted-Istoredinmsbn-bitCounternQclearload时序逻辑设计A)题目:设计一个脉冲分频器,减慢原有脉冲,每四个脉冲输出一个1。0123x=0x=1x=0x=0a=1a=1a=1a=1a=0a=0a=0a=0B)状态图C)实现模型CombinationallogicStateregisteraxI0I0I1I1Q1Q0D)真值表(摩尔型)1011111011111000010101001011101001000000InputsQ1Q0aOutputsI1I01000x通过实现模型,将时序逻辑设计转化成组合逻辑设计。时序逻辑设计001

Q1Q0

I1

I1=Q1’Q0a+Q1a’+Q1Q0’0111010

0011

10

a010001011

00

01

11

a1

10

I0

Q1Q0I0=Q0a’+Q0’a010001100

00

01

11

10x=Q1Q0

x010

aQ1Q0E)化简输出方程F)组合逻辑a

Q1

Q0

I0

I1

x单用途处理器基本模型控制器和数据路径控制器和数据路径内部结构……控制器数据路径……状态寄存器次态与控制逻辑寄存器功能单元控制器数据路径……外部控制输入外部控制输出数据路径控制输入数据路径控制输出…外部数据输入…外部数据输出示例:最大公因数0:intx,y;1:while(1){2:while(!go_i);3:x=x_i;4:y=y_i;5:while(x!=y){6:if(x<y)7:y=y-x;else8:x=x-y;}9:d_o=x;}

(b)功能y=y-x7:x=x-y8:6-J:x!=y5:!(x!=y)x<y!(x<y)6:5-J:1:1!1x=x_i3:y=y_i4:2:2-J:!go_i!(!go_i)d_o=x1-J:9:

(c)状态图设计算法将算法转化为状态机带有数据路径的有限状态机使用模板完成转化(a)框图GCDx_iy_id_ogo_i状态图模板赋值语句a=b下一条语句a=b下一条语句循环语句while(cond){

循环体语句}下一条语句循环体cond下一条语句!condJ:C:分支语句if(c1)

c1语句elseifc2c2语句else

其它语句下一条语句c1c2语句!c1*c2!c1*!c2下一条语句其它语句c1语句J:C:创建数据路径为声明过的变量定义寄存器为算术运算建立功能单元连接输入/输出端口、寄存器和功能单元寄存器与变量间的连接,以数据的读写为基础当多个数据源连接到一个寄存器时可应用数据选择器。为数据路径的每个输入和输出建立唯一的标识符创建数据路径d_o

subtractorsubtractor7:y-x8:x-y6:x<yx_iy_i0:x0:y9:dn-bit2x1n-bit2x1x_sely_selx_ldy_ldx_neq_yx_lt_yd_ld<5:x!=y!=数据路径y=y-x7:x=x-y8:6-J:x!=y5:!(x!=y)x<y!(x<y)6:5-J:1:1!1x=x_i3:y=y_i4:2:2-J:!go_i!(!go_i)d_o=x1-J:9:创建控制器的FSMy_sel=1y_ld=17:x_sel=1x_ld=18:6-J:x_neq_y5:!x_neq_yx_lt_y!x_lt_y6:5-J:d_ld=11-J:9:x_sel=0x_ld=13:y_sel=0y_ld=14:1:1!12:2-J:!go_i!(!go_i)go_i0000000100100011010001010110011110001001101010111100控制器此FSM与其FSMD具有相同的状态和状态转换关系。将复杂的操作和条件专程数据路径中的布尔操作和条件y=y-x7:x=x-y8:6-J:x!=y5:!(x!=y)x<y!(x<y)6:5-J:1:1!1x=x_i3:y=y_i4:2:2-J:!go_i!(!go_i)d_o=x1-J:9:控制器和数据路径y_sel=1y_ld=17:x_sel=1x_ld=18:6-J:x_neq_y=15:x_neq_y=0x_lt_y=1x_lt_y=06:5-J:d_ld=11-J:9:x_sel=0x_ld=13:y_sel=0y_ld=14:1:1!12:2-J:!go_i!(!go_i)go_i0000000100100011010001010110011110001001101010111100控制器控制器实现模型y_selx_selCombinationallogicQ3Q0Stateregistergo_ix_neq_yx_lt_yx_ldy_ldd_ldQ2Q1I3I0I2I1

subtractorsubtractor7:y-x8:x-y5:x!=y6:x<yx_iy_id_o0:x0:y9:dn-bit2x1n-bit2x1x_sely_selx_ldy_ldx_neq_yx_lt_yd_ld<!=(b)数据路径GCD示例的控制器状态表InputsOutputsQ3Q2Q1Q0x_neq_yx_lt_ygo_iI3I2I1I0x_sely_selx_ldy_ldd_ld0000***0001XX0000001**00010XX0000001**10011XX0000010***0001XX0000011***01000X1000100***0101X001001010**1011XX00001011**0110XX0000110*0*1000XX0000110*1*0111XX0000111***1001X10101000***10011X1001001***1010XX0001010***0101XX0001011***1100XX0011100***0000XX0001101***0000XX0001110***0000XX0001111***0000XX000完成GCD定制单用途处理器设计设计数据路径得到下一状态和控制逻辑的状态表只剩下组合逻辑的设计虽然并不能得到最优设计,但是能够反映设计的步骤。控制器和数据路径内部结构……控制器数据路径……状态寄存器次态与控制逻辑寄存器功能单元RTL定制单用途处理器设计RTL(RegisterTransferLevel):描述寄存器间数据的转移RTL单用途处理器设计:由于编程语言一般不支持逐周期的描述,采用编程方式效果不佳通常从状态机着手进行设计Example将4bits数据总线接受的数据转换成8bits,传送到8bits数据总线的4-8bits桥接器RTL定制单用途处理器设计问题规范4-8bits桥接器4位数据通过data_in输入8位数据通过data_out输出,rdy-_in表数据到来,rdy_out表转换完成。发送端data_in(4)rdy_inrdy_outdata_out(8)接受端clockInputsrdy_in:bit;data_in:bit[4];Outputsrdy_out:bit;data_out:bit[8]Variablesdata_lo,data_hi:bit[4];FSMDWaitFirst4RecFirst4Startdata_lo=data_inWaitSecond4rdy_in=1rdy_in=0RecFirst4Endrdy_in=1RecSecond4Startdata_hi=data_inRecSecond4Endrdy_in=1rdy_in=0rdy_in=1rdy_in=0Send8Startdata_out=data_hi&data_lordy_out=1Send8Endrdy_out=0Bridgerdy_in=0

rdy_inrdy_outdata_lodata_hidata_in(4)(b)

数据的路径data_outdata_out_lddata_hi_lddata_lo_ldclk至所有寄存器data_outRTL定制单用途处理器设计(a)

控制器BridgeWaitFirst4RecFirst4Startdata_lo_ld=1WaitSecond4rdy_in=1rdy_in=0RecFirst4Endrdy_in=1RecSecond4Startdata_hi_ld=1RecSecond4Endrdy_in=1rdy_in=0rdy_in=1rdy_in=0Send8Startdata_out_ld=1rdy_out=1Send8Endrdy_out=0rdy_in=0优化单用途处理器优化就是使设计指标的值达到最好可优化的方面:原始程序FSMD数据路径FSM优化原始程序分析程序的用途并寻找可改进的地方计算模块的数量变量算法的时间和空间复杂度应用乘法和除法的会引入巨大的运行开支优化原始程序0:intx,y;1:while(1){2:while(!go_i);3:x=x_i;4:y=y_i;5:while(x!=y){6:if(x<y)7:y=y-x;else8:x=x-y;}9:d_o=x;}

0:intx,y,r;1:while(1){2:while(!go_i);//xmustbethelargernumber3:if(x_i>=y_i){4:x=x_i;5:y=y_i;}6:else{7:x=y_i;8:y=x_i;}9:while(y!=0){10:r=x%y;11:x=y;12:y=r;}13:d_o=x;}原始程序优化后的程序用取模运算代替减法运算来优化程序

GCD(42,8),9次迭代得出结果:(42,8),(43,8),(26,8),(18,8),(10,8),(2,8),(2,6),(2,4),(2,2).GCD(42,8),3次迭代得出结果:(42,8),(8,2),(2,0)优化一般可

温馨提示

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

评论

0/150

提交评论