版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
选择题:以下关于信号和变量的描述中错误的是()信号是描述硬件系统的基本数据对象,它的性质类似于连接线信号的定义范围是结构体、进程除了没有方向说明以外,信号与实体的端口概念是一致的在进程中不能将变量列入敏感信号列表中以下关于状态机的描述中正确的是()Moore型状态机其输出是当前状态和所有输入的函数与Moore型状态机相比,Mealy型的输出变化要领先一个时钟周期Mealy型状态机其输出是当前状态的函数以上都不对下列标识符中,()是不合法的标识符。PP0 END Not_Ack sig大规模可编程器件主要有FPGA、CPLD两类,下列对CPLD结构与工作原理的描述中,正确的是()。CPLD即是现场可编程逻辑器件的英文简称CPLD是基于查找表结构的可编程逻辑器件早期的CPLD是从GAL的结构扩展而来在Altera公司生产的器件中,FLEX10K系列属CPLD结构综合是EDA设计流程的关键步骤,在下面对综合的描述中,()是错误的。综合就是把抽象设计层次中的一种表示转化成另一种表示的过程综合就是将电路的高级语言转化成低级的,可与FPGA/CPLD的基本结构相映射的网表文件为实现系统的速度、面积、性能的要求,需要对综合加以约束,称为综合约束综合可理解为,将软件描述与给定的硬件结构用电路网表文件表示的映射过程,并且这种映射关系是唯一的(即综合结果是唯一的)嵌套使用IF语句,其综合结果可实现()。带优先级且条件相与的逻辑电路条件相或的逻辑电路三态控制电路双向控制电路在VHDL语言中,下列对时钟边沿检测描述中,错误的是()。ifclk'eventandclk=‘1’theniffalling_edge(clk)thenifclk’eventandclk=‘0’thenifclk’stableandnotclk=‘1’then下列那个流程是正确的基于EDA软件的FPGA/CPLD设计流程原理图/HDL文本输入→适配→综合→功能仿真→编程下载→硬件测试原理图/HDL文本输入→功能仿真→综合→适配→编程下载→硬件测试原理图/HDL文本输入→功能仿真→综合→编程下载→→适配硬件测试;原理图/HDL文本输入→功能仿真→适配→编程下载→综合→硬件测试在VHDL语言中,下列对进程(PROCESS)语句的语句结构及语法规则的描述中,正确的是()。PROCESS为一无限循环语句;敏感信号发生更新时启动进程,执行完成后,等待下一次进程启动敏感信号参数表中,应列出进程中使用的所有输入信号进程由说明部分、结构体部分、和敏感信号参数表三部分组成当前进程中声明的变量也可用于其他进程下列语句中,不属于并行语句的是()进程语句 CASE语句 元件例化语句 WHEN…ELSE…语句VHDL语言共支持四种常用库,其中哪种库是用户的VHDL设计现行工作库() IEEE库 VITAL库 STD库 WORK库VHDL语言是一种结构化设计语言;一个设计实体(电路模块)包括实体与结构体两部分,结构体描述()。器件外部特性器件的综合约束器件外部特性与内部功能器件的内部功能嵌套的IF语句,其综合结果可实现()。条件相与的逻辑条件相或的逻辑条件相异或的逻辑三态控制电路在一个VHDL设计中,idata是一个信号,数据类型为std_logic_vector,试指出下面那个赋值语句是错误的。idata<=“00001111”idata<=b”0000_1111”idata<=X”AB”;idata<=B”21”在VHDL语言中,下列对时钟边沿检测描述中,错误的是()。ifclk’eventandclk=‘1’iffalling_edge(clk)thenifclk’eventandclk=‘0’ifclk’stableandnotclk=‘1’请指出AlteraCyclone系列中的EP1C6Q240C8这个器件是属于()ROMCPLDFPGAGAL综合是EDA设计流程的关键步骤,在下面对综合的描述中,()是错误的。综合就是把抽象设计层次中的一种表示转化成另一种表示的过程;综合就是将电路的高级语言转化成低级的,可与FPGA/CPLD的基本结构相映射的网表文件;为实现系统的速度、面积、性能的要求,需要对综合加以约束,称为综合约束;综合可理解为,将软件描述与给定的硬件结构用电路网表文件表示的映射过程,并且这种映射关系是唯一的(即综合结果是唯一的)。大规模可编程器件主要有FPGA、CPLD两类,下列对FPGA结构与工作原理的描述中,正确的是()。FPGA是基于乘积项结构的可编程逻辑器件;FPGA是全称为复杂可编程逻辑器件;基于SRAM的FPGA器件,在每次上电后必须进行一次配置;在Altera公司生产的器件中,MAX7000系列属FPGA结构。进程中的变量赋值语句,其变量更新是()。立即完成;按顺序完成;在进程的最后完成;都不对。VHDL语言是一种结构化设计语言;一个设计实体(电路模块)包括实体与结构体两部分,结构体描述()。器件外部特性;器件的综合约束;器件外部特性与内部功能;器件的内部功能。不完整的IF语句,其综合结果可实现()。 时序逻辑电路 组合逻辑电路 双向电路 三态控制电路下列标识符中,()是不合法的标识符。State0 9moon Not_Ack_0 signall关于VHDL中的数字,请找出以下数字中最大的一个:()。2#1111_1110#8#276#10#170#16#E#E1在VHDL中,用语句()表示检测clock的下升沿clock'EVENTclock'EVENTANDclock='1'clock='1'clock'EVENTANDclock='0'在VHDL中,语句“FORnIN0TO7LOOP”定义循环次数为()次17168在VHDL中,IF语句中至少应有1个条件句,条件句必须由()表达式构成。BOOLEANSTD_LOGICBIT任意在VHDL中,为目标信号的赋值符号是()。<==:==:在VHDL的端口声明语句中,用()声明端口为输出方向。INOUTINOUTBUFFER在VHDL的端口声明语句中,用()声明端口为输入方向。INOUTINOUTBUFFER在VHDL中,()的数据传输是立即发生的,不存在任何延时的行为。数据变量信号常量在VHDL的IEEE标准库中,预定义的标准逻辑位数据STD_LOGIC有()种逻辑值。3829在VHDL的FOR_LOOP语句中的循环变量是一个临时变量,属于LOOP语句的局部变量,()事先声明。必须不必其类型要其属性要在VHDL的并行语句之间,可以用()来传送往来消息。变量变量和信号信号常量在VHDL中用()来把特定的结构体关联一个确定的实体,为一个大型系统的设计提供管理和进行工程组织。输入输出综合配置在VHDL中,45_234_278属于()文字。整数以数制基数表示的实数物理量在VHDL中,88_670.551_278属于()文字。整数以数制基数表示的实数物理量在VHDL中,16#FE#属于()文字。整数以数制基数表示的实数物理量在VHDL中,100m属于(整数以数制基数表示的实数物理量在下列标识符中,()是VHDL合法的标识符。4h_addeh_addeh_adder_h_adde在下列标识符中,()是VHDL错误的标识符。4h_addeh_adde4h_adder_4h_adde在VHDL中,()不能将信息带出对它定义的当前设计单元。信号常量数据变量在VHDL中,()的数据传输是立即发生的,不存在任何延时的行为。信号常量数据变量在VHDL中,()的数据传输是不是立即发生的,目标信号的赋值需要一定的延时时间。信号常量数据变量在VHDL中,定义信号名时,可以用()符号为信号赋初值。<==:==:在VHDL的IEEE标准库中,预定义的标准逻辑位STD_LOGIC的数据类型中的数据是用()表示的。小写字母大写字母大或小写字母全部是数字
填空题下列是EDA技术应用时涉及的步骤:
A.原理图/HDL文本输入;B.适配;C.时序仿真;D.编程下载;E.硬件测试;F.综合请选择合适的项构成基于EDA软件的FPGA/CPLD设计流程:A→___F__→__B_→_C__→D→_E_下列优化方法中那两种是速度优化方法:__B_、__D__A.资源共享B.流水线C.串行化D.关键路径优化传统的系统硬件设计方法采用自底向上设计方法,硬件描述语言设计方法采用自顶向下设计方法VHDL的主要五部分构件是:库、包、实体、结构体以及配置。构造体描述方式分为:行为描述、寄存器传输(RTL)描述方法或称数据流和结构描述。数据对象(DATAOBJECTS)主要包括信号(SIGNAL)、变量(VARIABLE)和常量(CONSTANT),它们是用来存放各种类型数据的容器。在VHDL中最常用的库是IEEE标准库,最常用的程序包是STD_LOGIC_1164程序包。VHDL的实体由实体声明部分和结构体组成。VHDL中四类操作符分别是逻辑操作符(LogicalOperator)、关系操作符(RelationalOperator)、算术操作符(ArithmeticOperator)和符号操作符(SignOperator)。VHDL的7种基本逻辑操作符,它们是与(AND)、或(OR)、与非(NAND)、或非(NOR)、异或(XOR)、异或非(XNOR)和非(NOT)。实体和结构体是设计实体的基本组成部分,它们可以构成最基本的VHDL程序。在VHDL的端口声明语句中,端口方向包括IN(输入)、OUT(输出)、INOUT(双向)和BUFFER(缓冲)。VHDL的标识符名必须以字母开头,后跟若干字母、数字或单个下划线构成,但最后不能为下划线。为信号赋初值的符号是:=;程序中,为变量赋值的符号是:=,为信号赋值的符号是<=VHDL的数据类型包括标量类型、复合类型、存储类型和文件类型。在VHDL中,标准逻辑位数据有九种逻辑值。VHDL的操作符包括逻辑、算术、关系和并置四类。一个完整的VHDL语言程序通常包含库(library)、包集合(package)、实体(entity)、构造体(architecture)和配置各部分。在一个实体的端口方向说明时,输入使用in表示,那么构造体内部不能再使用的输出是用out表示;双向端口是用inout表示;构造体内部可再次使用的输出是用buffer表示;定义一个信号a,数据类型为4位标准逻辑向量signala:std_logic_vector(3downto0)定义一个变量b,数据类型为2位位向量variableb:bit_vector(1downto0)。<=是小于等于关系运算符,又是赋值运算操作符。VHDL语言中std_logic类型取值‘Z’表示高阻,取值‘X’表示不确定。整型对象的范围约束通常用range关键词,位矢量用downto/to关键词。位类型的初始化采用字符、位矢量用字符串。进程必须位于结构体内部,变量必须定义于进程/包/子程序内部。并置运算符&的功能是把多个位或位向量合并为一个位向量。进程执行的机制是敏感信号发生跳变。判断CLK信号上升沿到达的语句是ifclk’eventandclk=‘1’then.任何时序电路都以时钟为驱动信号,时序电路只是在时钟信号的边沿到来时,其状态才发生改变。Moore状态机输出只依赖于器件的当前状态,与输入信号无关。赋值语句是(并行/串行)并行执行的,if语句是(并行/串行)串行执行的。
判断题判断下列VHDL标识符是否合法,如有错指出原因16#0FA#()√10#12F#()√8#789#()√74HC245()D100%()×SIG-1N()×NOT_#M()×DATA_BUS_()×RETURN()×STATE0()√传统的系统硬件设计方法是采用自上而下(topdown)的设计方法,利用硬件描述语言(HDL)的硬件电路设计方法采用自下而上(bottomup)的设计方法。(×)传统的系统硬件设计方法是采用自下而上(bottomup)的设计方法,利用硬件描述语言(HDL)的硬件电路设计方法采用自上而下(topdown)的设计方法VHDL可以采用层次化的设计,一个高层的结构体中可以调用低层的实体(√)一个VHAL程序中仅能使用一个进程(process)语句。(×)可以使用多个进程语句。VHDL语言的预算操作包括了逻辑运算符、关系运算符、乘法运算符等,它们三者的优先级是相同的。(×)逻辑运算符<关系运算符<乘法运算进程语句中,不管在何时,process语句后面必须列出敏感信号(×)包含wait语句的进程语句可不列出敏感信号。在结构体中定义一个全局变量(VARIABLES),可以在所有进程中使用。(×)“变量(VARIABLES)”改为“信号”。EDA名词解释ASIC:专用集成电路(ApplicationSpecificIntegratedCircuits)EDA:电子设计自动化(ElectronicDesignAutomation)PROM:可编程只读存储器(ProgrammableReadMemory)IP:知识产权核()SOC:片上系统(SystemOnChip)VHDL:超高速集成电路硬件描述语言(VHSICHardwareDescriptionLanguage)。RTL: 寄存器传输级(RegisterTransportLevel)SOPC:可编程片上系统(SystemOnProgrammableChip)PLD:可编程逻辑器件(ProgrammableLogicArray)GAL:通用阵列逻辑(GeniricArrayLogic)FPGA:现场可编程门阵列(FieldProgrammableGateArray)CPLD:复杂可编程逻辑器件(ComplexProgrammableLogicDevice)
简答题简述VHDL程序的基本结构。库、程序包、实体、结构体、配置子程序分为那两类,其结构为什么。子程序有两种类型,即过程(PROCEDURE)和函数(FUNCTION)。FUNCTION函数名(参数表)RETURN数据类型--函数首FUNCTION函数名(参数表)RETURN数据类型IS--函数体[说明部分]BEGIN顺序语句;ENDFUNCTION函数名;PROCEDURE过程名(参数表)--过程首PROCEDURE过程名(参数表)IS--过程体[说明部分]BIGIN顺序语句;ENDPROCEDURE过程名;信号与变量的赋值有何区别?。信号延时赋值,变量立即赋值;信号的代入使用<=,变量的代入使用:=;信号在实际的硬件当中有对应的连线,变量没有 可编程器件分为哪些类?答:一类是集成度较低的,早期出现的PROM、PLD、PAL、GAL,可用的逻辑门数大约在500门以下,称为简单PLD。另一类是芯片集成度较高的,如现在大量使用的CPLD和FPGA器件,称为复杂PLD。CASE语句使用当中的注意事项。(1)条件句中的选择值必在表达式的取值范围内。(2)除非所有条件句中的选择值能完整覆盖CASE语句中表达式的取值,否则最末一个条件句中的选择必须用"OTHERS”表示,它代表己给的所有条件句中未能列出的其它可能的取值。关键词OTHERS只能出现一次,目只能作为最后一种条件取值。使用OTHERS的目的是为了使条件句中的所有选择值能涵盖表达式的所有取值,以免综合器会插入不必要的锁存器。这一点对于定义为STD_LOGIC和STD_LOGIC_VECTOR数据类型的值尤为重要,因为这些数据对象的取值除了1和0以外,还可能有其它的取值,如高阻态Z、不定态X等。(3)CASE语句中每一条件句的选择值只能出现一次,不能有相同选择值的条件语句出现。(4)CASE语句执行中必须选中,目只能选中所列条件语句中的一条。这表明CASE语句中至少要包含一个条件语句。赋值语句分哪些类,分别写出一句赋值语句。信号赋值语句,S<=变量赋值语句,V≔数据对象有哪些种,分别写出定义这些数据对象的一般表述格式。Constant(常量)在程序中不可以被赋值Variable(变量)在程序中可以被赋值(用“:=”),赋值后立即变化为新值。Signal(信号)在程序中可以被赋值(用“<=”),但不立即更新,当进程挂起后,才开始更新。简述进程语句的使用要点?[进程名:]process[(触发信号列表)][定义语句;]begin[串行处理语句sequentialstatement;]endprocessPROCESS...ENDPROCESS写出VHDL常用的顺序语句的名称。赋值语句流程控制语句等待语句子程序调用语句返回语句空操作语句VHDL语言中的逻辑操作符有那些?逻辑运算符AND、OR、NAND、NOR、XOR、XNOR及NOT使用原理图输入设计功能的优势何优点?与传统的数字电路实验相比,Quartus提供原理图设计功能具有不可比拟的优势和先进性:eq\o\ac(○,1)设计者不必具备许多诸如编程技术、硬件描述语言等知识就能迅速设计入门,完成大规模的电路系统设计eq\o\ac(○,2)能进行任意层次的数字系统设计(传统的数字电路实验只能完成单一层次的设计);eq\o\ac(○,3)能对系统中的任一层次,或任一元件的功能进行精确的时序仿真eq\o\ac(○,4)通过时序仿真,能迅速定位电路系统的错误所在,并随时纠正。eq\o\ac(○,5)能对设计方案进行随时更改,并储存设计工程中所有电路和测试文件入档;eq\o\ac(○,6)通过编译和下载,能在FPGA或CPLD上对设计项目随时进行硬件测试验证;eq\o\ac(○,7)如果使用FPGA和配置编程方式,将不会有损坏和损耗的问题eq\o\ac(○,8)符合现代电子设计技术规范。VHDL的操作符有那几大类?每一类的操作符分别是什么?每一类操作符可以对那些数据进行操作(运算)?在VHDL中有四类操作符即逻辑操作符(LogicalOperator)、关系操作符(RelationalOperator)、算术操作符(ArithmeticOperator)和符号操作符(SignOperator)。前三类操作符是完成逻辑和算术运算的最基本的操作符单元。标准逻辑位数据类型常用的数值有哪几种?'U'--Uninitialized未初始化的'X'--ForcingUnknown强未知的'0'--Forcing0强0'1'--Forcing1强1'Z'--HighImpedance高阻态'W'--WeakUnknown弱未知的'L'--Weak0弱0'H'--Weak1弱1'-'--Don'tcare忽略在VHDL语言中常见的数据类型有那些?VHDL中的数据类型可以分成四大类。标量型(ScalarType)复合类型(CompositeType)存取类型(AccessType)文件类型(FilesType)实体部分的端口模式有四个类型。IN模式:IN定义的通道确定为输入端口,并规定为单向只读模式,可以通过此端口将变量(Variable)信息或信号(Signal)信息读入设计实体中。OUT模式:OUT定义的通道确定为输出端口,并规定为单向输出模式,可以通过此端口将信号输出设计实体,或者说可以将设计实体中的信号向此端口赋值。INOUT模式:INOUT定义的通道确定为输入输出双向端口,即从端口的内部看,可以对此端口进行赋值,也可以通过此端口读入外部的数据信息;而从端口的外部看,信号既可以从此端口流出,也可以向此端口输入信号。INOUT模式包含了IN,OUT和BUFFER二种模式,因此可替代其中任何一种模式,但为了明确程序中各端口的实际任务,一般不作这种替代。BUFFER模式:BUFFER定义的通道确定为具有数据读入功能的输出端口,它与双向端口的区别在于只能接受一个驱动源。VHDL语句中顺序描述语句有哪几种?赋值语句流程控制语句等待语句子程序调用语句返回语句空操作语句用WAIT语句设置4种不同的条件分别是什么?对于不同的结束挂起条件的设置,WAIT语句有以下四种不同的语句格式。WAIT;--第一种语句格式WAITON信号表;--第二种语句格式WAITUNTIL条件表达式;--第三种语句格式WAITFOR时间表达式;--第四种语句格式,超时等待语句常用的if语句有哪几种?写出其书写格式。门闩IF条件句Then--第一种IF语句结构顺序语句ENDIF二选一IF条件句Then--第二种IF语句结构顺序语句ELSE顺序语句ENDIF多选择IF条件句Then--第三种IF语句结构顺序语句ELSIF条件句Then顺序语句...ELSE顺序语句ENDIFIF的嵌套IF条件句ThenIF条件句Then...ENDIFENDIF如何描述时钟上升沿和下降沿?时钟脉冲的上升沿的条件可以写为:IFclock_signal=current_valueANDclock_signal’LAST_VALUEANDclock_signal’EVENT也可以简写为:IFclock_signal=clock_signal’EVENTANDcurrent_value时钟脉冲的下降沿的条件可以写为:IFclock_signal=current_valueANDclock_signal’LAST_VALUEANDclock_signal’EVENT回答题指出信号和变量有哪些区别?简单的说,信号是全局的,用于结构体中并行语句间数据流的传递;变量则是局部的,他主要用于单个进程中中间变量的存储.主要用于对暂时数据进行局部存储。临时数据,没有物理意义只能在Process和Function中定义,并只在其内部有效要使其全局有效,先转换为Signal。用:=进行赋值 variableresult:std_logic:='0';变量说明的格式:VARIABLE变量名:数据类型约束条件:=表达式;例:VARIABLEX,Y:INTEGER;VARIABLEC:INTEGERRANGE0TO255:=10;(表示变量C的数据类型是整型,变量范围从0到255,初始值为10。)变量只能在进程语句、函数语句和过程语句结构中使用,它是一个局部量。在仿真过程中,它不像信号那样,到了规定的仿真时间才进行赋值,变量是立即生效的。信号是抽象的电子电路内部硬件连接。它除了没有数据流动方向说明以外,其它性质几乎和前面所述的端口概念一致。信号通常在构造体、包集合和实体内说明。信号说明的格式:SIGNAL信号名;数据类型约束条件:=表达式;例:SIGNALa,b,c:STD_LOGIC;SIGNALCOUNT_2:STD_LOGIC_VECTOR(1DOWNTO0);SIGNALS_CLK:BIT:='0';信号(Signals)代表连线,Port也是一种信号。没有方向性,可给它赋值,也可当作输入在Entity中和Architecture中定义设定的初始值在综合时没有用,只是在仿真时在开始设定一个起始值。用<=进行赋值。信号和变量值的代入不仅形式不同,而且其操作过程也不同。在变量的赋值语句中,该语句一旦被执行,其值立即被赋予变量。在执行下一条语句时,该变量的值就为上一句新赋的值。变量赋值符为“:=”。信号代入语句采用“<=”代入符,该语句即使被执行也不会使信号立即发生代入。下一条语句执行时,仍使用原来的信号值。由于信号代入语句是同时进行处理的,因此,实际代入过程和代入语句的处理是分开进行的。信号赋值语句在什么情况下作为并行语句?在什么情况下作顺序语句?信号赋值和变量赋值符号分别是什么?两种赋值符号有什么区别?信号赋值语句在进程外作并行语句,并发执行,与语句所处的位置无关。信号赋值语句在进程内或子程序内做顺序语句,按顺序执行,与语句所处的位置有关。信号赋值符号为“<=”变量赋值用“:=”。信号赋值符号用于信号赋值动作,不立即生效。变量,赋值符号用于变量赋值动作,立即生效。进程的敏感信号表指的是什么?简述敏感信号表在进程中的作用?进程的“敏感信号表”也称敏感表,是进程的激活条件,可由一个或多个信号组成,各信号间以“,”号分隔。当敏感信号表中的任一个信号有事件发生,即发生任意变化,此时,进程被激活,进程中的语句将从上到下逐句执行一遍,当最后一条语句执行完毕之后,进程即进入等待挂起状态,直到下一次敏感表中的信号有事件发生,进程再次被激活,如此循环往复。什么是库、程序包、子程序、过程调用和函数调用?库和程序包用来描述和保存元件、类型说明和子程序等,以便在其它设计中通过其目录可查询、调用。子程序由过程和函数组成。在子程序调用过程中,过程能返回多个变量,函数只能返回一个变量。若子程序调用的是一个过程,就称为过程调用,若子程序调用的是一个函数,则称为函数调用。过程调用、函数调用都是子程序调用。简述WHEN_ELSE条件信号赋值语句和IF_ELSE顺序语句的异同。答:WHEN_ELSE条件信号赋值语句中无标点,只有最后有分号;必须成对出现;是并行语句,必须放在结构体中。IF_ELSE顺序语句中有分号;是顺序语句,必须放在进程中。简述实体端口的模式输入(Input):clk、reset、en、addr等输出(Output):输出信号,不能内部引用双向(Inout):可代替所有其他模式,用于设计双向总线缓冲(Buffer):与Output类似,但允许该管脚名作为一些逻辑的输入信号进程语句是设计人员描述结构体时使用最为频繁的语句,简述其特点。它可以与其它进程并发执行,并可存取结构体或实体中所定义的信号;进程结构中的所有语句都是按顺序执行的;为了启动进程,在进程结构中必须包含一个显式的敏感信号量表或者包含一个wait语句; 进程之间的通信是通过信号量的传递来实现的。EDA技术与ASIC设计和FPGA开发有什么关系?答:利用EDA技术进行电子系统设计的最后目标是完成专用集成电路ASIC的设计和实现;FPGA和CPLD是实现这一途径的主流器件。FPGA和CPLD通常也被称为可编程专用IC,或可编程ASIC。FPGA和CPLD的应用是EDA技术有机融合软硬件电子设计技术、SoC(片上系统)和ASIC设计,以及对自动设计与自动实现最典型的诠释。与软件描述语言相比,VHDL有什么特点?答:编译器将软件程序翻译成基于某种特定CPU的机器代码,这种代码仅限于这种CPU而不能移植,并且机器代码不代表硬件结构,更不能改变CPU的硬件结构,只能被动地为其特定的硬件电路结构所利用。综合器将VHDL程序转化的目标是底层的电路结构网表文件,这种满足VHDL设计程序功能描述的电路结构,不依赖于任何特定硬件环境;具有相对独立性。综合器在将VHDL(硬件描述语言)表达的电路功能转化成具体的电路结构网表过程中,具有明显的能动性和创造性,它不是机械的一一对应式的“翻译”,而是根据设计库、工艺库以及预先设置的各类约束条件,选择最优的方式完成电路结构的设计。什么是综合?有哪些类型?综合在电子设计自动化中的地位是什么?什么是综合?答:在电子设计领域中综合的概念可以表示为:将用行为和功能层次表达的电子系统转换为低层次的便于具体实现的模块组合装配的过程。有哪些类型?答:(1)从自然语言转换到VHDL语言算法表示,即自然语言综合。(2)从算法表示转换到寄存器传输级(RegisterTransportLevel,RTL),即从行为域到结构域的综合,即行为综合。(3)从RTL级表示转换到逻辑门(包括触发器)的表示,即逻辑综合。(4)从逻辑门表示转换到版图表示(ASIC设计),或转换到FPGA的配置网表文件,可称为版图综合或结构综合。综合在电子设计自动化中的地位是什么?答:是核心地位(见图1-3)。综合器具有更复杂的工作环境,综合器在接受VHDL程序并准备对其综合前,必须获得与最终实现设计电路硬件特征相关的工艺库信息,以及获得优化综合的诸多约束条件信息;根据工艺库和约束条件信息,将VHDL程序转化成电路实现的相关信息。在EDA技术中,自顶向下的设计方法的重要意义是什么?答:在EDA技术应用中,自顶向下的设计方法,就是在整个设计流程中各设计环节逐步求精的过程。IP在EDA技术的应用和发展中的意义是什么?答:IP核具有规范的接口协议,良好的可移植与可测试性,为系统开发提供了可靠的保证。叙述EDA的FPGA/CPLD设计流程。答:1.设计输入(原理图/HDL文本编辑);2.综合;3.适配;4.时序仿真与功能仿真;5.编程下载;6.硬件测试。IP是什么?IP与EDA技术的关系是什么?IP是什么?答:IP是知识产权核或知识产权模块,用于ASIC或FPGA/CPLD中的预先设计好的电路功能模块。IP与EDA技术的关系是什么?答:IP在EDA技术开发中具有十分重要的地位;与EDA技术的关系分有软IP、固IP、硬IP:软IP是用VHDL等硬件描述语言描述的功能块,并不涉及用什么具体电路元件实现这些功能;软IP通常是以硬件描述语言HDL源文件的形式出现。固IP是完成了综合的功能块,具有较大的设计深度,以网表文件的形式提交客户使用。硬IP提供设计的最终阶段产品:掩模。叙述ASIC的设计方法。答:ASIC设计方法,按版图结构及制造方法分有半定制(Semi-custom)和全定制(Full-custom)两种实现方法。全定制方法是一种基于晶体管级的,手工设计版图的制造方法。半定制法是一种约束性设计方式,约束的目的是简化设计,缩短设计周期,降低设计成本,提高设计正确率。半定制法按逻辑实现的方式不同,可再分为门阵列法、标准单元法和可编程逻辑器件法。FPGA/CPLD在ASIC设计中有什么用途?答:FPGA/CPLD在ASIC设计中,属于可编程ASIC的逻辑器件;使设计效率大为提高,上市的时间大为缩短。简述在基于FPGA/CPLD的EDA设计流程中所涉及的EDA工具,及其在整个流程中的作用。答:基于FPGA/CPLD的EDA设计流程中所涉及的EDA工具有:设计输入编辑器(作用:接受不同的设计输入表达方式,如原理图输入方式、状态图输入方式、波形输入方式以及HDL的文本输入方式。);HDL综合器(作用:HDL综合器根据工艺库和约束条件信息,将设计输入编辑器提供的信息转化为目标器件硬件结构细节的信息,并在数字电路设计技术、化简优化算法以及计算机软件等复杂结体进行优化处理);仿真器(作用:行为模型的表达、电子系统的建模、逻辑电路的验证及门级系统的测试);适配器(作用:完成目标系统在器件上的布局和布线);下载器(作用:把设计结果信息下载到对应的实际器件,实现硬件设计)。OLMC(输出逻辑宏单元)有何功能?说明GAL是怎样实现可编程组合电路与时序电路的。OLMC有何功能?答:OLMC单元设有多种组态,可配置成专用组合输出、专用输入、组合输出双向口、寄存器输出、寄存器输出双向口等。说明GAL是怎样实现可编程组合电路与时序电路的?答:GAL(通用阵列逻辑器件)是通过对其中的OLMC(输出逻辑宏单元)的编程和三种模式配置(寄存器模式、复合模式、简单模式),实现组合电路与时序电路设计的。什么是基于乘积项的可编程逻辑结构?答:GAL、CPLD之类都是基于乘积项的可编程结构;即包含有可编程与阵列和固定的或阵列的PAL(可编程阵列逻辑)器件构成。什么是基于查找表的可编程逻辑结构?答:FPGA(现场可编程门阵列)是基于查找表的可编程逻辑结构。FPGA系列器件中的LAB有何作用?答:FPGA(Cyclone/CycloneII)系列器件主要由逻辑阵列块LAB、嵌入式存储器块(EAB)、I/O单元、嵌入式硬件乘法器和PLL等模块构成;其中LAB(逻辑阵列块)由一系列相邻的LE(逻辑单元)构成的;FPGA可编程资源主要来自逻辑阵列块LAB。与传统的测试技术相比,边界扫描技术有何优点?答:使用BST(边界扫描测试)规范测试,不必使用物理探针,可在器件正常工作时在系统捕获测量的功能数据。克服传统的外探针测试法和“针床”夹具测试法来无法对IC内部节点无法测试的难题。解释编程与配置这两个概念。答:编程:基于电可擦除存储单元的EEPROM或Flash技术。CPLD一股使用此技术进行编程。CPLD被编程后改变了电可擦除存储单元中的信息,掉电后可保存。电可擦除编程工艺的优点是编程后信息不会因掉电而丢失,但编程次数有限,编程的速度不快。配置:基于SRAM查找表的编程单元。编程信息是保存在SRAM中的,SRAM在掉电后编程信息立即丢失,在下次上电后,还需要重新载入编程信息。大部分FPGA采用该种编程工艺。该类器件的编程一般称为配置。对于SRAM型FPGA来说,配置次数无限,且速度快;在加电时可随时更改逻辑;下载信息的保密性也不如电可擦除的编程。请参阅相关资料,并回答问题:按本章给出的归类方式,将基于乘积项的可编程逻辑结构的PLD器件归类为CPLD;将基于查找表的可编程逻辑结构的PLD器什归类为FPGA,那么,APEX系列属于什么类型PLD器件?MAXII系列又属于什么类型的PLD器件?为什么?答:APEX(AdvancedLogicElementMatrix)系列属于FPGA类型PLD器件;编程信息存于SRAM中。MAXII系列属于CPLD类型的PLD器件;编程信息存于EEPROM中。综合题完成解释带有下划线的语句。画出该程序的原理图符号。说明该程序逻辑功能。改用WITH_SELECT_WHEN语句编写下列程序。Libraryieee;Useieee.std_logic_1164.all;定义元件库entityqk_11isport(a,b,c,d,en:instd_logic;s:instd_logic_vector(1downto0);输入信号s是两位的输入总线op:outstd_logic);endqk_11;architecturear_1ofqk_11issignalf:std_logic_vector(2downto0);beginf<=en&s;将输入信号en和s连接赋值给fprocess(f)敏感信号f的变化将启动进程processbegincasefiswhen"100"=>op<=a;when"101"=>op<=b;when"110"=>op<=c;whenothers=>op<=d;其他情况,将输入信号d赋值给opendcase;endprocess;endar_1;逻辑功能是:带有使能端en的四选一数据选择器。用WITH_SELECT_WHEN语句编写上述程序:Libraryieee;Useieee.std_logic_1164.all;entityqk_11isport(a,b,c,d,en:instd_logic;s:instd_logic_vector(1downto0);op:outstd_logic);endqk_11;architecturear_1ofqk_11issignalf:std_logic_vector(2downto0);beginf<=en&s;withfselectop<=awhen"100",bwhen"101",cwhen"110",dwhenothers;endar_1;以下是一个模为24(0~23)的8421BCD码加法计数器VHDL描述,请补充完整LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYtbISPORT(CLK:INSTD_LOGIC;SHI,GE:OUTEND;ARCHITECTUREbhvOFtbISSIGNALSHI1,GE1:INTEGERBEGIN PROCESS(CLK)BEGIN IFCLK'EVENTANDCLK='1'then IFGE1=9THEN GE1<=0;SHI1<=SHI1+1;ELSIFSHI1=2ANDGE1=3THENSHI1<=0;GE1<=0;ELSEGE1<=GE1+1; ENDIF; ENDIF;ENDPROCESS; GE<=GE1;SHI<=SHI1;ENDbhv;下面程序是参数可定制带计数使能异步复位计数器的VHDL描述,试补充完整。--N-bitUpCounterwithLoad,CountEnable,and--AsynchronousResetlibraryieee;useIEEE.std_logic_1164.all;useIEEE.std_logic_unsigned.all;useIEEE.std_logic_arith.all;entitycounter_nis generic(width:integer:=8); port(data:instd_logic_vector(width-1downto0); load,en,clk,rst:instd_logic; q:outstd_logic_vector(width-1downto0));endcounter_n;architecturebehaveofcounter_nis signalcount:std_logic_vector(width-1downto0); begin process(clk,rst) begin ifrst='1'then count<=(others=>‘0’) elsifclk’eventandclk=‘1’ ifload='1'then count<=data; elsifen='1'then count<=count+1; endif; endif; endprocess; q<=count; endbehave;补全下列六进制计数器cnt6程序(10分)LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;ENTITYcnt6ISPORT(reset,en,clk:INSTD_LOGIC;carry:OUTSTD_LOGIC;q:OUTSTD_ULOGIC_VECTOR(2DOWNTO0));ENDcnt6;ARCHITECTURErtlOFcnt6ISSIGNALqs:STD_LOGIC_VECTOR(2DOWNTO0);SIGNALca:STD_LOGIC;BEGINPROCESS(clk) VARIABLEq6:INTEGER;BEGIN IF(clk'EVENTANDclk='1')THENENDIF;qs<=CONV_STD_LOGIC_VECTOR(q6,3);q<=TO_STDULOGICVECTOR(qs);ENDPROCESS;PROCESS(ca,en)BEGIN carry<=caANDen;ENDPROCESS;ENDrtl;补全以下二选一VHDL程序(本题10分)Entitymuxisport(d0,d1,sel:inbit;q:outBIT);endmux;architectureconnectofMUXissignaltmp1,TMP2,tmp3:bit;begincale:blockbegintmp1<=d0andsel;tmp2<=d1and(notsel)tmp3<=tmp1andtmp2;q<=tmp3;endblockcale;endCONNECT;根据下表填写完成一个3-8线译码器的VHDL程序(10分)。LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYdecoder_3_to_8ISPORT(a,b,c,g1,g2a,g2b:INSTD_LOGIC;y:OUTSTD_LOGIC_VECTOR(7DOWNTO0));ENDdecoder_3_to_8;ARCHITECTURErtlOFdecoder_3_to_8ISSIGNALindata:STD_LOGIC_VECTOR(2DOWNTO0);BEGINindata<=c&b&a;PROCESS(indata,g1,g2a,g2b)BEGINIF(g1='1'ANDg2a='0'ANDg2b='0')THENCASEindataISWHEN"000"=>y<="11111110";WHEN"001"=>y<="11111101";WHEN"010"=>y<="11111011"; WHEN"011"=>y<="11110111";WHEN"100"=>y<="11101111";WHEN"101"=>y<="11011111";WHEN"110"=>y<="10111111"; WHEN"111"=>y<="01111111";WHENOTHERS=>y<="XXXXXXXX";ENDCASE;ELSEy<="11111111"; ENDIF;ENDPROCESS; (16)ENDrtl;填写完成一个8-3线编码器的VHDL程序(16分)。Libraryieee;useieee.std_logic_1164.all;useieee.std_logic_arith.all;useieee.std_logic_unsigned.all;entityeight_triis port( b: instd_logic_vector(7downto0); en: instd_logic; y: out std_logic_vector(2downto0) );endeight_tri;architectureaofeight_triissignalsel:std_logic_vector(8downto0); begin sel<=en&b; y<=“000”when(sel=”100000001”)else “001”when(sel=”100000010” “010”when(sel=”100000100”)else “011”when(sel=”100001000”)else “100”when(sel=”100010000” “101”when(sel=”100100000”)else “110”when(sel=”101000000” “111”when(sel=”110000000” “zzz”;enda;LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;entityfull_addis port( a,b: in std_logic_vector(3downto0);(2) carr: inoutstd_logic_vector(4downto0); sum: out std_logic_vector(3downto0) );endfull_add;architecturefull_add_archoffull_addiscomponentadderport( a,b,c: in std_logic; carr: inout std_logic; sum: out std_logic );endcomponent;begin carr(0)<='0'; u0:adder portmap(a(0),b(0),carr(0),carr(1),sum(0)); u1:adder portmap(a(1),b(1),carr(1),carr(2),sum(1)); u2:adder portmap(a(2),b(2),carr(2),carr(3),sum(2)); u3:adder portmap(a(3),b(3),carr(3),carr(4),sum(3));endfull_add_arch;补充完整如下代码,使之完成4状态不断循环。(本题10分)ARCHITECTUREarcOFssIStypestatesis(st0,st1,st2,st3);signaloutc:states;BEGIN PROCESS(clk) BEGIN IFreset='1'then outc<=st0; elsifclk'eventandclk='1'thenCASEoutcISWHENst0=>outc<=st1;WHENst1=>outc<=st2;WHENst2=>outc<=st3;WHENst3=>outc<=st0;WHENOTHERS=>outc<=st0;ENDCASE; endif; ENDPROCESS;ENDarc;根据一下四选一程序的结构体部分,完成实体程序部分(本题8分)LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;entityMUX4is port( s: instd_logic_vector(1downto0); d: instd_logic_vector(3downto0); y: outstd_logic );endMUX4;architecturebehaveofMUX4isbeginprocess(s) begin if(s="00")then y<=d(0); elsif(s="01")then y<=d(1); elsif(s="10")then y<=d(2); elsif(s="11")then y<=d(3); else null; endif;endprocess;endbehave; 程序改错题仔细阅读下列程序,回答问题1LIBRARYIEEE;2USEIEEE.STD_LOGIC_1164.ALL;3USEIEEE.STD_LOGIC_UNSIGNED.ALL;4ENTITYgcIS5PORT(CLK:INSTD_LOGIC;6Q:OUTSTD_LOGIC_VECTOR(3DOWNTO0));7ENDgc;8ARCHITECTUREbhvOFgcIS9 SIGNALQ1:RANGE0TO9;10 BEGIN11 PROCESS(clk,Q)12BEGIN13 IFRISING_EDGE(CLK)THEN14IFQ1<"1001"THEN15 Q1<=Q1+1;16 ELSE17Q1<=(OTHERS=>'0');18 ENDIF;19ENDIF;20ENDPROCESS;21 Q<=Q1;22ENDbhv;程序编译时,提示的错误为:Error:Line9:Filee:\mywork\test\gc.vhd:VHDLsyntaxerror:subtypeindicationmusthaveresolutionfunctionortypemark,butfoundRANGEinsteadError:Line11:Filee:\mywork\test\gc.vhd:interfaceDeclarationerror:can'treadport"Q"ofmodeOUT请回答问题:在程序中存在两处错误,试指出并修改正确(如果是缺少语句请指出应该插入的行号)答:(1)第9行有误,SIGNALQ1:RANGE0TO9数据类型有误,应该改成SIGNALQ1:STD_LOGIC_VECTOR(3DOWNTO0)(2)第11行有误,敏感信号列表中不能出现输出端口,应该改成PROCESS(clk)仔细阅读下列程序,回答问题LIBRARYIEEE; --1USEIEEE.STD_LOGIC_1164.ALL; --2ENTITYLED7SEGIS --3PORT( A :INSTD_LOGIC_VECTOR(3DOWNTO0); --4 CLK :INSTD_LOGIC; --5 LED7S:OUTSTD_LOGIC_VECTOR(6DOWNTO0)); --6ENDLED7SEG; --7ARCHITECTUREoneOFLED7SEGIS --8 SIGNALTMP:STD_LOGIC; --9BEGIN --10 SYNC:PROCESS(CLK,A) --11 BEGIN --12 IFCLK'EVENTANDCLK='1'THEN --13 TMP<=A; --14 ENDIF; --15 ENDPROCESS; --16 OUTLED:PROCESS(TMP) --17 BEGIN --18 CASETMPIS --19 WHEN"0000"=>LED7S<="0111111"; --20 WHEN"0001"=>LED7S<="0000110"; --21 WHEN"0010"=>LED7S<="1011011"; --22 WHEN"0011"=>LED7S<="1001111"; --23 WHEN"0100"=>LED7S<="1100110"; --24 WHEN"0101"=>LED7S<="1101101"; --25 WHEN"0110"=>LED7S<="1111101"; --26 WHEN"0111"=>LED7S<="0000111"; --27 WHEN"1000"=>LED7S<="1111111"; --28 WHEN"1001"=>LED7S<="1101111"; --29 ENDCASE; --30 ENDPROCESS; --31ENDone;在程序中存在两处错误,试指出,并说明理由:在MAX+PlusII中编译时,提示的错误为:Error:Line14:Filef:\upload\eda\maxplusii\my_proj\s8_5\led7seg.vhd:Typeerror:typeinwaveformelementmustbe"std_ulogic"Error:Line19:Filef:\upload\eda\maxplusii\my_proj\s8_5\led7seg.vhd:VHDLsyntaxerror:expectedchoicesincasestatement14行,TMP和A矢量位宽不一致19行,CASE语句缺少WHENOTHERS语句处理剩余条件修改相应行的程序(如果是缺少语句请指出大致的行数):错误1 行号:9程序改为:SIGNALTMP:STD_LOGIC_VECTOR(3DOWNTO0);错误2 行号:29程序改为:这行后添加whenothers=>null;四选一电路LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYmux4ISPORT(i0,i1,i2,i3:INSTD_LOGIC_VECTOR(7downto0);a,b:INSTD_LOGIC;q:outSTD_LOGIC_VECTOR(7downto0);ENDmux4;ARCHITECTUREbehaveofmux4ISsignalsel:inSTD_LOGIC_VECTER(1DOWNTO0);BEGIN sel=a&b;z<=i1whensel='00' i2whenso='1'ANDs1='0' i3whenso='0'ANDs1='1' i4whenso='1'ANDs1='1'else“00000000”;ENDbehave;四选一电路LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYmux4ISPORT(input :INSTD_LOGIC_VECTOR(3downto0); a,b :INSTD_LOGIC; y :OUTSTD_LOGIC);ENDmux4;ARCHITECTURErtlOFmux4ISSIGNALsel:STD_LOGIC_VECTOR(1DOWNTO0);BEGIN sel<=b&a; PROCESS(input,sel) BEGINifsel="00"theny<=input(0);elseifsel="01"theny<=input(1);elseifsel="10"theny<=input(2);elsy<=input(3);ENDif;ENDprocess;ENDrtl;已知sel为STD_LOGIC_VECTOR(1DOWNTO0)类型的信号,而a、b、c、d、q均为STD_LOGIC类型的信号,请判断下面给出的CASE语句程序片段:CASEselISWHEN“00”=>q<=a;WHEN“01”=>q<=b;WHEN“10”=>q<=c;WHEN“11”=>q<=d;ENDCASE;答案:CASE语句缺“WHENOTHERS”语句。已知data_in1,data_in2为STD_LOGIC_VECTOR(15DOWNTO0)类型的输入端口,data_out为STD_LOGIC_VECTOR(15DOWNTO0)类型的输出端口,add_sub为STD_LOGIC类型的输入端口,请判断下面给出的程序片段:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYaddISPORT(data_in1,data_in2:ININTEGER;data_out:OUTINTEGER);ENDadd;ARCHTECTUREadd_archOFaddISCONSTANTa:INTEGER<=2;BEGINdata_out<=(data_in1+data_in2)*a;ENDaddsub_arch;答案:常量声明时赋初值的“<=”符号应改用“:=”符号。已知Q为STD_LOGIC类型的输出端口,请判断下面的程序片段:ARCHITECTUREtest_archOFtestISBEGINSIGNALB:STD_LOGIC;Q<=B;ENDtest_arch答案:信号SIGNAL的声明语句应该放在BEGIN语句之前。已知A和Q均为BIT类型的信号,请判断下面的程序片段:ARCHITECTUREarchtestOFtestISBEGINCASEAISWHEN‘0’=>Q<=‘1’;WHEN‘1’=>Q<=‘0’;ENDCASE;ENDarchtest;答案:CASE语句应该存在于进程PROCESS内。
编程题用IF语句编写一个二选一电路,要求输入a、b,sel为选择端,输出q。(本题10分)Entitysel2isPort( a,b:instd_logic; sel:instd_logic; q:outstd_logic);Endsel2; Architectureaofsel2isbegin ifsel=‘0’ q<=a; else q<=b; endif;enda;填写完成一个8-3线编码器的真值表(5分),并写出其VHDL程序(10分)。8-3线编码器真值表enby0y1y21000000000001000000100011000001000101000010000111000100001001001000001011010000001101100000001110xxxxxxxx高阻态entityeight_triis port( b: instd_logic_vector(7downto0); en: instd_logic; y: out std_logic_vector(2downto0) );endeight_tri; architectureaofeight_triissignalsel:std_logic_vector(8downto0); begin sel<=en&b; y<=“000”when(sel=”100000001”)else “001”when(sel=”100000010”)else “010”when(sel=”100000100”)else “011”when(sel=”100001000”)else “100”when(sel=”100010000”)else “101”when(sel=”100100000”)else “110”when(sel=”101000000”)else “111”when(sel=”110000000”)el
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- QC/T 644-2026汽车金属燃油箱
- 2026事业单位工勤技能-江西-江西医技工一级(高级技师)历年参考题库含答案详解3套试卷
- 外研版小学四年级英语下册课时1 Unit3 Everyone'sgottalent!教学设计
- 视神经炎谱系疾病的护理
- 美宝烧伤膏治疗疱疹
- 科室年度医院感染控制工作总结(2篇)
- 电商主管职业规划书
- 火车站消防安全管理规范
- 人生职业规划图表模板
- 2026及未来5年中国双挽式T.P.R造粒机数据监测研究报告
- 《csco前列腺癌诊疗指南》2025版
- 进出洁净区培训
- 2025至2030中国婴儿汽车安全座椅行业项目调研及市场前景预测评估报告
- 出租厂房安全生产责任书
- 2025年设备监理师职业资格考试设备工程项目管理历年参考题库及答案
- 品检员知识培训资料课件
- 日本eju考试物理真题及答案
- 2025上海市非全日制从业人员劳动合同模板
- 供水管网改造期间的供水保障与服务
- 2026年高考总复习优化设计一轮复习化学(广西版)-第1讲 化学反应的热效应
- 从理论到实践:斯根普数学教育思想的深度剖析与应用探索
评论
0/150
提交评论