




已阅读5页,还剩122页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第6章开发软件,6.1MAX+plus简介6.2MAX+plus的安装6.3MAX+plus的应用6.4ispLEVER简介6.5ispLEVER开发工具的原理图输入6.6ispLEVER工具中用VHDL和Verilog语言输入的设计方法,6.1MAX+plus简介,理想的可编程逻辑器件开发环境应该满足多方面的设计需求。首先,它应该支持不同体系结构的芯片系列,可以应用于不同的硬件平台,拥有便于使用的人机界面;其次,开发环境应向设计者提供使用不同输入方式的自由以及选择不同应用工具的自由。毋庸置疑,Altera公司的MAX+plus可编程逻辑开发系统能够满足这些要求。,Altera公司的MAX+plus可编程逻辑开发软件,提供了一种与结构无关的全集成化设计环境,使设计者能方便地对Altera公司的PLD系列产品进行设计输入、快速处理和器件编程。MAX+plus开发系统的处理能力强且灵活性高,它的优点主要表现在以下几个方面:,(1)开放的接口。MAX+plus提供了可以与其他工业标准的EDA工具软件协同使用的接口。这一接口符合EDIF200和EDIF300标准、参数化模块库LPM2.1.0(LibraryofParameterizedModules)、标准延迟格式SDF2.0(StandardDelayFormat)、VITAL95、VerilogHDL、VHDL1987和VHDL1993以及其他标准。,(2)与结构无关。MAX+plus系统的核心Compiler(编译程序)支持Altera公司的MAX3000、MAX7000、MAX9000、FLEX6000、FLEX8000、FLEX10K、FLEX10KA、FLEX10KB、FLEX10KE等PLD系列产品,提供与结构无关的PLD设计开发环境,具有强大的逻辑综合与优化功能,使用户花费最少的时间完成高效的设计。,(3)多平台。MAX+plus可在基于PC机的MSWindows或WindowsNT环境下以及多种工作站的XWindows环境下运行。(4)硬件描述语言(HDL)。MAX+plus支持各种HDL输入选项,包括VHDL、VerilogHDL和Altera公司的硬件描述语言AHDL。(5)全集成化。MAX+plus的设计输入、处理和校验功能全部集成在统一的开发环境下,可以加快动态调试,缩短开发周期。,(6)丰富的设计库。MAX+plus提供丰富的库单元供设计者调用,其中包括74系列的全部器件和多种特殊的逻辑宏单元(Macro-Function),以及新型的参数化的巨单元(Maga-Function)。,6.2MAX+plus的安装,1.MAX+plusPC版的安装将MAX+plus的安装光盘插入光驱,假设光驱所在的驱动器号为E,MAX+plus的InstallCD窗口会自动打开,同时给出几种安装选项:完全安装、用户自定义安装、BASELINE及Programmer-only版的安装,也可选择阅读MAX+plus帮助文件,用户许可证协议或ACCESSKeyGuidelines。安装程序会指导以下的安装过程。,2.设置许可文件设置许可文件的步骤如下:(1)运行“Options”菜单下的“LicenseSetup”。(2)在LicenseFile对话框中输入license.dat文件的路径。可以通过“Browse”按钮来定位license.dat文件。,6.3MAX+plus的应用,在开始菜单的程序中单击MAX+plus,可以进入如图6.1所示的MAX+plus的主界面。,图6.1MAX+plus的主界面,在MAX+plus菜单项下给出了MAX+plus软件的几项主要功能,简介如下:HierarchyDisplay:显示当前工程的层次图。GraphicEditor:打开图形方式编辑器。MAX+plus提供了很方便的图形输入方式。SymbolEditor:功能与GraphicEditor相似,可用于图形化输入方式。,TextEditor:MAX+plus自带的文本文件编辑器,可以编辑VHDL源代码程序。WaveformEditor:打开波形文件编辑器,用于仿真阶段。FloorplanEditor:Floorplan编辑器,可以用来指定器件内的资源,如逻辑单元、I/O单元、LAB行或列以及引脚等,也可用来观察编译后的分区及布线情况。,辑器还可以观察编译后的逻辑设置,查看自己的一些设定(如引脚)在编译后有没有发生变化等。Compiler:打开编译窗口。Simulator:打开仿真窗口。TimingAnalyzer:打开延时分析窗口。Programmer:打开器件编程(下载)窗口。MessageProcessor:打开消息窗口,给出处理过程中的一些系统信息。,6.3.1MAX+plus下的VHDL实例在MAX+plus下进行电路设计时应包括以下几个步骤:(1)文件编辑:包括图形方式和文本方式两种,编辑完成后将其设置为当前工程。(2)工程编译:包括功能编译和实际编译两种。(3)功能仿真:将功能编译后的结果进行仿真。,(4)后仿真过程:将实际编译结果仿真。(5)引脚锁定:将各信号按要求分配到相应引脚后再进行一次实际编译。(6)物理实现:将结果下载到所选择的器件中去。,1.建立设计输入文件1)建立VHDL语言的设计输入文件首先了解MAX+plus的设计输入文件。MAX+plus能够识别的,可以进行编译的,并且符合一定标准的文件,称为MAX+plus的设计输入文件。,【例6.1】LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYcnt4ISPORT(clk:INSTD_LOGIC;q:BUFFERINTEGERRANGE0TO15);ENDcnt4;ARCHITECTUREbehaviorOFcnt4IS,BEGINPROCESS(clk)BEGINIFclkeventANDclk=1THENq=q+1;ENDIF;ENDPROCESS;ENDbehavior;,2)建立图形输入文件如图6.2所示,新建一文件,选择“GraphicEditorfile”,表示新建图形文件,并把文件保存为counter.gdf。注意,必须把文件保存成“.gdf”文件。这时将弹出图形编辑器,选择Symbol菜单中“EnterSymbol”项或在图形编辑器中想要放置部件的位置双击鼠标左键,就会弹出如图6.3所示的对话框,根据事先设计好的电路依次输入如图6.4所示的电路,并定义端口clk、q0、q1、q2和q3,然后将文件保存。,图6.2New对话框,图6.3输入Altera图元,图6.4连线图,2.建立工程在当前有文件打开的情况下,选择File菜单中Project中的“SetProjecttoCurrentFile”,建立与当前文件同名的工程。如果当前没有文件打开,则可选择File菜单中Project中的“Name”,在弹出的如图6.3所示的对话框中浏览选择文件,建立与其同名的工程。,3.编译工程选择Assign菜单中的“Device”,在DeviceFamily下拉菜单中选择“FLEX10K10”系列,列表中的具体器件暂选为“Auto”,确定退出。建议对工程进行两次综合布线,第一次只选择器件而不需设定引脚,编译完后再利用系统提供的搜索器(Nodefinder)设定引脚,这样既可避免漏定引脚,又使定义引脚操作变得方便且规范化。选择MAX+plus菜单下的“Compiler”,打开编译器窗口,如图6.5所示。,图6.5编译器窗口,过程介绍如下:(1)CompilerNetlistExtractor编译网表提取模块。(2)DatabaseBuilder建立数据库模块。这一模块建立了一个包括工程各个层次的设计文件的数据库。(3)LogicSynthesizer逻辑综合模块。逻辑综合模块使用DatabaseBuilder建立的数据库,计算每个输入的布尔代数式,把它们转化成基本的与门、非门等,根据用户的特定需求简化逻辑设计。,图6.6逻辑综合选项对话框,在Style下拉菜单下有三个选项,分别是FAST(快速)、NORMAL(正常)、WYSIWYG(所见即所得)。通过打开DefineSynthesisStyle或IndividualLogicOptions按钮实现前述用户定义综合方式的功能。逻辑综合模块还提供了与多重综合和标准综合无关的附加综合选项。比如可以设置把某个功能模块用FLEX10K系列器件中的EAB来实现,而不是通常所用的逻辑单元。选择Assign菜单中的“GlobalProjectLogicSynthesis”,打开如图6.7所示的对话框。,图6.7附加综合选项界面,(4)Partitioner分区模块。只有当用户在工程的设计文件中定义了两个或多个芯片,或者工程无法完全装入一个芯片时,才会出现分区。(5)Fitter布线模块。这一模块把工程的逻辑布到一个或多个器件上去。利用分区更新过的数据库信息,布线模块把工程的逻辑需求与一个或多个器件中的可用资源相匹配。,(6)TimingSNFExtractor时序仿真网表文件提取模块。生成一个时序仿真网表文件(TimingSimulatorNetlistFile),这个文件包含用于时序仿真、时序分析、延时预测的逻辑与时序信息。(7)Assembler汇编模块。生成对器件编程(Programming)的一个或多个编程文件。它把布线模块中的器件、逻辑单元以及指定引脚等信息转化成器件的一个可编程影像(Image),并以“.pof”、“.sof”和其他的文件格式保存。,图6.8功能编译器窗口,下面再看一下系统主菜单上新出的一项“Interface”,利用其中的一些命令可对工程的输入文件(不一定是“.vhd”,也可为“.edf”文件)进行设定。如点击其下的“EDIFNetlistReaderSettings”,会弹出EDIF网表输入设置对话框,如图6.9所示。在Vendor下拉菜单中可以选择所使用的第三方综合工具的名称。另外,点击其下的“EDIFNetlistReaderSettings”,还可设定输入的VHDL语言所遵循的IEEE标准版本号,如图6.10所示。,图6.9EDIF网表输入设置对话框,图6.10VHDL选项界面,4.项目仿真仿真正确编译完工程后,可以对工程进行仿真,检验是否能完成预定的功能。仿真之前先建立一个用于仿真的波形文件,可通过在图6.2所示界面中选择“WaveformEditorfile”来建立。此时会弹出波形文件编辑窗口,如图6.11所示。选择Node菜单中的“InsertNode”,在弹出的对话框中输入想要仿真的信号(节点)。也可通过选择Node菜单中的“EnterNodesfromSNF”从仿真网表文件输入信号。,单击图6.11所示对话框右上角的“List”命令,在左边的“AvailableNodes,ENDreg_lpm;ARCHITECTUREbehaviorOFreg_lpmISBEGINregl2a:lmp_ffGENERICMAP(lpm_width=12)PORTMAP(data=d(11DOWNTO0);clock=clk;q=q(11DOWNTO0);,regl2b:lmp_ffGENERICMAP(lpm_width=12)PORTMAP(data=d(23DOWNTO12),q=q(23DOWNTO12);ENDbehavior;,例6.2中利用LPM库中的触发器模块lpm_ff,生成了一个24位的寄存器。Altera公司还提供了一种生成元函数的更为简单的方法,就是利用MegaWizardPlug-InManager点击File菜单下的“MegaWizardPlug-InManager”,出现如图6.19所示的界面,选择“Createanewcustommegafunctionvariation”,点击“Next”按钮,出现如图6.20所示的对话框。,图6.19生成元函数的界面,图6.20器件库界面,在右上角的一组单选钮中选定待生成文件的类型VHDL,输入所要保存的文件的路径。展开左侧的树形结构,拖动滚动条,可以看到MAX+plus提供的可以直接生成的一系列器件。arithmetic下是一些标准运算模块:,DIVIDE:除法器。LPM_ABS:取绝对值。LPM_ADD_SUB:加减运算器。LPM_COMPARE:比较器。LPM_COUNTER:计数器。LPM_MULT:乘法器。,gates下是一些门电路:LPM_AND:与门。LPM_BUSTRl:三态总线。LPM_CLSHIFr:逻辑或算术移位器。LPM_CONSTANT:常数信号。LPMDECODE:解码器。LPMINV:反向器。LPMMUX:复用器。IPMOR:或门。LPMXOR:异或门。,storage下是一些存储模块:Dual-PortRAM:双口RAM,不属于LPM库。FIFO:先进先出存储器,不属于LPM库。LPMFF:D或T触发器。LPM_FIFO:先进先出存储器。LPM_LATCH:三态门。LPM_RAM_DP:双口RAM。LPM_RAM_DQ:具有分离的输入输出口的RAM。LPM_RAM_IO:具有单个I/O口的RAM。IPM_ROM:只读存储器。LPM_SHIFTREG:移位寄存器。,选中arithmetic下的“LPM_COUNTER”,表示准备生成计数器,将生成文件命名为“count”,再点击“Next”按钮,出现如图6.21所示的对话框。选择输出宽度为8bit,设定为加法计数器,点击“Next”按钮进入下一步,如图6.22所示。,图6.21元件库例化界面,图6.22counter生成界面,图6.23时钟选项界面,下面我们利用向导生成一个8位计数器模块。【例6.3】-megafunctionwizard:%LPM_COUNTER%-GENERATION:STANDARD-VERSION:WM1.0-MODULE:lpm_counter-=-FileName:count.vhd-MegafunctionName(s):,-lpm_counter-=-*-THISISAWIZARDGENERATEDFILE.DONOTEDITTHISFILE!-*-Copyright(C)1988-1999AlteraCorporation-Anymegafunctiondesign,andrelatednetlist(encryptedordecrypted),-supportinformation,deviceprogrammingorsimulationfile,andanyother-associateddocumentationorinformationprovidedbyAlteraorapartner-underAlterasMegafunctionPartnershipProgrammaybeusedonlyto-programPLDdevices(butnotmaskedPLDdevices)fromAltera.Anyother-useofsuchmegafunctiondesign,netlist,supportinformation,device-programmingorsimulationfile,oranyotherrelateddocumentationor,-informationisprohibitedforanyotherpurpose,including,butnot-limitedtomodification,reverseengineering,de-compiling,orusewith-anyothersilicondevices,unlesssuchuseisexplicitlylicensedunder-aseparateagreementwithAlteraoramegafunctionpartner.Titleto-theintellectualproperty,includingpatents,copyrights,trademarks,-tradesecrets,ormaskworks,embodiedinanysuchmegafunctiondesign,-netlist,supportinformation,deviceprogrammingorsimulationfile,or-anyotherrelateddocumentationorinformationprovidedbyAlteraora-megafunctionpartner,remainswithAltera,themegafunctionpartner,or-theirrespectivelicensors.Nootherlicenses,includinganylicenses-neededunderanythirdpartysintellectualproperty,areprovidedherein.,LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;LIBRARYlpm;USElpm.lpm_components.ALL;ENTITYcountISPORT(clock:INSTD_LOGIC;clk_en:INSTD_LOGIC;sclr:INSTD_LOGIC;,sload:INSTD_LOGIC;aset:INSTD_LOGIC;data:INSTD_LOGIC_VECTOR(7DOWNTO0);q:OUTSTD_LOGIC_VECTOR(7DOWNTO0);ENDcount;ARCHITECTURESYNOFcountISSIGNALsub_wire0:STD_LOGIC_VECTOR(7DOWNTO0);,COMPONENTlpm_counterGENERIC(LPM_WIDTH:POSITIVE;LPM_DIRECTION:STRING;LPM_AVALUE:POSITIVE);PORT(sload:INSTD_LOGIC;,clk_en:INSTD_LOGIC;sclr:INSTD_LOGIC;clock:INSTD_LOGIC;q:OUTSTD_LOGIC_VECTOR(7DOWNTO0);data:INSTD_LOGIC_VECTOR(7DOWNTO0);aset:INSTD_LOGIC);ENDCOMPONENT;,BEGINq8,LPM_DIRECTION=UP,LPM_AVALUE=0);,PORTMAP(sload=sload,clk_en=clk_en,sclr=sclr,clock=clock,data=data,aset=aset,q=sub_wire0);ENDSYN;,-=-CNXfileretrievalinfo-=-Retrievalinfo:PRIVATE:nBitNUMERIC8-Retrievalinfo:PRIVATE:DirectionNUMERIC0-Retrievalinfo:PRIVATE:CLK_ENNUMERIC1-Retrievalinfo:PRIVATE:CNT_ENNUMERIC0,-Retrievalinfo:PRIVATE:ModulusCounterNUMERIC0-Retrievalinfo:PRIVATE:ModulusValueNUMERIC0-Retrievalinfo:PRIVATE:CarryInNUMERIC0-Retrievalinfo:PRIVATE:CarryOutNUMERIC0-Retrievalinfo:PRIVATE:SCLRNUMERIC1-Retrievalinfo:PRIVATE:SLOADNUMERIC1,-Retrievalinfo:PRIVATE:SSETNUMERIC0-Retrievalinfo:PRIVATE:SSET_ALL1NUMERIC0-Retrievalinfo:PRIVATE:SSETVNUMERIC0-Retrievalinfo:PRIVATE:ACLRNUMERIC0-Retrievalinfo:PRIVATE:ALOADNUMERIC0-Retrievalinfo:PRIVATE:ASETNUMERIC1-Retrievalinfo:PRIVATE:ASET_ALL1NUMERIC0-Retrievalinfo:PRIVATE:ASETVNUMERIC0,-Retrievalinfo:CONSTANT:LPM_WIDTHNUMERIC8-Retrievalinfo:CONSTANT:LPM_DIRECTIONSTRINGUP-Retrievalinfo:CONSTANT:LPM_AVALUENUMERIC0-Retrievalinfo:USED_PORT:clock0000INPUTNODEFVALclock-Retrievalinfo:USED_PORT:q0080OUTPUTNODEFVALq7.0-Retrievalinfo:USED_PORT:clk_en0000INPUTNODEFVALclk_en,-Retrievalinfo:USED_PORT:sclr0000INPUTNODEFVALsclr-Retrievalinfo:USED_PORT:sload0000INPUTNODEFVALsload-Retrievalinfo:USED_PORT:aset0000INPUTNODEFVALaset-Retrievalinfo:USED_PORT:data0080INPUTNODEFVALdata7.0-Retrievalinfo:CONNECT:clock0000clock0000,-Retrievalinfo:CONNECT:q0080q0080-Retrievalinfo:CONNECT:clk_en0000clk_en0000-Retrievalinfo:CONNECT:sclr0000sclr0000-Retrievalinfo:CONNECT:sload0000sload0000-Retrievalinfo:CONNECT:aset0000aset0000-Retrievalinfo:CONNECT:data0080data0080,其中count.cmp和count.inc文件均为ASCII码文件,分别包含用于其他高层模块调用的VHDLCOMPONENT定义和可写入包头的函数的定义。count.sym文件包含计数器的模块图如图6.24所示。这样就顺利地利用向导生成了一个8位计数器模块,此模块不但可以单独使用,也可以被其他模块调用。,图6.24计数器的模块图,6.4ispLEVER简介,ispLEVER软件的主要特征如下:(1)输入方式:原理图输入、ABEL-HDL输入、VHDL输入、Verilog-HDL输入、原理图和硬件描述语言混合输入。(2)逻辑模拟:功能模拟、时序模拟。(3)编译器:结构综合、映射、自动布局和布线。,(4)支持的器件:含有支持ispLSI器件的宏库及MACH器件的宏库、TTL库;支持所有ispLSI、MACH、ispGDX、ispGAL、GAL、ORCAFPGA/FPSC、ispXPGA和ispXPLD器件。(5)ConstraintsEditor工具:I/O参数设置和引脚分配。(6)ispVM工具:对ISP器件进行编程。,6.5ispLEVER开发工具的原理图输入,原理图输入方法主要由三大部分组成:创建设计项目、原理图编辑和定义接口及属性。1.创建设计项目1)启动ispLEVER通过StartProgramsLatticeSemiconductorispLEVER命令启动。,2)创建一个新的设计项目(1)选择“File”菜单。(2)选择“NewProject.”。(3)在CreateNewProject对话框的ProjectName栏中,键入项目名“d:userdemo.syn”。(4)可以看到默认的项目名和器件型号:“Untitled”和“ispLSI5256VE-165LF256”,如图6.25所示。,图6.25创建设计项目对话框,3)项目命名(1)用鼠标双击“Untitled”。(2)在Title文本框中输入“DemoProject”,并单击“OK”按钮。4)选择器件(1)双击“ispLSI5256VE-165LF256”,会看到“DeviceSelector”对话框(如图6.26所示)。,图6.26选择器件对话框,(2)在SelectDevice窗口中选择“ispMACH4000”项。(3)按动器件目录中的滚动条,直到找到并选中器件LC4032V-10T44I。(4)单击“OK”按钮,选择这个器件。(5)在软件弹出的如图6.27所示的“ConfirmChange”窗口中,单击“Yes”按钮。(6)因为改选器件型号后,先前的约束条件可能对新器件无效,所以在软件接着弹出的如图6.28所示的“ispLEVERProjectNavigator”窗口中,单击“Yes”按钮,以用来去除原有的约束条件。,图6.27确定对话框,图6.28改选器件型号对话框,5)在设计中增加源文件一个设计项目由一个或多个源文件组成。这些源文件可以是原理图文件(*.sch)、ABELHDL文件(*.abl)、VHDL设计文件(*.vhd)、VerilogHDL设计文件(*.v)、测试向量文件(*.abv)或者是文字文件(*.doc、*.wri、*.txt)。在以下操作步骤中,要在设计项目中添加一张空白的原理图纸。,(1)选择“Source”菜单项。(2)选择“New.”。(3)在弹出的对话框中,选择“Schematic”(原理图),单击“OK”按钮。(4)输入文件名“demo.sch”。(5)确认后单击“OK”按钮。,2.原理图的编辑1)原理图的输入进入原理图编辑器。在下面的步骤中,需要在原理图中画几个元件符号,并用引线将它们相互连接起来。(1)从菜单栏选择“Add”,然后选择“Symbol”,会看到如图6.29所示的对话框。(2)选择“gates.lib”库,然后选择“G_2AND”元件符号。(3)将鼠标移回到原理图纸上,可以看到此刻AND门粘连在光标上,并随之移动。,图6.29选择模块对话框,(4)单击鼠标左键,将符号放置在合适的位置。(5)再在第一个AND门下面放置另外一个AND门。(6)将鼠标移回到元件库的对话框,并选择“G_2OR”元件。(7)将OR门放置在两个AND门的右边。(8)现在选择Add菜单中的“Wire”项。(9)单击上面一个AND门的输出引脚,并开始画引线。(10)随后每次单击鼠标,便可弯折引线(双击便终止连线)。(11)将引线连到OR门的一个输入脚。(12)重复上述步骤,连接下面一个AND门。,2)添加更多的元件符号和连线(1)采用上述步骤,从Regs.lib库中选一个G_D寄存器,并从iopads.lib库中选择G_OUTPUT符号。(2)将它们互相连接,实现如图6.30所示的原理图。,图6.30初步原理图,3.定义接口及属性1)完成设计在这里,通过为连线命名和标注I/OMarkers来完成原理图。当要为连线加信号名称时,可以使用ispLEVER的特点,同时完成两件事同时添加连线和连线的信号名称。这是一个很有用的特点,可以节省设计时间。I/OMarkers是特殊的元件符号,它指明了进入或离开这张原理图的信号名称。,(1)为完成本设计,选择Add菜单中的“NetName”项。(2)屏幕底下的状态栏提示输入连线名,输入“A”并按Enter键,连线名会粘连在鼠标的光标上。(3)将光标移到最上面的与门输入端,并在引线的末连接端(也即输入脚左端的红色方块),按鼠标左键,并向左边拖动鼠标。,(4)重复这一步骤,直至加上全部输入:“B”、“C”、“D”和“CK”,以及输出“OUT”。(5)选择Add菜单的“I/OMarker”项。(6)在出现的对话框中选择“Input”。(7)将鼠标的光标移至输入连线的末端(位于连线和连线名之间),并单击鼠标的左键。(8)鼠标移至下一个输入,重复上述步骤,直至所有的输入都有I/OMarker。(9)在对话框中选择“Output”,然后单击输出连线端,加上一个输出I/OMarker。至此,原理图基本完成,如图6.31所示。,图6.31完整的原理图,2)定义器件属性(Attributes)可以为任何一个元件符号或连线定义属性。在本例中,可以为输出端口符号、添加引脚锁定LOCK的属性。注意,在ispLEVER中,引脚的属性实际上是加到I/OPad符号上,而不是加到I/OMarker上。同时也要注意,只有当需要为一个引脚增加属性时,才需要I/OPad符号,否则,只需要一个I/OMarker即可。(1)在菜单条上选择“Edit”“Attribute”“SymbolAttribute”项,这时会出现一个“SymbolAttributeEditor”对话框,如图6.32所示。,图6.32
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广东教育出版社出版六年级品德与社会复习
- 2026届长沙市重点中学化学九年级第一学期期末经典模拟试题含解析
- 山东省肥城市2026届九上化学期中学业质量监测试题含解析
- 2026届江苏省江阴市澄要片英语九年级第一学期期末检测试题含解析
- 2026届四川省甘孜县九年级化学第一学期期中学业水平测试模拟试题含解析
- 2026届安徽省宿州市鹏程中学化学九年级第一学期期末教学质量检测模拟试题含解析
- 水电人防劳务合同5篇
- 办公空间租赁合同主体变更及租金调整协议
- 财务稳健型私人小企业员工薪资支付合同
- 跨国婚姻离婚协议:资产评估与跨境财产分配
- 品酒师(黄酒)理论知识考核要素细目表四级
- 山茱萸培训课件
- 健康照护师测试题及答案【300题】附有答案
- 西师版五年级上册数学全册教案设计
- 液压软管接头24°锥密封端软管接头规范指引
- 2024挡烟垂壁包工合同协议书
- 2024年中医经典知识竞赛考试题库300题(含答案)
- 二级简码口诀和二级简码表
- 广州版初中英语词汇表
- 肿瘤与冠心病 - 副本
- 共享农机管理平台综合解决方案
评论
0/150
提交评论