基于Verilog实现的DDS任意波形发生器_第1页
基于Verilog实现的DDS任意波形发生器_第2页
基于Verilog实现的DDS任意波形发生器_第3页
基于Verilog实现的DDS任意波形发生器_第4页
基于Verilog实现的DDS任意波形发生器_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

简易直接数字频率合成器前端设计课程设计〔报告〕任务书〔理工科类〕Ⅰ、课程设计〔报告〕题目:简易直接数字频率合成器〔DDS〕前端设计Ⅱ、课程设计〔论文〕工作内容一、课程设计目标1、培养综合运用知识和独立开展实践创新的能力以及同组之间合作的能力;2、学习直接数字频率合成器〔DDS〕相关知识,进行系统构架设计、模块划分和算法分析,并使用VerilogHDL设计一简易直接数字频率合成器,要求具有根据输入的控制字的不同输出不同频率的正弦信号的功能;3、能够对分析、测试、解决实际的数字电路问题加深理解,学以致用,增强动手能力,为今后能够独立进行设计工作打下一定的根底;二、研究方法及手段应用1、学习直接数字频率合成器〔DDS〕相关知识,确定电路需要实现的功能,分别编写各个功能模块,主要有相位累加器模块、正弦查询表模块和主模块;2、利用仿真软件测试各个模块功能的正确性;3、将各模块综合起来,实现整体功能并采用软件验证;三、课程设计预期效果1、完成实验环境搭建;2、完成DDS的功能设计与综合;3、完成modelsim软件仿真,确定程序代码正确性;4、在理论学习和具体实践中到达对DDS的正确理解。学生姓名:毛石磊专业年级:电子科学与技术2023级摘要直接数字频率合成技术(DirectDigitalSynthesize,DDS)是继直接频率合成技术和锁相式频率合成技术之后的第三代频率合成技术。它采用全数字技术,并从相位角度出发进行频率合成。目前,DDS的设计大多是应用HDL(HardwareDescriptionLanguage)对其进行逻辑描述,整个设计可以很容易地实现参数改变和设计移植,给设计者带来很大的方便。VerilogHDL就是其中一种标准化的硬件描述语言,它不仅可以进行功能描述,还可以对仿真测试矢量进行设计。此次课程设计只做软件局部,不做硬件实现,而DDS最重要的软件组成模块是相位累加模块和相位幅值转化模块〔ROM〕。本设计最重要的任务就是就是用verilogHDL编写相位累加模块和ROM表,然后利用modelsim实现模块的综合与仿真,最终实现功能。【关键词】DDS相位累加ROM表ABSTRACTDirectDigitalfrequencysynthesistechnology(DirectDigitalSynthesize,DDS)isthethirdgenerationfrequencysynthesistechnologyafterDirectfrequencysynthesistechnologyandphaselocktypesynthesistechnology.Itusesthedigitaltechnologytoachievefrequencysynthesisfromthephase’perspective.Atpresent,thedesignofDDSmostlyapplicatesHDL(HardwareDescriptionLanguage)tomaketheDescriptionlogic,andthewholedesigncaneasilyachieveparameterschangeanddesigntransplantation,whichgivesthedesigneralotofconvenience.VerilogHDLisoneofthestandardizationofthehardwaredescriptionlanguage,itnotonlycandescribefunction,italsocandescribethesimulationtestvector.Thecoursedesignonlyhasthepartofsoftware,andthemostimportantpartofsoftwarecomponentsoftheDDSisthephaseaccumulativemoduleandPhase/amplitudetransformationmodule(ROM).ThemostimportanttaskofthisdesignistousetheverilogHDLtowritephaseaccumulatemoduleandROMtable,thenusemodelsimtocompletesynthesizeandsimulation,andfinallyachievethefunction.【Keywords】DDSPhaseaccumulateROMtable第一章系统设计第一节课题目标及总体方案DDS技术具有频率切换时间短,频率分辨率高,频率稳定度高,输出信号的频率和相位可以快速切换,输出相位可连续,并且在改变时能够保持相位的连续,很容易实现频率、相位和幅度的数字控制。它在相对带宽、频率转换时间、相位连续性、高分辨率以及集成化等一系列性能指标方面远远超过了传统频率合成技术。因此在现代电子系统及设备的频率源设计中,尤其在通信领域,直接数字频率合成器的应用越来越广泛。本组根据查阅了相关的资料后,总结出了要实现DDS需要的几点关键技术:rom查找表:通过实现使用matlab或者C语言等数学工具将所需的波形采样成为一个个离散的点,存储到rom查找表中,以便于通过相位累加的过程得到的地址取得这些采样点。相位累加器:通过送入一个频率控制字〔控制相位变化的步长值〕,在参考时钟的驱动下进行累加,得到地址信号,传递给rom查找表以得到相对应的采样点;还可以通过输入一个相位控制字来调整波形的初始相位,但本组的作品不涉及相位控制。数模转换:由于通过rom查找表得到的信号是离散的采样点,必须通过DA转换器才能变成连续变化的模拟量,同时,由于产生的波形中含有很多高阶的杂波,导致产生的波形会有很多毛刺,通过在DA后加一级低通滤波电路可以滤掉杂波,得到一个比拟理想的正弦波。第二节直接数字频率合成技术简介频率控制是现代通信技术中很重要的一环,能够获得宽带(频率控制范围宽)、快速(转换时间快)、精细(分辨率高)、杂散小(频谱纯)的频率控制信号一直是通信领域中的一个重要研究内容,。直接数字频率合成(DDS)技术是从相位概念出发直接合成所需波形的一种新的频率合成技术,具有频率分辨率高、频率变换速度快、相位可连续线性变化等优点,在基于数字信号处理的现代通信频率控制中已被广泛采用。总体方案实现及系统框图根据以上分析,可以得出本组的系统框图如下所示:在该DDS电路组成上,包括基准时钟、频率累加器、相位累加器、幅度/相位转换电路。频率累加器对输入信号进行累加运算,产生频率控制数据,相位累加器对代表频率的M位二进制码进行累加运算,产生后面波形存储器所需的查表地址,幅度/相位转换电路实际上就是一个波形存储器,供查表使用,读出数据送人D/A转换器和低通滤波器。但是本次课程设计中我们只做前端设计,最后经D/A转换器和低通滤波器将波形数据转换成所需要的模拟波形不实现。系统设计原理框图如下:频率频率控制字M相位存放器正弦查询表相位累加器+时钟fcfout相位地址图1.1系统设计原理框图二、直接数字频率合成技术原理相位累加器由N位全加器和N位累加存放器级联而成,可对频率控制字的二进制码进行累加运算,是典型的反应电路。正弦查找表的数据存放在ROM中,内部存有一个时钟脉冲,相位存放器以步长M递增。相位存放器的输出结果的高位局部作为正(余)弦查找表的一个周期的正弦波信号的数字幅度信息,每个查找表的地址对应于正弦波中0°~360°范围内的一个相位点。查找表把输入的址信息映射成正(余)弦波的数字幅度信号,输出周期性离散正弦信号。DDS具体工作过程如下:每来一个时钟脉冲clk,N位全加器将频率控制数据M与累加存放器输出的累加相位数据N相加,把相加后的结果送至累加存放器的输入端。累加存放器一方面将上一时钟周期作用后所产生的新的数据反应到加法器的输入端,以使加法器在下一时钟的作用下继续与频率控制数据M相加;另一方面将这个值作为取样地址值送入幅度/相位转换电路,此电路根据取样地址输出相应的波形数据。假设有一个频率为f的余弦信号st=cos⁡zπft,现以采样频率f其中Tc=1f为采样周期。上式对应的相位序列为:φn=2πf由上式可以知道如果将2π的相位等分为M份,那么频率为f=K∕MfC的余弦信号以频率fc采样后,其量化序列的样本之间的量化相位增量为一个可调的值Δφn=2πKM,通过改变K的值可以实现相位以不同的步长值增长。将f=本设计所基于的理论技术就是这些,事实上,现在的DDS普遍都是采用这样的方法来实现的。我们小组查阅了很多相关的文档,其中无一不是采用了类似的查找表的方式实现,所以本小组也采用了该方法。但是在设计时应注意的问题是,根据信号采样的原理可知,输入信号和输出信号的频率必须满足如下关系才能保证采样可恢复:f因此,如果相位累器的地址范围为N位〔2N〕,即采样点为每周期2N个采样点。那么输入的频率控制字最大值为2N-1此时输出最大频率为f三、系统组成模块简介1、顶层模块顶层模块是系统程序的主模块,它负责将fom查找表、相位累加等模块组装在一起,通过调用的关系使它们组合成为一个有机的整体。在顶层模块中,定义了参考时钟的输入,复位端口,波形输出、频率控制字等。2、相位累加器模块相位累加器是决定系统性能的关键局部,主要是利用频率控制字和相位控制字来累加出寻址地址。相位累加器在基准频率信号clk的控制下以频率控制字data为步长进行累加运算,产生需要的频率控制数据,在时钟的控制下把累加的结果作为波形存储器ROM的地址,实现对波形存储器ROM的寻址。由于相位累加模块通过C语言实现比拟容易,故我们没有单独成立一个模块,而是将它集成到了顶层模块的一个always语句块中:case(choose_wave)2'b00:beginsin_ena<=1'b1;cos_ena<=1'b0;sawtooth_ena<=1'b0;triangle_ena<=1'b0;if(ADD_B>256)ADD_B<=0;//关键代码,实现相位累加的功能elseADD_B<=ADD_A+ADD_B;end2'b01:begincos_ena<=1'b1;sin_ena<=1'b0;sawtooth_ena<=1'b0;triangle_ena<=1'b0;if(ADD_B>256)ADD_B<=0;//关键代码,实现相位累加的功能elseADD_B<=ADD_A+ADD_B;end2'b10:beginsin_ena<=1'b0;cos_ena<=1'b0;sawtooth_ena<=1'b1;triangle_ena<=1'b0;if(ADD_B>256)ADD_B<=0;//关键代码,实现相位累加的功能elseADD_B<=ADD_A+ADD_B;end2'b11:beginsin_ena<=1'b0;cos_ena<=1'b0;sawtooth_ena<=1'b0;triangle_ena<=1'b1;if(ADD_B>256)ADD_B<=0;//关键代码,实现相位累加的功能elseADD_B<=ADD_A+ADD_B;enddefault:beginADD_B<=9'b0;sin_ena<=1'b0;cos_ena<=1'b0;sawtooth_ena<=1'b0;triangle_ena<=1'b0;endendcase在程序中还出现了一个变量〔wave_choose〕这是一个用来选择所要输出波形的一个变量,通过它可以控制输出的波形种类〔正弦波,余弦波,三角波,锯齿波〕。但是由于在设计的时候没有考虑到存在负值的影响,导致最后综合的结果不正确,经过询问老师知道修改方法是将rom查找表中所有采样点的电压负值全部抬高,消除负值,但是由于时间的原因没有来得及修改,也不知道方案修改的结果。3、查找表本模块实现的是一个rom存贮器,用于存储采样的波形数据,并提供地址查找的功能。具体实现的过程:首先使用数学工具计算得到波形采样点,生成mif文件导入数据采样点,给每一个采样点分配地址,并提供外部寻址的接口,此过程可以通过QuartasⅡ来辅助完成由于我们组的设计时在modelsim下进行的,modelsim面向的是仿真,它不会产生所谓的“rom〞这种实际的电路,所以我们没有采用这样的方法,而是简单的使用case语句来实现。虽然这样也能得到预期的效果,但是它却没有真正的生成一个“rom〞,根据我组的综合结果来看,使用case语句生成的是一个与输入相关的复杂的逻辑网络,而不是rom那样有一定规那么的电路结构。一下是我们使用C语言产生采样点的程序:voidmain(){ inti,j=0;; FILE*fp; fp=fopen("data.txt","w"); for(i=0;i<=256;i++){ //j=255*sin(2*3.14159/256*i)+0.5;//四舍五入 fprintf(fp,"i=%d,\tj=%d\n",i,j); } fclose(fp);}第二章结果与讨论第一节实验中遇到的问题 本次课设整体来说还是比拟简单的,但是还是碰到些难以解决的问题。其中,最大的问题就是综合的结果不正确,我们组就一直卡在那里找不到原因,后来经过老师的查阅才找到原因:我们rom查找表中含有负值,由于Verilog编程经验缺乏,没有注意到这一点,所以导致了问题的出现。 另外还有一些缺乏的地方,我们的查找表使用的是case语句,不能生成真正的rom;第二,我们没有对查找表做优化,其中存储的是整个波形周期的采样点,其实,对于有一定周期的正弦函数而言,我们只需要存储它的四分之一个周期的数据,然后通过相位翻转等实现整个波形的复原,这样可以节省存储空间,然而我们由于能力有限,不能实现相关文档中所述的方法。第二节实验结论以上就是本小组查阅资料学习的成果,经过编码,调试后,在modelsim下仿真得到了预期的结果,以下是仿真截图。图2.1正弦波仿真结果〔choose_wave=00〕图2.2余弦波仿真结果〔choose_wave==01〕图2.3三角波仿真结果〔choose_wave=10〕图2.4锯齿波仿真结果〔choose_wave=11〕由仿真图可以看出,在modelsim下所有功能都能够正确实现,前仿真顺利实现。后仿真时由于没有综合得到正确的结果,故不贴出仿真结果截图。以下是综合报告。由。于篇幅有限,在这里只能贴出局部报告。1〕延时信息****************************************Report:timing-pathfull-delaymax-max_paths1-sort_bygroupDesign:rom_sinVersion:D-2023.03-SP2Date:FriJun2815:23:452023****************************************OperatingConditions:typicalLibrary:typicalWireLoadModelMode:topStartpoint:wr_data_reg[0](risingedge-triggeredflip-flopclockedbyCLK_0)Endpoint:wr_data[0](outputportclockedbyCLK_0)PathGroup:CLK_0PathType:maxPointIncrPath-----------------------------------------------------------clockCLK_0(riseedge)0.000.00clocknetworkdelay(ideal)0.000.00wr_data_reg[0]/CK(DFFRHQXL)0.000.00rwr_data_reg[0]/Q(DFFRHQXL)0.230.23rwr_data[0](out)0.000.23rdataarrivaltime0.23clockCLK_0(riseedge)5.005.00clocknetworkdelay(ideal)0.005.00outputexternaldelay-2.003.00datarequiredtime3.00-----------------------------------------------------------datarequiredtime3.00dataarrivaltime-0.23-----------------------------------------------------------slack(MET)2.77*****EndOfReport*****2〕constraint****************************************Report:constraint-verboseDesign:rom_sinVersion:D-2023.03-SP2Date:FriJun2815:26:022023****************************************Startpoint:wr_data_reg[0](risingedge-triggeredflip-flopclockedbyCLK_0)Endpoint:wr_data[0](outputportclockedbyCLK_0)PathGroup:CLK_0PathType:maxPointIncrPath-----------------------------------------------------------clockCLK_0(riseedge)0.000.00clocknetworkdelay(ideal)0.000.00wr_data_reg[0]/CK(DFFRHQXL)0.000.00rwr_data_reg[0]/Q(DFFRHQXL)0.230.23rwr_data[0](out)0.000.23rdataarrivaltime0.23clockCLK_0(riseedge)5.005.00clocknetworkdelay(ideal)0.005.00outputexternaldelay-2.003.00datarequiredtime3.00-----------------------------------------------------------datarequiredtime3.00dataarrivaltime-0.23-----------------------------------------------------------slack(MET)2.77Net:n382max_transition3.00-TransitionTime0.39------------------------------Slack2.61(MET)Net:n331max_capacitance0.16-Capacitance0.01------------------------------Slack0.15(MET)Design:rom_sinmax_area0.00-CurrentArea7970.05------------------------------Slack-7970.05(VIOLATED)*****EndOfReport*****面积****************************************Report:areaDesign:rom_sinVersion:D-2023.03-SP2Date:FriJun2815:25:162023****************************************Library(s)Used:typical(File:/apps/library/SMIC018Digital/synopsys/typical.db)Numberofports:21Numberofnets:370Numberofcells:358Numberofreferences:26Combinationalarea:7341.364857Noncombinationalarea:628.689606NetInterconnectarea:undefined(Nowireloadspecified)Totalcellarea:7970.054462Totalarea:undefined*****EndOfReport*****以下是综合后的截图图2.5综合后的门级网表图2.6综合后的门级网表第三章心得与体会 感觉对于我来说,每次课程设计都是一次学习的时机。因为每次都会遇到一些自己从来没有遇到的问题。可能是由于自己做的东西比拟少的缘故吧,碰到的各种反常的情况很有限,导致了自己解决问题的能力也有限。总的来说这次课设还是很有意义的,至少我又碰到一个案例,相信在以后的实践过程中我就会防止再出现这样的问题,这样就可能会更早地实现我想要的结果。 这次课设让我又一次加深了对verilog语言的理解,并且在由verilog这种纯软件的东西变成硬件的东西的过程中又对软硬件的工作过程有更深层次的理解。而且我还做了之前verilog课程设计没有接触过的一个流程——那就是综合。当我看到自己写的程序编程一个个逻辑门的连接的时候,感觉自己离集成电路又近一步了。参考文献【1】齐怀龙,杨力生FPGA《实现任意波形发生器》万方数据库文章编号1008-1739〔2023〕3、4-92-3【2】余鸿洲哈尔滨理工大学硕士学位论文《基于DDS技术的函数波形发生器设计》万方数据库【3】栾佳明,张秀娟山东科技大学《基于FPGA的可调信号发生器》文章编号1674-6236〔2023〕05-0095-03附录源程序在这里给出了主模块和sin函数查找表两个模块,由于它们实现了课设要求的功能,而且另外几个波形的rom查找表与sin查找表类似,就是改了一下采样点的数据,在此由于篇幅限制,就不贴上了。附录1:主模块moduleDDS(clk,rst,data,choose_wave,we,data_out);inputclk;inputrst;input[1:0]choose_wave;inputwe;//loadfrequencycontrlwordinput[8:0]data;//frequencyoutput[8:0]data_out;//waveout//romaddressreg[8:0]ADD_A;reg[8:0]ADD_B;regsin_ena;regcos_ena;regsawtooth_ena;regtriangle_ena;reg[8:0]data_out;wire[8:0]sine_d;wire[8:0]cosine_d;wire[8:0]sawtooth_d;wire[8:0]triangle_d;wire[8:0]rom_ad;assignrom_ad=ADD_B;always@(posedgeclkornegedgerst)beginif(!rst)beginADD_A<=9'd0;endelsecase(we)1'b1:ADD_A<=data;1'b0:ADD_A<=9'd0;default:ADD_A<=9'd0;endcaseendalways@(posedgeclkornegedgerst)beginif(!rst)beginADD_B<=9'b0;sin_ena<=1'b0;cos_ena<=1'b0;sawtooth_ena<=1'b0;triangle_ena<=1'b0;endelsebegincase(choose_wave)2'b00:beginsin_ena<=1'b1;cos_ena<=1'b0;sawtooth_ena<=1'b0;triangle_ena<=1'b0;if(ADD_B>256)ADD_B<=0;elseADD_B<=ADD_A+ADD_B;end2'b01:begincos_ena<=1'b1;sin_ena<=1'b0;sawtooth_ena<=1'b0;triangle_ena<=1'b0;if(ADD_B>256)ADD_B<=0;elseADD_B<=ADD_A+ADD_B;end2'b10:beginsin_ena<=1'b0;cos_ena<=1'b0;sawtooth_ena<=1'b1;triangle_ena<=1'b0;if(ADD_B>256)ADD_B<=0;elseADD_B<=ADD_A+ADD_B;end2'b11:beginsin_ena<=1'b0;cos_ena<=1'b0;sawtooth_ena<=1'b0;triangle_ena<=1'b1;if(ADD_B>256)ADD_B<=0;elseADD_B<=ADD_A+ADD_B;enddefault:beginADD_B<=9'b0;sin_ena<=1'b0;cos_ena<=1'b0;sawtooth_ena<=1'b0;triangle_ena<=1'b0;endendcaseendendalways@(posedgeclk)begincase(choose_wave)2'b00:begindata_out<=sine_d;end2'b01:begindata_out<=cosine_d;end2'b10:begindata_out<=sawtooth_d;end2'b11:begindata_out<=triangle_d;enddefault:begindata_out<=9'b0;endendcaseendrom_sinrom_sin1(.address(rom_ad),.clock(clk),.ena(sin_ena),.wr_data(sine_d));rom_cosrom_cos1(.address(rom_ad),.clock(clk),.ena(cos_ena),.wr_data(cosine_d));rom_trianglerom_triangle1(.address(rom_ad),.clock(clk),.ena(triangle_ena),.wr_data(triangle_d));rom_sawtoothrom_sawtooth1(.address(rom_ad),.clock(clk),.ena(sawtooth_ena),.wr_data(sawtooth_d));endmodule附录2:sin函数查找表modulerom_sin(address,clock,wr_data,ena);input[8:0]address;inputclock;inputena;output[8:0]wr_data;reg[8:0]wr_data;always@(posedgeclock)if(ena)begincase(address)0:beginwr_data<=0;end 1:beginwr_data<=6;end 2:beginwr_data<=13;end 3:beginwr_data<=19;end 4:beginwr_data<=25;end 5:beginwr_data<=31;end 6:beginwr_data<=37;end 7:beginwr_data<=44;end 8:beginwr_data<=50;end 9:beginwr_data<=56;end 10:beginwr_data<=62;end 11:beginwr_data<=68;end 12:beginwr_data<=74;end 13:beginwr_data<=80;end 14:beginwr_data<=86;end 15:beginwr_data<=92;end 16:beginwr_data<=98;end 17:beginwr_data<=103;end 18:beginwr_data<=109;end 19:beginwr_data<=115;end 20:beginwr_data<=120;end 21:beginwr_data<=126;end 22:beginwr_data<=131;end 23:beginwr_data<=136;end 24:beginwr_data<=142;end 25:beginwr_data<=147;end 26:beginwr_data<=152;end 27:beginwr_data<=157;end 28:beginwr_data<=162;end 29:beginwr_data<=166;end 30:beginwr_data<=171;end 31:beginwr_data<=176;end 32:beginwr_data<=180;end 33:beginwr_data<=185;end 34:beginwr_data<=189;end 35:beginwr_data<=193;end 36:beginwr_data<=197;end 37:beginwr_data<=201;end 38:beginwr_data<=205;end 39:beginwr_data<=208;end 40:beginwr_data<=212;end 41:beginwr_data<=215;end 42:beginwr_data<=219;end 43:beginwr_data<=222;end 44:beginwr_data<=225;end 45:beginwr_data<=228;end 46:beginwr_data<=230;end 47:beginwr_data<=233;end 48:beginwr_data<=236;end 49:beginwr_data<=238;end 50:beginwr_data<=240;end 51:beginwr_data<=242;end 52:beginwr_data<=244;end 53:beginwr_data<=246;end 54:beginwr_data<=247;end 55:beginwr_data<=249;end 56:beginwr_data<=250;end 57:beginwr_data<=251;end 58:beginwr_data<=252;end 59:beginwr_data<=253;end 60:beginwr_data<=254;end 61:beginwr_data<=254;end 62:beginwr_data<=255;end 63:beginwr_data<=255;end 64:beginwr_data<=255;end 65:beginwr_data<=255;end 66:beginwr_data<=255;end 67:beginwr_data<=254;end 68:beginwr_data<=254;end 69:beginwr_data<=253;end 70:beginwr_data<=252;end 71:beginwr_data<=251;end 72:beginwr_data<=250;end 73:beginwr_data<=249;end 74:beginwr_data<=247;end 75:beginwr_data<=246;end 76:beginwr_data<=244;end 77:beginwr_data<=242;end 78:beginwr_data<=240;end 79:beginwr_data<=238;end 80:beginwr_data<=236;end 81:beginwr_data<=233;end 82:beginwr_data<=231;end 83:beginwr_data<=228;end 84:beginwr_data<=225;end 85:beginwr_data<=222;end 86:beginwr_data<=219;end 87:beginwr_data<=216;end 88:beginwr_data<=212;end 89:beginwr_data<=209;end 90:beginwr_data<=205;end 91:beginwr_data<=201;end 92:beginwr_data<=197;end 93:beginwr_data<=193;end 94:beginwr_data<=189;end 95:beginwr_data<=185;end 96:beginwr_data<=181;end 97:beginwr_data<=176;end 98:beginwr_data<=171;end 99:beginwr_data<=167;end 100:beginwr_data<=162;end 101:beginwr_data<=157;end 102:beginwr_data<=152;end 103:beginwr_data<=147;end 104:beginwr_data<=142;end 105:beginwr_data<=137;end 106:beginwr_data<=131;end 107:beginwr_data<=126;end 108:beginwr_data<=121;end 109:beginwr_data<=115;end 110:beginwr_data<=109;end 111:beginwr_data<=104;end 112:beginwr_data<=98;end 113:beginwr_data<=92;end 114:beginwr_data<=86;end 115:beginwr_data<=80;end 116:beginwr_data<=74;end 117:beginwr_data<=68;end 118:beginwr_data<=62;end 119:beginwr_data<=56;end 120:beginwr_data<=50;end 121:beginwr_data<=44;end 122:beginwr_data<=38;end 123:beginwr_data<=32;end 124:beginwr_data<=25;end 125:beginwr_data<=19;end 126:beginwr_data<=13;end 127:beginwr_data<=7;end 128:beginwr_data<=0;end 129:beginwr_data<=-5;end 130:beginwr_data<=-11;end 131:beginwr_data<=-17;end 132:beginwr_data<=-24;end 133:beginwr_data<=-30;end 134:beginwr_data<=-36;end 135:beginwr_data<=-42;end 136:beginwr_data<=-48;end 137:beginwr_data<=-54;end 138:beginwr_data<=-61;end 139:beginwr_data<=-67;end 140:beginwr_data<=-73;end 141:beginwr_data<=-79;end 142:beginwr_data<=-84;end 143:beginwr_data<=-90;end 144:beginwr_data<=-96;end 145:beginwr_data<=-102;end 146:beginwr_data<=-108;end 147:beginwr_data<=-113;end 148:beginwr_data<=-119;end 149:beginwr_data<=-124;end 150:beginwr_data<=-130;end 151:beginwr_data<=-135;end 152:beginwr_data<=-140;end 153:beginwr_data<=-145;end 154:beginwr_data<=-151;end 155:beginwr_data<=-155;end 156:beginwr_data<=-160;end 157:beginwr_data<=-165;end 158:beginwr_data<=-170;end 159:beginwr_data<=-174;end 160:beginwr_data<=-179;end 161:beginwr_data<=-183;end 162:beginwr_data<=-188;end 163:beginwr_data<=-192;end 164:beginwr_data<=-196;end 165:beginwr_data<=-200;end 166:beginwr_data<=-204;end 167:beginwr_data<=-207;end 168:beginwr_data<=-211;end 169:beginwr_data<=-214;end 170:beginwr_data<=-217;end 171:beginwr_data<=-221;end 172:beginwr_data<=-224;end 173:beginwr_data<=-227;end 174:beginwr_data<=-229;end 175:beginwr_data<=-232;end 176:beginwr_data<=-234;end 177:beginwr_data<=-237;end 178:beginwr_data<=-239;end 179:beginwr_data<=-241;end 180:beginwr_data<=-243;end 181:beginwr_data<=-245;end 182:beginwr_data<=-246;end 183:beginwr_data<=-248;end 184:beginwr_data<=-249;end 185:beginwr_data<=-250;end 186:beginwr_data<=-251;end 187:beginwr_data<=-252;end 188:beginwr_data<=-253;end 189:beginwr_data<=-253;end 190:beginwr_data<=-254;end 191:beginwr_data<=-254;end 192:beginwr_data<=-254;end 193

温馨提示

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

评论

0/150

提交评论