版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 本科实验报告实验名称: 异步复位D触发器 课程名称:Vhdl上机实验实验时间:2014年5月8任课教师:桂小琰实验地点:4#427实验教师:任仕伟实验类型: 原理验证 综合设计 自主创新学生姓名:学号/班级:组 号:20学 院:信息与电子学院同组搭档:专 业:电子科学与技术成 绩:一、 实验目的熟悉modelsim仿真软件,学会软件操作和仿真流程;学会激励文件的编写和设置;完成一个简单题目,熟练掌握以上内容。二、 设计内容设计带有异步复位的D触发器:D触发器的电路符号如下图所示,它是一个上升沿触发的触发器,又一个数据输入端d、一个时钟输入端clk、一个异步复位端rst和数据输出端q。真值表如
2、下图所示,当只有复位端无效,并且上升沿过后,输入端的数据才传递到输出端q。 dclk qrst D触发器真值表数据输入时钟输入复位输入数据输出dclkrstqx00不变x10不变000101xx10输入引脚有3根,分别为时钟clk:STD_LOGIC类型,提供整个系统的时钟信号;输入信号d:STD_LOGIC类型,提供触发器的输入;复位信号rst:STD_LOGIC类型,提供系统复位; 输出引脚有1组,为d: STD_LOGIC类型,输出对应状态的结果。三、 实验操作1. 建立工程文件在建立工程(project)前,先建立一个工作库(library),命名为work,尤其是第一次运行软件时,是
3、没有work的,但一般project是在work下工作的,所以有必要先建立work。2. 写代码1) 写主程序:双击刚刚建立的.vhd文件,会出现程序编辑区,写完代码注意保存,然后在编译,否则编译无效。2) 写测试文件:testbench文件3. 编译1) 程序文件.vhd点右键,选择compile2) 编译有问题双击最下方命令窗口,出现错误提示。根据提示修改程序,直到成功为止。4. 仿真1) 点击屏幕左下角library切换键,点击work前的+,出现主文件和测试文件,右键选择仿真测试文件。2) 出现object框:3) 同时选中输入输出端口的信号,右键addtowaveselect sig
4、nals4) 设定运行时间,按旁边的run命令按钮,波形就出现了。按住ctrl滚动鼠标滚轮可以放大缩小波形。5. 停止仿真在仿真进行时,修改程序、编译等都是无效的,也不能强行关闭软件此时需要停止仿真,选择菜单栏中的simulateend simulation四、 实验代码主程序:LIBRARY IEEE;USE IEEE.std_logic_1164.all;ENTITY dff is PORT(d,clk,rst:IN STD_LOGIC; q:OUT STD_LOGIC);END ENTITY dff;ARCHITECTURE behavior OF dff isBEGIN PROCESS
5、(rst,clk) BEGIN IF(rst='1')THEN q<='0' ELSIF(clk'EVENT AND clk='1') THEN q<=d; END IF; END PROCESS;END ARCHITECTURE behavior;Testbench文件:library ieee;use ieee.std_logic_1164.all;entity test_bench is end test_bench;architecture tb_behavior of test_bench iscomponent d
6、ff port( d,clk,rst:in std_logic; q:out std_logic );end component;signal q,d,clk,rst:std_logic;begin dut:dff port map( d,clk,rst,q ); clk_gen:process begin clk<='0' wait for 50 ns; clk<='1' wait for 50 ns; end process; d_gen:process begin wait for 100 ns; d<='1' wait
7、for 100 ns; d<='0' end process; ret_gen:process begin rst<='1' wait for 150 ns; rst<='0' wait for 300 ns; rst<='1' wait; end process;end tb_behavior;五、 仿真结果由仿真结果可以看出,当复位信号无效时,时钟上升沿到来,D触发器d的值赋给q,当复位信号为“1”有效时,输出为“0”,结果正确。六、 实验心得本次实验主要是熟悉modelsim仿真软件,学会软件操作和仿
8、真流程,学会激励文件的编写和设置。在练习D触发器之后,我对整个实验的操作流程有了一个全面的熟悉。D触发器的程序比较简单,并且老师上课也讲过。不太熟悉的是Testbench文件的编写,仿照老师给的文件结构,以及按照错误提示修改程序,最后也编译成功了,虽然用的时间比较多,但是学会了元件例化以及端口映射的知识。 本科实验报告实验名称: 步进电机控制器 课程名称:Vhdl上机实验实验时间:2014年5月15任课教师:桂小琰实验地点:4#427实验教师:任仕伟实验类型: 原理验证 综合设计 自主创新学生姓名:学号/班级:组 号:20学 院:信息与电子学院同组搭档:专 业:电子科学与技术成 绩:一、 实验
9、目的通过设计状态机以进一步掌握VHDL硬件描述语言;熟悉状态机的编程思想,掌握模块化的状态机编程过程。二、 设计内容1. 模4状态机1)由于实验电路主要由时序电路组成,因此整体代码采用顺序描述语句实现。状态转换图如下: 步状态输出状态phase(3,0)S0S1S2S30001001001001000S0S1S2S310101010状态机与输出信号对应关系状态转换图2)输入输出引脚信号输入引脚有3根,分别为时钟clk:STD_LOGIC类型,提供整个系统的时钟信号;方向选择信号din:STD_LOGIC类型,选择状态机的状态转换方向;输出引脚有1组,为:phase(3:0): STD_LOGI
10、C_VECTOR类型,输出对应状态的结果。 3)设计原理状态机分为时序部分和逻辑部分。时序部分完成状态转换的功能;逻辑部分决定输出信号和次态。时序部分有四个状态,由固定的时钟信号驱动。当时钟上升沿到来时,自动跳转到次态。4个状态循环跳转。逻辑部分由现态驱动,依据现态选择输出信号和次态。当方向转换信号din为1时,次态按照转换图中顺时针转换;当方向转换信号din为0时,次态按照转换图中逆时针转换。时序部分使用PROCESS实现,其中的判断与选择使用IF条件语句;逻辑部分也使用PROCESS实现,次态和输出的确定可以使用CASE分支选择语句。在实验中,我加入了复位语句res,当复位信号有效时,状态
11、停留在s0,当无效的时候按照规定状态执行。2. BCD计数器1)转换图状态转换图状态机与输出信号对应关系状态输出状态phase(3,0)zeroonetwothreefourfivesixseveneightnine00000001001000110100010101100111100010012)输入输出引脚信号输入引脚有3根,分别为时钟clk:STD_LOGIC类型,提供整个系统的时钟信号;复位信号rst:STD_LOGIC类型,提供复位信息;输出引脚有1组,为:cout(3:0): STD_LOGIC_VECTOR类型,输出对应状态的结果。 3)设计原理 原理与模4状态机相同,只是多了几
12、个状态。状态变化按顺序依次变化。三、 实验操作建立工程文件、写代码、编译、仿真四、 实验代码1.模4状态机library ieee;use ieee.std_logic_1164.all;entity stepmotor isport(clk,res,di:in std_logic; phase:out std_logic_vector(3 downto 0); end entity; architecture step of stepmotor is type state is (s0,s1,s2,s3); signal pr_state,nx_state:state; begin proc
13、ess(clk) begin if(clk'event and clk='1')then if (res='1')then pr_state<=s0; else pr_state<=nx_state; end if; end if; end process; process(pr_state,di) begin if(di='1')then case pr_state is when s0=>nx_state<=s1;phase<="0001" when s1=>nx_state&l
14、t;=s2;phase<="0010" when s2=>nx_state<=s3;phase<="0100" when s3=>nx_state<=s0;phase<="1000" when others=>nx_state<=s0;phase<="0001" end case; elsif (di='0')then case pr_state is when s0=>nx_state<=s3;phase<="
15、0001" when s3=>nx_state<=s2;phase<="0010" when s2=>nx_state<=s1;phase<="0100" when s1=>nx_state<=s0;phase<="1000" when others=>nx_state<=s0;phase<="0001" end case; end if; end process;end architecture step;tb文件:library
16、ieee;use ieee.std_logic_1164.all;entity test_bench1 isend test_bench1;architecture tb_behavior of test_bench1 iscomponent stepmotor port(clk,res,di:in std_logic; phase:out std_logic_vector(3 downto 0);end component;type state is (s0,s1,s2,s3); signal pr_state,nx_state:state;signal clk,res,di:std_log
17、ic;signal phase:std_logic_vector(3 downto 0);begin dut:stepmotor port map( clk,res,di,phase ); clk_gen:process begin clk<='0' wait for 50 ns; clk<='1' wait for 50 ns; end process; ret_gen:process begin res<='1' wait for 1500 ns; res<='0' wait; end process;
18、 di_gen:process begin di<='1' wait for 8000 ns; di<='0' wait; end process; end tb_behavior;3. BCD计数器library ieee;use ieee.std_logic_1164.all;entity counter is port (clk,rst:in std_logic; count:out std_logic_vector(3 downto 0);end counter;architecture state_machine of counter is
19、 type state is (zero,one,two,three,four,five,six,seven,eight,nine); signal pr_state,nx_state:state; beginprocess(rst,clk) begin if(rst='0')then pr_state<=nx_state; end if;end process;process(pr_state)begin case pr_state is when zero=> count<="0000" nx_state<=one; when o
20、ne=> count<="0001" nx_state<=two; when two=> count<="0010" nx_state<=three; when three=> count<="0011" nx_state<=four; when four=> count<="0100" nx_state<=five; when five=> count<="0101" nx_state<=six; whe
21、n six=> count<="0110" nx_state<=seven; when seven=> count<="0111" nx_state<=eight; when eight=> count<="1000" nx_state<=nine; when nine=> count<="1001" nx_state<=zero; end case; end process; end state_machine;tb文件library iee
22、e;use ieee.std_logic_1164.all;entity test_bench isend test_bench;architecture tb_behavior of test_bench iscomponent counter port (clk,rst:in std_logic; count:out std_logic_vector(3 downto 0);end component;signal clk,rst:std_logic;signal count:std_logic_vector(3 downto 0);begin dut:counter port map(
23、clk,rst,count ); clk_gen:process begin clk<='0' wait for 50 ns; clk<='1' wait for 50 ns; end process; ret_gen:process begin rst<='1' wait for 500 ns; rst<='0' wait; end process;end tb_behavior;五、 实验结果模4状态机当复位信号有效时,输出被锁定在0001。在复位信号无效情况下,当方向选择信号di=1时,状态转换方向为
24、00010010010010000001;当方向选择信号di=0时,状态转换方向为00011000010000100001。由实验仿真结果可知,程序可以实现所要求的状态转换功能,实验成功。当复位信号有效时,输出被锁定在0000。在复位信号无效情况下,状态转换位 0000000100100011010001010110011110001001。由实验仿真结果可知,程序可以实现所要求的状态转换功能,实验成功。六、 实验心得通过这次实验,进一步熟悉了软件的操作,状态机使用了两个process,用了模块化思想。两个process是并发执行的,两个process里的语句又是顺序执行的。有了第一次的实验经
25、验,tb文件的编写也变得容易起来,课上老师也讲过了状态机的例题,总的来说没有遇到太大的问题。这次实验使我更加了解了“硬件描述语言”的设计思想,模块化以及层次化设计更具有描述能力。 本科实验报告实验名称: 16位加法器的设计 课程名称:Vhdl上机实验实验时间:2014年5月22任课教师:桂小琰实验地点:4#427实验教师:任仕伟实验类型: 原理验证 综合设计 自主创新学生姓名:学号/班级:组 号:20学 院:信息与电子学院同组搭档:专 业:电子科学与技术成 绩:一、 实验目的通过加法器以进一步掌握VHDL硬件描述语言;熟悉逐位进位加法器的原理与设计风格;熟悉包集和元件的使用。二、 设计内容1.
26、16位加法器的整体结构图:4_bit_adder4_bit_adder4_bit_adder4_bit_addercincoutS(3:0)S(7:4)S(11:8)S(15:12)A(15:12)A(11:8)A(7:4)A(3:0)B(15:12)B(11:8)B(7:4)B(3:0)16位加法器的整体结构图全加器真值表输入A输入B输入进位C输出S输出进位C000000011001010011011001010101110011111116位加法器是由4个4位加法器级联组成的,下级的输出送给上级,最后的结果为4个4位加法器的组合数。2.输入输出引脚信号输入引脚两个16位的加数以及1个1位的
27、进位信号,分别为a(15:0), b(15:0): STD_LOGIC_VECTOR类型,两个加数;cin: STD_LOGIC类型,初始进位信号。 输出引脚为1个16位的运算结果和1个1位的进位信号,分别为:s(15:0): STD_LOGIC_VECTOR类型,加法运算结果;cout: STD_LOGIC类型,进位信号。3.设计原理本实验要求使用包集和元件调用的方式来实现系统。因此,先要构建4位加法器,然后在16位加法器中调用4位加法器。1)4位加法器的设计4位逐位进位加法器的结构图本实验的4位加法器采用超前进位加法器。对于输入的两个4位加数a(3:0)、b(3:0)和进位信号cin,首先
28、要构建传播信号p(3:0)和进位产生信号g(3:0)。算法如下所示:p <= a xor b;g <= a and b;各级进位信号的产生算法如下所示:g1(0)<=cin; p1: for i in 0 to 3 generate g(i)<=a(i) and b(i); p(i)<=a(i) xor b(i); p2: if(i/=3) generate g1(i+1)<=g(i) xor (p(i) and g1(i);end generate;c(i)<=p(i) xor g1(i);end generate;输出的4位运算结果和进位信号cou
29、t的产生算法如下所示:c(4)<=g(3) or (p(3) and g1(3);cout<=c(4);s<=c(3 downto 0);2)16位加法器的设计16位加法器需要调用4位加法器。因此需要先写4位加法器程序。然后通过元件调用调用4位加法器。元件的声明可以放在主代码的结构体中,也可以放在包集中。为了增强代码的通用性,可以将声明放在包集中。本实验为了简化程序,将定义放在了主代码的结构体中。三、 实验操作建立工程文件、写代码、编译、仿真四、 实验代码主程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_log
30、ic_arith.all;entity adder is port(a,b:in std_logic_vector(15 downto 0); cin:in std_logic; cout:out std_logic; s:out std_logic_vector(15 downto 0);end entity adder;architecture behavior of adder iscomponent adder4 isport (a,b:in std_logic_vector(3 downto 0); cin:in std_logic; cout:out std_logic; s:ou
31、t std_logic_vector(3 downto 0); end component; signal c:std_logic_vector(4 downto 0); begin c(0)<=cin; p0:adder4 port map (a(3 downto 0),b(3 downto 0),c(0),c(1),s(3 downto 0); p1:adder4 port map (a(7 downto 4),b(7 downto 4),c(1),c(2),s(7 downto 4); p2:adder4 port map (a(11 downto 8),b(11 downto 8
32、),c(2),c(3),s(11 downto 8); p3:adder4 port map (a(15 downto 12),b(15 downto 12),c(3),c(4),s(15 downto 12); cout<=c(4); end architecture behavior;4位加法器:library ieee;use ieee.std_logic_1164.all;entity adder4 is port(a,b:in std_logic_vector(3 downto 0); cin:in std_logic; cout:out std_logic; s:out st
33、d_logic_vector(3 downto 0);end entity;architecture behavior of adder4 issignal g,p,g1:std_logic_vector(3 downto 0);signal c:std_logic_vector(4 downto 0);begin g1(0)<=cin; p1: for i in 0 to 3 generate g(i)<=a(i) and b(i); p(i)<=a(i) xor b(i); p2: if(i/=3) generate g1(i+1)<=g(i) xor (p(i)
34、and g1(i);end generate;c(i)<=p(i) xor g1(i);end generate;c(4)<=g(3) or (p(3) and g1(3);cout<=c(4);s<=c(3 downto 0);end architecture;tb文件:library ieee;use ieee.std_logic_1164.all;entity tb_adder isend tb_adder;architecture tb_behavior of tb_adder iscomponent adder port(a,b:in std_logic_ve
35、ctor(15 downto 0); cin:in std_logic; cout:out std_logic; s:out std_logic_vector(15 downto 0);end component; signal a,b: std_logic_vector(15 downto 0); signal cin: std_logic; signal cout: std_logic; signal s: std_logic_vector(15 downto 0);begin dut:adder port map( a,b,cin,cout,s ); a_gen:process begi
36、n a<="1111111111111111" wait for 200 ns; a<="0000000000000000" wait for 200 ns; end process; b_gen:process begin b<="1111111111111111" wait for 200 ns; b<="0000000000000000" wait for 200 ns; end process; cin_gen:process begin cin<='1' wa
37、it for 200 ns; cin<='0' wait; end process; end tb_behavior;五、 实验结果老师最后让测试十六进制ffff与ffff相加和0000与0000相加结果,由上图可以看出当进位为1的时候,ffff加ffff结果为ffff,当进位为0的时候,ffff加ffff结果为fffe结果正确,进位也正确。六、 实验感想首先,这次实验使我加深了对超前进位加法器的认识。通过这次实验,使我进一步掌握VHDL硬件描述语言。其次,程序设计需要有模块化的思想,通过包集和元件的调用,可以使用以前设计好的程序设计新的结构体。大大简化了程序设计的复杂程
38、度。这次实验中比较成功之处在于对实验原理理解较为透彻,参考书上讲的加法器,编程工作比较轻松。实验中运用循环语句,可以减少程序的语句的繁重编写。 本科实验报告实验名称: 选择运算器 课程名称:Vhdl上机实验实验时间:2014年5月29任课教师:桂小琰实验地点:4#427实验教师:任仕伟实验类型: 原理验证 综合设计 自主创新学生姓名:学号/班级:组 号:20学 院:信息与电子学院同组搭档:专 业:电子科学与技术成 绩:一、 实验目的通过设计选择运算器以进一步掌握VHDL硬件描述语言;熟悉比较器、乘法器的原理与设计风格;熟悉包集和元件的使用。二、 设计内容1选择运算器选择运算器由加法器、乘法器和
39、比较器三部分组成。首先判断A与B的关系,当A>B时,A与B相乘,当A<B时,A与B相加,当A=B时,输出0.A>BA<BA=B比较器×+0A(7:0)B(7:0)cout图1 选择运算器的整体结构图 2输入输出信号输入为两个8位的二进制数,分别为a(7:0), b(7:0): STD_LOGIC_VECTOR类型。输出引脚为1个16位的运算结果,为:cout(15:0): STD_LOGIC_VECTOR类型。3.设计原理1)比较器设计原理比较器是个比较简单的模块。将输入A与B进行比较,如果A>B则实现A与B的乘运算;如果A<B则实现A与B的加运算
40、;如果A=B则输出为0。使用CASE语句即可实现。2)乘法器设计原理本实验采用并行乘法器的结构,结构图如下:程序分为top_row,mid_row,lower_row三个模块,实现并行乘法3)加法器设计原理本实验使用包集和元件调用的方式来实现加法器。因此,先要构建4位加法器的基本原件,然后在8位加法器中调用2次使用。4位加法器的设计采用上次所用的超前进位加法器,8位加法器的设计需要调用4位加法器。三、 实验操作建立工程文件、写代码、编译、仿真四、 实验代码选择器:library ieee;use ieee.std_logic_1164.all;use work.my_file.all;enti
41、ty operation is port (a,b:in std_logic_vector(7 downto 0); cout:out std_logic_vector(15 downto 0); end operation; architecture xuanze of operation is signal temp1:std_logic_vector(15 downto 0); signal temp2:std_logic_vector(7 downto 0):="00000000" signal temp3:std_logic:='0' signal
42、 flag:integer range 1 to 3:=3; begin u1:component multiplier port map(a,b,temp1); u2:component adder port map(a,b,temp2,'0',temp3); process(a,b) begin if(a>b)then flag<=1; elsif(a<b)then flag<=2; else flag<=3; end if; end process; with flag select cout<= temp1 when 1, "
43、;0000000"&temp3&temp2 when 2, (others=>'0')when others; end xuanze;-library ieee;use ieee.std_logic_1164.all;package my_file is component multiplier is port( a,b:in std_logic_vector(7 downto 0); p:out std_logic_vector(15 downto 0); end component; component adder is port( a,b:
44、in std_logic_vector(7 downto 0); s:out std_logic_vector(7 downto 0); cin:in std_logic; cout:out std_logic); end component; end my_file;元件例化:library ieee;use ieee.std_logic_1164.all;package my_component is component and_2 is port( a,b:in std_logic; y:out std_logic); end component; component fau is po
45、rt( a,b,cin:in std_logic; s,cout:out std_logic); end component; component top_row is port( a:in std_logic; b:in std_logic_vector(7 downto 0); sout,cout:out std_logic_vector(6 downto 0); p:out std_logic); end component; component min_row is port( a:in std_logic; b:in std_logic_vector(7 downto 0); sin
46、,cin:in std_logic_vector(6 downto 0); sout,cout:out std_logic_vector(6 downto 0); p:out std_logic); end component; component lower_row is port( sin,cin:in std_logic_vector(6 downto 0); p:out std_logic_vector(7 downto 0); end component; end my_component;乘法器:library ieee;use ieee.std_logic_1164.all;us
47、e work.my_component.all;entity multiplier is port( a,b:in std_logic_vector(7 downto 0); p:out std_logic_vector(15 downto 0);end entity;architecture xuanze of multiplier istype m is array (0 to 7)of std_logic_vector(6 downto 0);signal s,c:m;begin u1:component top_row port map(a(0),b,s(0),c(0),p(0); u
48、2:component min_row port map(a(1),b,s(0),c(0),s(1),c(1),p(1); u3:component min_row port map(a(2),b,s(1),c(0),s(2),c(2),p(2); u4:component min_row port map(a(3),b,s(2),c(0),s(3),c(3),p(3); u5:component min_row port map(a(4),b,s(3),c(0),s(4),c(4),p(4); u6:component min_row port map(a(5),b,s(4),c(0),s(
49、5),c(5),p(5); u7:component min_row port map(a(6),b,s(5),c(0),s(6),c(6),p(6); u8:component min_row port map(a(7),b,s(6),c(0),s(7),c(7),p(7); u9:component lower_row port map(s(7),c(7),p(15 downto 8);end architecture xuanze;-library ieee;use ieee.std_logic_1164.all;use work.my_component.all;entity top_
50、row is port( a:in std_logic; b:in std_logic_vector(7 downto 0); sout,cout:out std_logic_vector(6 downto 0); p:out std_logic) ; end top_row; architecture xuanze of top_row is begin u1:component and_2 port map(a,b(7),sout(6); u2:component and_2 port map(a,b(6),sout(5); u3:component and_2 port map(a,b(5),sout(4); u4:component and_2 port map(a,b(4),sout(3); u5:component and_2 port map(a,b(3),sout(2); u6:co
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度绿色环保办公楼转让代理合同3篇
- 2025年度商业区车棚投资建设合同模板4篇
- 甲方向乙方以2025年度房产抵扣债务的协议3篇
- 二零二五年度轮胎制造企业供应链管理合同4篇
- 个人车库交易协议样式一
- 2025版升压站安装与电力设施安全防护合同3篇
- 二零二四年度专业高空维修升降机租赁合同含紧急抢修服务3篇
- 2025版个人消费贷款担保服务合同规范文本3篇
- 二零二五年度房产抵押贷款抵押权质权合同范本3篇
- 2025年度智能物流系统试用买卖合同范本4篇
- 《阻燃材料与技术》课件全套 颜龙 第1讲 绪论 -第11讲 阻燃性能测试方法及分析技术
- SOR-04-014-00 药品受托生产企业审计评估报告模板
- 新媒体论文开题报告范文
- 2024年云南省中考数学试题含答案解析
- 国家中医药管理局发布的406种中医优势病种诊疗方案和临床路径目录
- 2024年全国甲卷高考化学试卷(真题+答案)
- 汽车修理厂管理方案
- 人教版小学数学一年级上册小学生口算天天练
- (正式版)JBT 5300-2024 工业用阀门材料 选用指南
- 三年级数学添括号去括号加减简便计算练习400道及答案
- 苏教版五年级上册数学简便计算300题及答案
评论
0/150
提交评论