一种利用FPGA嵌入式环形振荡器测量温度分布的装置和方法与流程

文档序号:14487951阅读:442来源:国知局
一种利用FPGA嵌入式环形振荡器测量温度分布的装置和方法与流程

本发明公开了一种利用fpga嵌入式环形振荡器测量温度分布的方法和实现装置,涉及半导体测量技术领域。



背景技术:

纵观集成电路的发展,随着制造工艺的提升,使得芯片的集成度大大增加,逻辑门数大大提高,芯片产生的功耗越来越大,造成芯片上的温度越来越高,电路的可靠性不断下降。因此了解芯片运行时的温度分布极其重要。但目前现有的技术测量芯片温度分布要么费用过于昂贵且具有破坏性,要么针对某种芯片特性采用特殊的测量手段,不具有普遍性,无法测量所有芯片的温度分布。针对现有技术的缺陷本发明提出利用fpga嵌入式环形振荡器测量外部芯片的温度分布。

本发明利用fpga内部资源搭建的可重构环形振荡器的延迟与温度的对应关系实现探测温度。被探测温度可以转换成一个随温度比例变化的时间信号,输出的频率被一个带扫描回路的计数器读出,然后通过串口传回到电脑的上位机,得到被测芯片各个不同位置的温度。通过不断扫描环形振荡器得到温度分布,改变传感器位置多次测量最终得到芯片的整体温度分布。



技术实现要素:

本发明的目的在于利用fpga内部的资源搭建可重构的智能温度传感器测量外部芯片的温度分布。

为实现上述目的,本发明采用的技术方案为一种利用fpga嵌入式环形振荡器测量温度分布的装置,该装置包括被测芯片101、fpga核心板102、usb转串口200、串口线201、温箱300、pc机400和串口传输软件401;温箱300通过usb转串口200、串口线201与pc机400连接;fpga核心板102设置在温箱300中;被测芯片101与fpga102连接,串口传输软件401设置在pc机400中。

所述的被测芯片101是fpga的芯片;

将搭建有智能温度传感器模块的fpga102放在温箱300中,通过串口线201来连接串口200将信号传输给温箱外部的pc机400,以此进行智能温度传感器的校准曲线的测量。

将被测芯片101与fpga102激光减薄封装并紧密贴紧,被测芯片101使用自身的可配置逻辑资源模拟热源,正常运作。fpga核心板102通过usb串口转换接头200以及串口线201接入pc机400。

一种利用fpga嵌入式环形振荡器测量温度分布的方法,fpga核心板102利用内部资源搭建可重构的智能温度传感器模块,该可重构的智能温度传感器模块包括环形振荡器和具有扫描回路的计数器和串口模块。环形振荡器模块主要是通过振荡反馈提供与温度成线性比例关系的脉冲宽度。具有扫描回路的计数器通过固定的时间周期记录出输出脉宽的频率,扫描回路用以测量多个环形振荡器输出频率的计数器,并不是同时测量每一路;每次测量一路,测量完成后依次测量下一路,直到所有环形振荡器的频率都被测量记录。串口模块是将计数器传出的跟输出频率有关的数字信号传送给pc机400。先将布满267个温度传感器的fpga核心板102放在温箱300中,通过串口线201来连接usb转串口200将信号传输给温箱外部的电脑400。通过在不同温度下的测量所得到的环形振荡器的频率,测量出传感器温度随输出频率的校准曲线。然后被测芯片101使用内部逻辑资源模拟热源,单个自加热元件由先进先出(fifo)块,查找表lut和触发器(ff)组成,翻转的输入信号由fifo写入并随时钟操作读出,然后通过四输入的查找表和时钟控制的触发器输出数据。输入信号被连接到时钟上以最大程度地用于加热fpga。使用使能信号来控制自加热元件。多个自加热元件构成串联布置的热源。通过连续翻转信号和时钟触发产生热量,并传递热量到fpga核心板102,通过不断扫描fpga核心板102内所有的温度传感器得到被测芯片101的温度分布,改变温度传感器的位置多次测量在pc机400得到被测芯片101运行时的温度分布。

附图说明

图1是fpga102校准的装置示意图;

图2是利用fpga嵌入式环形振荡器测量温度分布的实现装置示意图;

图3是智能传感器在fpga102上的分布图;

图4是芯片101内的自加热模块;

具体实施方式

首先在fpga102内利用其自身的内部资源搭建可重构的智能温度传感器模块,其中包括环形振荡器,具有扫描回路的计数器和串口模块。环形振荡器主要是由奇数个反相器首尾相连组成,利用非门的语句实现。verilog语言实现如下:

notb1(a2,a1);

lcellb2(.in(a2),.out(a3));

notb3(a4,a3);

lcellb4(.in(a4),.out(a5));

notb5(a6,a5);

lcellb6(.in(a6),.out(a7));

……

notb29(a30,a29);

lcellb30(.in(a30),.out(q));

assigna1=q;

具有扫描回路的计数器主要分为两个部分,第一是选择系统时钟作为参考周期,通过将系统时钟分频得到1hz的基准时钟,然后在这个基准时钟的一个时钟周期内确定环形振荡器输出的波形的上升沿的个数,就可以得到环形振荡器的频率。

计数器的verilog程序如下:

上述程序为每一位的计数器,使用中需要调用8个计数器程序。上一个的进位输出作为下一个的进位输入。

第二扫描回路也是相当于通过一个计数器来实现的,每测完一路,计数器n加1,然后判断n的值来选择测量哪一路环形振荡器的频率。

cnt10u1(.clock(freq_input),.rst(rst),.cin(1'b1),.cout(cout1),.dout(pre_freq[3:0]));

cnt10u2(.clock(freq_input),.rst(rst),.cin(cout1),.cout(cout2),.dout(pre_freq[7:4]));

cnt10u3(.clock(freq_input),.rst(rst),.cin(cout2),.cout(cout3),.dout(pre_freq[11:8]));

……

cnt10u7(.clock(freq_input),.rst(rst),.cin(cout6),.cout(cout7),.dout(pre_freq[27:24]));cnt10u8(.clock(freq_input),.rst(rst),.cin(cout7),.cout(),.dout(pre_freq[31:28]));

串口模块与普通的串口一样,主要是为了将计数器模块得到的频率传给电脑的上位机,主要分为txd和rxd两根线路通讯。按照固定的协议进行通信,即可在上位机得到环形振荡器的频率。

将布满267个温度传感器的fpga102放在温箱300中,通过一根长电线201来连接串口200将信号传输给温箱300外部的电脑400,如图2所示,设置温箱的温度分别为30℃,40℃,50℃,60℃,70℃,80℃,90℃,通过串口读出传感器不同温度下的频率,得到校准曲线。

将被测芯片101,fpga102激光打薄去掉封装紧密贴合,芯片101使用内部可配置的逻辑资源模拟热源,单个自加热元件由先进先出(fifo)块,查找表lut和触发器(ff)组成,翻转的输入信号由fifo写入并随时钟操作读出,然后通过四输入的查找表和时钟控制的触发器输出数据。输入信号被连接到时钟上以最大程度地用于加热fpga。使用使能信号来控制自加热元件。多个自加热元件构成串联布置的热源。这样,通过连续翻转信号和时钟触发产生热量,将热量传递给fpga102。fpga102不断扫描内部的环形振荡器,通过串口读出数据。改变温度传感器的位置多次测量获得芯片101运行时的温度分布。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1