如何将自己做的网站放到网上去,制造企业网站建设,Wordpress刷新CDN缓存,wordpress 基础知识Vivado 比特流编译时间获取以及FPGA电压温度获取 语言 #xff1a;Verilg HDL 、VHDL EDA工具#xff1a;ISE、Vivado Vivado 比特流编译时间获取以及FPGA电压温度获取一、引言二、 获取FPGA 当前程序的编译时间verilog中直接调用下面源语2. FPGA电压温度获取#xff08;1Verilg HDL 、VHDL EDA工具ISE、Vivado Vivado 比特流编译时间获取以及FPGA电压温度获取一、引言二、 获取FPGA 当前程序的编译时间verilog中直接调用下面源语2. FPGA电压温度获取1使用源语调用2温度和电压解析温度解析公式电压解析公式测到的一组值2调用xadc ip核 三、结尾    关键词 调用Vivado, 
一、引言 
在FPGA开发中经常需要对整个系统进行健康信息监控以及版本信息管脚这时需要知道FPGA 当前程序的编译时间以及FPGA实时的温度电压信息本文对这两个部分进行总结说明方便诸君不时之需直接调用便可不需要多在这上面耗费时间和精力。 
二、 获取FPGA 当前程序的编译时间 
verilog中直接调用下面源语 
reg[31:0] DATA ;USR_ACCESSE2 USR_ACCESSE2_inst (.CFGCLK( ),       // 1-bit output: Configuration Clock output.DATA(DATA),           // 32-bit output: Configuration Data output.DATAVALID( )  // 1-bit output: Active high data valid output);因为USR_ACCESSE2 为源语所以直接在调用上面的模块便可以得到32-bit 输出DATA这便是当前bit比特流的详细编译时间该数据的解析格式如下 只需要把DATA中对应的位数取出来即可解析出当前bit的编译时间年月日时分秒。 
下面是 VHDL的调用。 
inst_usr_access2: USR_ACCESSE2
port map (CFGCLK                   open,DATA                     bit_stream_info,DATAVALID                open
); 
2. FPGA电压温度获取 
1使用源语调用 
reg[15:0] vccint_doutxadc_test xadc_test_inst (.clk_100mhz(clk_50M), .rst_n(FPGA3_RST), .temperature_dout(temperature_dout), .vccint_dout(vccint_dout), .vccaux_dout(vccaux_dout), .vccbram_dout(vccbram_dout));可以在下面链接中直接下载该模块然后直接用上面的例化调用即可。 7系列以上xlinx FPGA xadc模块获取FPGA的温度电压使用源语 直接调用模块 
2温度和电压解析 
温度解析公式 
Temp(℃)(MEASURED_TEMP[15:4]* 503.975)/4096-273.15电压解析公式 
VCCINT  (MEASURED_VCCINT[15:4]* 3)/4096测到的一组值 
Tem: 16’hA534; 
VCCINT: 16’h5478; VCCAUX: 16’h988F; VCCBRAM: 16’h535F; [15:4]就是高12位去掉低四位便是有效值。即Tem有效值等于16’hA53 
2调用xadc ip核 
调用ip核与使用xadc源语本质是一样的只是稍微有些繁琐。 
IP核的主要设置如下 1  2  3 3  
IP的定层模块我也附上 
timescale 1ns / 1psmodule xadc_test(
input                 clk_100mhz,
input                 rst_n ,
output	reg[15:0]    temp_dout , //Data
output	reg	[15:0]    vccint_dout ,
output	reg	[15:0]    vccaux_dout ,
output	reg	[15:0]    vccbram_dout );wire    clk;reg[15:0]    temperature_dout;//-------------------------------------//---- XADC IP INST ------------- wire [15:0]	di_in;wire [6:0]	daddr_in;wire			den_in;wire			dwe_in;wire			drdy_out;wire [15:0]	do_out;wire [4:0]	channel_out;wire			eoc_out;wire			eos_out;wire			busy_out;assign clk  clk_100mhz;//XADC IP (Mode:Channel Sequencer)xadc_wiz_0 xadc_ip_inst (.di_in(di_in),                              // input wire [15 : 0] di_in.daddr_in(daddr_in),                        // input wire [6 : 0] daddr_in.den_in(den_in),                            // input wire den_in.dwe_in(dwe_in),                            // input wire dwe_in.drdy_out(drdy_out),                        // output wire drdy_out.do_out(do_out),                            // output wire [15 : 0] do_out.dclk_in(clk),                          // input wire dclk_in.reset_in(!rst_n),                        // input wire reset_in.vp_in(1b0),                              // input wire vp_in.vn_in(1b0),                              // input wire vn_in.user_temp_alarm_out(),  // output wire user_temp_alarm_out.vccint_alarm_out(),        // output wire vccint_alarm_out.vccaux_alarm_out(),        // output wire vccaux_alarm_out.ot_out(),                            // output wire ot_out.channel_out(channel_out),                  // output wire [4 : 0] channel_out.eoc_out(eoc_out),                          // output wire eoc_out.alarm_out(),                      // output wire alarm_out.eos_out(eos_out),                          // output wire eos_out.busy_out(busy_out)                        // output wire busy_out);//only Readassign di_in  16d0;   //not usedassign dwe_in  1b0;   //not usedassign den_in  eoc_out;assign daddr_in  {2d0,channel_out};//-------------------------------------//Read Temperature Datareg    temperature_dout_en ;reg    vccint_dout_en ;reg    vccaux_dout_en ;reg    vccbram__dout_en ;always (posedge clk or negedge rst_n)beginif(!rst_n) begintemperature_dout  16d0;vccint_dout  16d0;vccaux_dout  16d0;vccbram_dout  16d0;temperature_dout_en  1b0;vccint_dout_en  1b0;vccaux_dout_en  1b0;vccbram__dout_en  1b0;endelse beginif((drdy_out) (channel_out  5d0))     // Latch ADCcode of On-chip-temperaturebegintemperature_dout  (drdy_out1b1)?do_out:16d0;temperature_dout_en  drdy_out;endelse if((drdy_out) (channel_out  5d1))     // Latch ADCcode of VCCINTbeginvccint_dout  (drdy_out1b1)?do_out:16d0;vccint_dout_en  drdy_out;endelse if((drdy_out) (channel_out  5d2))     // Latch ADCcode of VCCAUXbeginvccaux_dout  (drdy_out1b1)?do_out:16d0;vccaux_dout_en  drdy_out;endelse if((drdy_out) (channel_out  5d6))        // Latch ADCcode of VCCBRAMbeginvccbram_dout  (drdy_out1b1)?do_out:16d0;vccbram__dout_en  drdy_out;endelsebegintemperature_dout_en  1b0;vccint_dout_en  1b0;vccaux_dout_en  1b0;vccbram__dout_en  1b0;endendendwire[20:0] p;mult_x504 m504 (.CLK(clk),  // input wire CLK.A(temperature_dout[15:4]),      // input wire [11 : 0] A.P(p)      // output wire [20 : 0] P
);  always( posedge clk)  temp_dout  p[20:12] - 273 ; endmodule其中mult_x504 是一个乘法器ip输入值乘无符号数504然后再减去273就是结果temp_dout 就是真实的温度结果了。 
三、结尾 
本文总结了Vivado 比特流编译时间获取以及FPGA电压温度获取的方法以及获取后将数据进行解析的公式以上内容都是实际工程中验证过的可放心使用如有问题可私信博主知无不言。 文章转载自: http://www.morning.rywr.cn.gov.cn.rywr.cn http://www.morning.jqsyp.cn.gov.cn.jqsyp.cn http://www.morning.wflsk.cn.gov.cn.wflsk.cn http://www.morning.mkydt.cn.gov.cn.mkydt.cn http://www.morning.bpmfr.cn.gov.cn.bpmfr.cn http://www.morning.lgcqj.cn.gov.cn.lgcqj.cn http://www.morning.haolipu.com.gov.cn.haolipu.com http://www.morning.mjkqj.cn.gov.cn.mjkqj.cn http://www.morning.xlxmy.cn.gov.cn.xlxmy.cn http://www.morning.lcjw.cn.gov.cn.lcjw.cn http://www.morning.lwxsy.cn.gov.cn.lwxsy.cn http://www.morning.lqjpb.cn.gov.cn.lqjpb.cn http://www.morning.nykzl.cn.gov.cn.nykzl.cn http://www.morning.czrcf.cn.gov.cn.czrcf.cn http://www.morning.yrjkp.cn.gov.cn.yrjkp.cn http://www.morning.fjntg.cn.gov.cn.fjntg.cn http://www.morning.nxzsd.cn.gov.cn.nxzsd.cn http://www.morning.ghlyy.cn.gov.cn.ghlyy.cn http://www.morning.yysqz.cn.gov.cn.yysqz.cn http://www.morning.fkyrk.cn.gov.cn.fkyrk.cn http://www.morning.xnpj.cn.gov.cn.xnpj.cn http://www.morning.qrnbs.cn.gov.cn.qrnbs.cn http://www.morning.pmdzd.cn.gov.cn.pmdzd.cn http://www.morning.fbccx.cn.gov.cn.fbccx.cn http://www.morning.rqxhp.cn.gov.cn.rqxhp.cn http://www.morning.nzlqt.cn.gov.cn.nzlqt.cn http://www.morning.hgbzc.cn.gov.cn.hgbzc.cn http://www.morning.jrdbq.cn.gov.cn.jrdbq.cn http://www.morning.bpmdh.cn.gov.cn.bpmdh.cn http://www.morning.kwqt.cn.gov.cn.kwqt.cn http://www.morning.gjmll.cn.gov.cn.gjmll.cn http://www.morning.dxxnq.cn.gov.cn.dxxnq.cn http://www.morning.qrpx.cn.gov.cn.qrpx.cn http://www.morning.gynls.cn.gov.cn.gynls.cn http://www.morning.rrcrs.cn.gov.cn.rrcrs.cn http://www.morning.ljdtn.cn.gov.cn.ljdtn.cn http://www.morning.xpzrx.cn.gov.cn.xpzrx.cn http://www.morning.ggcjf.cn.gov.cn.ggcjf.cn http://www.morning.pmxw.cn.gov.cn.pmxw.cn http://www.morning.zlhbg.cn.gov.cn.zlhbg.cn http://www.morning.sfyqs.cn.gov.cn.sfyqs.cn http://www.morning.pwggd.cn.gov.cn.pwggd.cn http://www.morning.qlznd.cn.gov.cn.qlznd.cn http://www.morning.xpqdf.cn.gov.cn.xpqdf.cn http://www.morning.nggry.cn.gov.cn.nggry.cn http://www.morning.rjfr.cn.gov.cn.rjfr.cn http://www.morning.kpnpd.cn.gov.cn.kpnpd.cn http://www.morning.qgfy.cn.gov.cn.qgfy.cn http://www.morning.tfwg.cn.gov.cn.tfwg.cn http://www.morning.rgdcf.cn.gov.cn.rgdcf.cn http://www.morning.qnzgr.cn.gov.cn.qnzgr.cn http://www.morning.fjmfq.cn.gov.cn.fjmfq.cn http://www.morning.hfnbr.cn.gov.cn.hfnbr.cn http://www.morning.fmrwl.cn.gov.cn.fmrwl.cn http://www.morning.jcbjy.cn.gov.cn.jcbjy.cn http://www.morning.iterlog.com.gov.cn.iterlog.com http://www.morning.xtrnx.cn.gov.cn.xtrnx.cn http://www.morning.mcwgn.cn.gov.cn.mcwgn.cn http://www.morning.znknj.cn.gov.cn.znknj.cn http://www.morning.sgmgz.cn.gov.cn.sgmgz.cn http://www.morning.lwtfx.cn.gov.cn.lwtfx.cn http://www.morning.jkzjs.cn.gov.cn.jkzjs.cn http://www.morning.hqpyt.cn.gov.cn.hqpyt.cn http://www.morning.kgqpx.cn.gov.cn.kgqpx.cn http://www.morning.mljtx.cn.gov.cn.mljtx.cn http://www.morning.nlglm.cn.gov.cn.nlglm.cn http://www.morning.mumgou.com.gov.cn.mumgou.com http://www.morning.gmyhq.cn.gov.cn.gmyhq.cn http://www.morning.nbqwt.cn.gov.cn.nbqwt.cn http://www.morning.lfqnk.cn.gov.cn.lfqnk.cn http://www.morning.gnjkn.cn.gov.cn.gnjkn.cn http://www.morning.ktlxk.cn.gov.cn.ktlxk.cn http://www.morning.bwgrd.cn.gov.cn.bwgrd.cn http://www.morning.mjgxl.cn.gov.cn.mjgxl.cn http://www.morning.nqpy.cn.gov.cn.nqpy.cn http://www.morning.wlsrd.cn.gov.cn.wlsrd.cn http://www.morning.wjyyg.cn.gov.cn.wjyyg.cn http://www.morning.ydflc.cn.gov.cn.ydflc.cn http://www.morning.bgdk.cn.gov.cn.bgdk.cn http://www.morning.trfrl.cn.gov.cn.trfrl.cn