




已閱讀5頁,還剩21頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
目錄一、設(shè)計目的:3二、設(shè)計要求3三、CRC循環(huán)冗余校驗簡介3四、CRC的編碼原理3五、CRC校驗原理6(1)CRC碼的檢錯方法6(2)模2除法器6(3)校驗位的生成7(4)CRC碼的糾錯8(5)生成多項式的選取8六、設(shè)計方案8(1)采用標(biāo)準(zhǔn)8(2)系統(tǒng)結(jié)構(gòu)設(shè)計9(3)模塊代碼11七、波形結(jié)果25八、心得及體會25(1)關(guān)于CRC的了解25(2)關(guān)于期待的改進(jìn)26(3)課程設(shè)計總結(jié)26九、參考文獻(xiàn):26CRC編碼器的設(shè)計一、 設(shè)計目的:掌握CRC的編碼原理及作用, 并進(jìn)行設(shè)計。二、設(shè)計要求1、闡述CRC的編碼原理及作用2、基于VHDL語言實現(xiàn)CRC的編碼 3、寫出詳細(xì)的設(shè)計報告(不少于5000字)三、 CRC循環(huán)冗余校驗簡介循環(huán)冗余校驗(CRC)是一種根據(jù)網(wǎng)絡(luò)數(shù)據(jù)封包或電腦檔案等數(shù)據(jù)產(chǎn)生簡短固定位數(shù)校驗碼的一種散列函數(shù),主要用來檢測或校驗數(shù)據(jù)傳輸或者保存后可能出現(xiàn)的錯誤。生成的數(shù)字在傳輸或者儲存之前計算出來并且附加到數(shù)據(jù)后面,然后接收方進(jìn)行檢驗確定數(shù)據(jù)是否發(fā)生變化。而且CRC碼是目前通信系統(tǒng)中最常用的一種差錯控制編碼,利用其進(jìn)行檢錯的過程可簡單描述為:在發(fā)送端根據(jù)要傳送的二進(jìn)制碼序列,以一定的規(guī)則產(chǎn)生一個校驗用的監(jiān)督碼,附在原始信息后邊,構(gòu)成一個新的二進(jìn)制碼序列數(shù),然后發(fā)送出去。在接收端根據(jù)信息碼和CRC 碼之間所遵循的規(guī)則進(jìn)行檢驗,一旦傳輸過程中發(fā)生差錯,則信息碼元與監(jiān)督碼元之間的關(guān)系遭到破壞,從而可以發(fā)現(xiàn)錯誤,乃至糾正錯誤。四、 CRC的編碼原理循環(huán)冗余校驗碼(cyclic redundancy check,CRC)簡稱為循環(huán)碼或CRC碼。二進(jìn)制信息沿一條信號線逐位在設(shè)備之間傳送稱為串行傳送,CRC碼常用于串行傳送過程中的檢錯與糾錯。CRC碼由兩部分組成,前部分是信息碼,就是需要校驗的信息,后部分是校驗碼。其中任意一個二進(jìn)制位碼都可以和一個系數(shù)僅為0和1取值的多項式一一對應(yīng)。例如:代碼對應(yīng)的多項式為,而多項式為對應(yīng)的代碼。由上可以看出,CRC 多項式是線性結(jié)構(gòu),可以非常容易地故意改變量據(jù)而維持 CRC 不變。所以盡管在錯誤檢測中非常有用,CRC 并不能可靠地校驗數(shù)據(jù)完整性。CRC碼的編碼格式如圖4.1所示,是在k位有效數(shù)據(jù)之后添加r位校驗碼,形成總長度為n的CRC碼,簡寫作C(n,k)碼。CRC編碼的關(guān)鍵技術(shù)在于如何從k位信息簡便的得到r位校驗碼,并根據(jù)總長度為n的CRC碼進(jìn)行糾錯。圖4.1設(shè)被校驗的數(shù)據(jù)是一個k位的二進(jìn)制代碼,將它表示為一個(k-1)階的多項式 (1-1)多項式(1-1)中的系數(shù)D的取值為0或1,與被校驗的數(shù)據(jù)M一一對應(yīng);式中的x是一個偽變量,用指明各位的位置。設(shè)校驗碼P長度為r,將被校驗數(shù)據(jù)D左移r位后的結(jié)果為將D左移r位的目的是給D右邊添加r個0,形成(k+r)位長度二進(jìn)制代碼,其多項式形式為M(x)。如圖4.1所示,CRC碼由k位數(shù)據(jù)D和r位校驗碼P組成,求校驗碼P的多項式R(X)的方法如下: (4-2)Q(x)是商,R(x)是余數(shù),R(x)所對應(yīng)的二進(jìn)制代碼是校驗碼P??梢宰C明存在一個最高次冪為n- k=r 的多項式G(x) ,即式(4-2)中G(x),稱為生成多項式。 由式(4-2)可以推導(dǎo)出 (4-3)由式(4-3)可知,CRC碼可被G(x)整除,余數(shù)必然為0.。根據(jù)這一特性,接收方將收到的CRC碼被G(x)除,若余數(shù)為0,則表明傳送過程中沒有錯誤發(fā)生,若出現(xiàn)一位錯,根據(jù)余數(shù)與出錯位一一對應(yīng)的關(guān)系,可利用余數(shù)對錯誤碼進(jìn)行定位。因此,接收方可根據(jù)表4.1發(fā)現(xiàn)并糾正1位錯。 Q6Q5Q4Q3Q2Q1Q0余數(shù)出錯位正確1100010000無錯誤1100011001Q01100000010Q11100110100Q21101010011Q31110010110Q41000010111Q50100010101Q6表4.1 循環(huán)校驗碼的出錯模式對于其驗證碼,它的編碼規(guī)則是,如果CRC碼共長個bit,信息碼長個bit,就稱為碼:1、首先將原信息碼( bit)左移位();2、運用一個生成多項式(也可看成二進(jìn)制數(shù))用模2除上面的式子,得到的余數(shù)就是利用生成多項式生成CRC校驗碼。而在構(gòu)建一個新的 CRC 多項式或者改進(jìn)現(xiàn)有的 CRC 時,一個通用的數(shù)學(xué)原則是使用滿足所有模運算不可分解多項式約束條件的多項式。這種情況下的不可分解是指多項式除了與它自身之外不能被任何其它的多項式整除。如果 CRC 有多于一個的非零系數(shù),那么 CRC 能夠檢查出輸入消息中的所有單數(shù)據(jù)位錯誤。同時其也可以用于檢測短于的輸入消息中的所有雙位錯誤,其中是多項式的最長的不可分解部分的長度。另外,如果多項式可以被整除,那么不存在可以被它整除的有奇數(shù)個非零系數(shù)的多項式。因此,它可以用來檢測輸入消息中的奇數(shù)個錯誤,就像奇偶校驗函數(shù)那樣。五、 CRC校驗原理 (1)CRC碼的檢錯方法 假設(shè)要進(jìn)行校驗的數(shù)據(jù)信息為一個位的二進(jìn)制數(shù)據(jù),將左移位后,用一個約定的生成多項式相除,將所得校驗位拼接到的位數(shù)據(jù)后面,形成一個位的代碼,稱這個代碼為循環(huán)冗余校驗(CRC)碼,也稱()碼。 圖5.1 CRC碼結(jié)構(gòu) (2)模2除法器模2除法與算術(shù)除法類似,但每一位除的結(jié)果不影響其它位,即不向上一位借位,所以實際上就是異或。它是CRC校驗中的一個十分重要的部分,用于得到校驗碼。圖5.2 模2除法器示例如圖所示,用10011來除0000,大致方法與二進(jìn)制除法相同,但是相比之下,模2除法沒有進(jìn)位與借位,所以在相減的時候,則做異或運算。前面為0的可以直接省略,從第一位為1開始計數(shù)。(3)校驗位的生成 假設(shè):要傳送的數(shù)據(jù)信息為:,即報文多項式為:約定的生成多項式為:則數(shù)據(jù)信息位數(shù),生成多項式位數(shù)為4位,所以校驗位位數(shù)。生成校驗位時,用去除以,相除時采用“模2運算”的多項式除法。 利用“模2”多項式除法計算的過程。則有:校驗位為111,CRC碼為。說明:如果要校驗CRC碼,則可將CRC碼用同一個多項式相除,若余數(shù)為0,則說明無錯;若余數(shù)不為0,則說明有錯。 圖5.3 校驗位生成示例(4)CRC碼的糾錯在接收方將收到的CRC碼用約定的生成多項式去除,如果碼字沒有錯誤,則余數(shù)為0,若有一位出錯,則余數(shù)不為0,而且不同的出錯位置其余數(shù)不同。更換不同的碼字,余數(shù)和出錯位的關(guān)系不變。只和碼制與生成多項式有關(guān)。 如果CRC碼中有一位出錯,用特定的作模2除,則會得到一個不為0的余數(shù)。若對余數(shù)補(bǔ)0后繼續(xù)除下去,則會出現(xiàn)一個有趣的現(xiàn)象:各次余數(shù)將會按照一個特定的順序循環(huán)。(5)生成多項式的選取 從查錯和糾錯的要求來看,選取的一個生成多項式應(yīng)滿足以下幾個條件:1、 任何一位發(fā)生錯誤時,都應(yīng)使余數(shù)不為0。2、不同位發(fā)生錯誤時,余數(shù)應(yīng)該不同。3、對余數(shù)作模2 除時,應(yīng)使余數(shù)循環(huán)。六、設(shè)計方案(1)采用標(biāo)準(zhǔn)根據(jù)應(yīng)用環(huán)境與習(xí)慣的不同,CRC又可分為以下幾種標(biāo)準(zhǔn): 1、CRC-12碼;2、CRC-16碼;3、CRC-CCITT碼;4、CRC-32碼;它們都是較為常用的CRC碼,生成多項式分別為:CRC-CCITT:CRC-16:CRC-12:CRC-32: 標(biāo)準(zhǔn)的CRC碼是CRC-CCITT和CRC-16,其中CRC-16-CCITT的應(yīng)用最廣泛,在藍(lán)牙、X25和PPP協(xié)議中等都有應(yīng)用。故本實驗使用CRC-CCITT標(biāo)準(zhǔn)進(jìn)行仿真,其生成多項式為:本實驗采用如圖6.1所示的結(jié)構(gòu)實現(xiàn)CRC的編解碼。(2)系統(tǒng)結(jié)構(gòu)設(shè)計圖6.1 CRC校驗系統(tǒng)結(jié)構(gòu)CRC編碼采用如圖6.2所示的結(jié)構(gòu)實現(xiàn):圖6.2 CRC編碼實現(xiàn)結(jié)構(gòu)CRC校驗采用多項式除法實現(xiàn),若能除盡,則傳輸正確,否則錯誤。實現(xiàn)結(jié)構(gòu)上,在發(fā)送端進(jìn)行CRC-CCITT標(biāo)準(zhǔn)編碼,在接收端將信源數(shù)據(jù)與編碼字串行輸入與發(fā)送端相同的CRC編碼器,若編碼字為全零,則無傳輸錯誤,否則,傳輸出錯。發(fā)送端CRC編碼器設(shè)計時序如圖6.3所示。接收端CRC校驗時序與發(fā)送端相同,區(qū)別只在于無需順序移出CRC編碼字,只需判斷是否為全零即可。引入噪聲的結(jié)構(gòu)如圖7所示,其中噪聲來源為隨機(jī)產(chǎn)生的比特序列,與幀解析的數(shù)據(jù)輸出進(jìn)行異或,其原理為dout與0異或仍為dout,dout與1異或為dout,因此噪聲序列只需隨機(jī)引入幾個1即可實現(xiàn)傳輸錯誤的模擬。圖6.3 發(fā)送端CRC編碼時序圖圖6.4 引入噪聲仿真結(jié)構(gòu)圖6.4中frame模塊實現(xiàn)的是組幀功能,根據(jù)RS-232的組幀格式,在有效數(shù)據(jù)前加一比特起始位0,數(shù)據(jù)結(jié)束后加一比特停止位1,其時序圖如圖6.5所示。圖6.5 frame模塊端口時序圖6.4中frame receive模塊實現(xiàn)幀解析功能,它根據(jù)發(fā)送端發(fā)送的數(shù)據(jù),檢測到一個起始位零,即生成計數(shù)使能信號,生成數(shù)據(jù)有效信號data_dv,其時序圖如圖6.6所示。圖6.6 receive模塊時序(3)模塊代碼(1)toplibrary IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity crc_ans is port( clk:in std_logic; reset:in std_logic; din:in std_logic; din_dv:in std_logic; noise:in std_logic; error_right:out std_logic; error_noise:out std_logic );end crc_ans;architecture behavioral of crc_ans iscomponent crc_codeport( clk:in std_logic; reset:in std_logic; din:in std_logic; din_dv:in std_logic; dout_dv:out std_logic; dout:out std_logic);end component;component crc_frame port( clk:in std_logic; reset:in std_logic; din:in std_logic; din_dv:in std_logic; dout:out std_logic);end component;component crc_frame_receiveport( clk:in std_logic; reset:in std_logic; din:in std_logic; dout_dv:out std_logic; dout:out std_logic);end component;component crc_checkport( clk:in std_logic; reset:in std_logic; din:in std_logic; din_dv:in std_logic; error:out std_logic);end component;signal code_dout,code_dout_dv:std_logic;signal frame_dout:std_logic;signal frame_receive_dout,frame_receive_dout_noise,frame_receive_dout_dv:std_logic;beginpart1:crc_codeport map ( clk=clk,reset=reset,din=din,din_dv=din_dv, dout=code_dout,dout_dv=code_dout_dv );part2:crc_frameport map ( clk=clk,reset=reset,din=code_dout,din_dv=code_dout_dv, dout=frame_dout );part3:crc_frame_receiveport map ( clk=clk,reset=reset,din=frame_dout, dout=frame_receive_dout,dout_dv=frame_receive_dout_dv );part4_no_noise:crc_checkport map ( clk=clk,reset=reset,din=frame_receive_dout,din_dv=frame_receive_dout_dv, error=error_right); frame_receive_dout_noiseclk,reset=reset,din=frame_receive_dout_noise,din_dv=frame_receive_dout_dv, error=error_noise );end behavioral;(2)codelibrary IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity crc_code is port( clk:in std_logic; reset:in std_logic; din:in std_logic; din_dv:in std_logic; dout_dv:out std_logic; dout:out std_logic );end crc_code;architecture behavioral of crc_code issignal cnt:std_logic_vector(6 downto 0);signal cnt_en:std_logic;signal d1:std_logic_vector(15 downto 0);beginprocess(clk,reset)begin if reset=0 then cnt_en=0; elsif clkevent and clk=1 then if cnt= then cnt_en=0; elsif din_dv=1 then cnt_en=1; end if; end if;end process;process(clk,reset)begin if reset=0 then cnt=; elsif clkevent and clk=1 then if cnt_en=1 then cnt=cnt+1; end if; end if;end process;process(clk,reset)begin if reset=0 then dout_dv=0; elsif clkevent and clk=1 then if din_dv=1 then dout_dv=1; elsif cnt= then dout_dv=0; end if; end if;end process; process(clk,reset)begin if reset=0 then d10); elsif clkevent and clk=1 then if din_dv=1 then d1(0)=din xor d1(15); d1(1)=d1(0); d1(2)=d1(1); d1(3)=d1(2); d1(4)=d1(3); d1(5)=d1(4) xor (din xor d1(15); d1(6)=d1(5); d1(7)=d1(6); d1(8)=d1(7); d1(9)=d1(8); d1(10)=d1(9); d1(11)=d1(10); d1(12)=d1(11) xor (din xor d1(15); d1(13)=d1(12); d1(14)=d1(13); d1(15)=d1(14);else d1(0)=0; d1(1)=d1(0); d1(2)=d1(1); d1(3)=d1(2); d1(4)=d1(3); d1(5)=d1(4); d1(6)=d1(5); d1(7)=d1(6); d1(8)=d1(7); d1(9)=d1(8); d1(10)=d1(9); d1(11)=d1(10); d1(12)=d1(11); d1(13)=d1(12); d1(14)=d1(13); d1(15)=d1(14); end if; end if;end process;process(clk,reset)begin if reset=0 then dout=0; elsif clkevent and clk=1 then if din_dv=1 then dout=din; else dout0);signal din_dv,cnt1_en,dout1_dv:std_logic;signal cnt1,cnt2:std_logic_vector(6 downto 0):=(others=0);signal dout1:std_logic;signal cnt3:std_logic_vector(6 downto 0);signal cnt2_en,flag,dout2:std_logic;beginprocess(clk,rst)begin if rst=0 then dout1_dv=0; din_dv=0;elsif clkevent and clk=1 then if cnt2= then dout1_dv=1; cnt2=cnt2+1; if cnt1= then din_dv=1; cnt1=cnt1+1; else din_dv=0; end if;else dout1_dv=0;end if;end if;end process;process(clk,rst)begin if rst=0 then dout1=0;elsif clkevent and clk=1 then if dout1_dv=1 then if din_dv=1 then dout1=din; d1(0)=din xor d1(15); d1(1)=d1(0); d1(2)=d1(1); d1(3)=d1(2); d1(4)=d1(3); d1(5)=d1(4) xor (din xor d1(15); d1(6)=d1(5); d1(7)=d1(6); d1(8)=d1(7); d1(9)=d1(8); d1(10)=d1(9); d1(11)=d1(10); d1(12)=d1(11) xor (din xor d1(15); d1(13)=d1(12); d1(14)=d1(13); d1(15)=d1(14); elsif din_dv=0 then dout1=d1(15); d1(0)=0; d1(1)=d1(0); d1(2)=d1(1); d1(3)=d1(2); d1(4)=d1(3); d1(5)=d1(4); d1(6)=d1(5); d1(7)=d1(6); d1(8)=d1(7); d1(9)=d1(8); d1(10)=d1(9); d1(11)=d1(10); d1(12)=d1(11); d1(13)=d1(12); d1(14)=d1(13); d1(15)=d1(14);end if;end if;end if;end process;process(clk,rst)beginif rst=0 then dout1=0;elsif clkevent and clk=1 then if dout1_dvevent and dout1_dv=0 then dout1=1;end if;end if;end process;flag=dout1;process(clk,rst)begin if rst=0 then flag=1;cnt30);elsif clkevent and clk=1 then if cnt3 then cnt3=cnt3+1;end if;end if;end process;process(clk,rst)begin if rst=0 then data=0; elsif clkevent and clk=1 then if cnt3= then d2(0)=dout1 xor d2(15); d2(1)=d2(0); d2(2)=d2(1); d2(3)=d2(2); d2(4)=d2(3); d2(5)=d2(4) xor (dout1 xor d2(15); d2(6)=d2(5); d2(7)=d2(6); d2(8)=d2(7); d2(9)=d2(8); d2(10)=d2(9); d2(11)=d2(10); d2(12)=d2(11) xor (dout1 xor d2(15); d2(13)=d2(12); d2(14)=d2(13); d2(15)=d2(14); if cnt2= then data=dout2; end if; end if; end if;end process;process(clk,rst)begin if rst=0 then error=1; elsif clkevent and clk=1 then if cnt3= then error=d2(0) and d2(1) and d2(2) and d2(3) and d2(4) and d2(5) and d2(6) and d2(7) and d2(8) and d2(9) and d2(10) and d2(11) and d2(12) and d2(13) and d2(14) and d2(15);end if;end if;end process;end behavioral;(4)framelibrary IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity frame isport(clk,reset:in std_logic; din,din_dv:in std_logic; dout:out std_logic);end frame;architecture behavior of frame issignal a,cnt_en :std_logic;signal cnt:integer;begincnt_en_pro:process(clk,reset)begin if reset=0 then cnt_en=0; elsif clkevent and clk=1 then if cnt=80 then cnt_en=0; elsif din_dv=1 then cnt_en=1; end if; end if;end process;cnt_pro:process(clk,reset)begin if reset=0 then cnt=0; elsif clkevent and clk=1 then if cnt=80 then cnt=0; elsif cnt_en=1 then cnt=cnt=1; end if; end if;end process;dout_pro:process(clk,reset)begin if reset=1 then dout=0;elsif ( clkevent and clk =1 ) thendind = din ;if ( din_dv=1 and cnt_en=0 ) thendout =0;elsif ( cnt_en = 1 and cnt =80 ) thendout = 0 and cnt 80 ) thendout = dind ;end if; end if;end process;end behavior;(5)receivelibrary IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity crc_frame_receive is port( clk:in std_logic; reset:in std_logic; din:in std_logic; dout_dv:out std_logic; dout:out std_logic );end crc_frame_receive;architecture behavioral of crc_frame_receive issignal cnt:std_logic_vector(6 downto 0);signal data_dv:std_logic;beginprocess(clk,reset)begin if reset=0 then data_dv=0; elsif clkevent and clk=1 then if din=0 and cnt then data_dv=1; elsif cnt= then data_dv=0; end if; end if;end process;process(clk,reset)begin if reset=0 then cnt0); elsif clkevent and clk=1 then if data_dv=1 then cnt=cnt+1;end if;end if;end process;process(clk,reset)begin if reset=0 then dout_dv=0; dout=0; elsif clkevent and clk=1 then if data_dv=1 then dout_dv=1; dout=din; elsif data_dv=0 and din=1 then dout_dv=0; dout=0; end if; end if;end process;end behavioral;(6)checklibrary IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity crc_check is port( clk:in std_logic; reset:in std_logic; din:in std_logic; din_dv:in std_logic; error:out std_logic );end crc_check;architecture behavioral of crc_check issignal cnt:std_logic_vector(6 downto 0);signal cnt_en,din1:std_logic;signal d1:std_logic_vector(15 downto 0);beginprocess(clk,reset)begin if reset=0 then cnt_en=0; elsif clkevent and clk=1 then if cnt= then cnt_en=0; elsif din_dv=1 then cnt_en=1;end if; end if;end process;process(clk,reset)begin if reset=0 then cnt=; elsif clkevent and clk=1 then if cnt_en=1 then cnt=cnt+1; end if; end if;end process;process(clk,reset)begin if reset=0 then d10); elsif clkevent and clk=1 then if din_dv=1 then d1(0)=din xor d1(15); d1(1)=d1(0); d1(2)=d1(1); d1(3)=d1(2); d1(4)=d1(3); d1(5)=d1(4) xor (din xor d1(15); d1(6)=d1(5); d1(7)=d1(6); d1(8)=d1(7); d1(9)=d1(8); d1(10)=d1(9); d1(11)=d1(10); d1(12)=d1(11) xor (din xor d1(15); d1(13)=d1(12); d1(14)=d1(13); d1(15)=d1(14); end if; end if;end process;process(clk,reset)begin if reset=0 then error=1; elsif clkevent and clk=1 then if din_dv=0 and cnt= then if d
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 行政管理核心考點試題及答案
- 高考數(shù)學(xué)考核趨勢題目及答案2023
- 敏捷項目管理2025年考試試題及答案
- 科學(xué)探索活動實施方案計劃
- 課程整合幼兒園班級的有效探索計劃
- 法學(xué)概論復(fù)習(xí)季度計劃與分配試題及答案
- 2025屆吉林省長春市數(shù)學(xué)七下期末檢測模擬試題含解析
- 2025屆湖北省十堰市鄖西縣八年級數(shù)學(xué)第二學(xué)期期末達(dá)標(biāo)檢測模擬試題含解析
- 企業(yè)戰(zhàn)略與政策風(fēng)險試題及答案
- 城市交通信號控制策略重點基礎(chǔ)知識點
- (高清版)DG∕TJ 08-7-2021 建筑工程交通設(shè)計及停車庫(場)設(shè)置標(biāo)準(zhǔn)
- 無房無車離婚協(xié)議書
- 2025-2030年中國甲巰咪唑片行業(yè)市場現(xiàn)狀供需分析及投資評估規(guī)劃分析研究報告
- 史明清時期社會經(jīng)濟(jì)的發(fā)展課件++2024-2025學(xué)年統(tǒng)編版七年級歷史下冊
- 2025年安徽國控資產(chǎn)管理有限公司第二季度社會招聘5人筆試參考題庫附帶答案詳解
- 2025中考語文7-9年級總復(fù)習(xí)古詩詞默寫
- 中國特色社會主義+綜合練習(xí)(三)-2025屆中職高考政治一輪復(fù)習(xí)高教版(2023版)
- 情境+任務(wù)驅(qū)動作文(兼審“情境”與“任務(wù)”)-2024年中考語文重難點復(fù)習(xí)專練(江蘇)學(xué)生版
- (二模)臨沂市2025年高三高考模擬考試地理試題卷(含答案)
- 2024年新疆巴楚縣事業(yè)單位公開招聘村務(wù)工作者筆試題帶答案
- 城管協(xié)管筆試題及答案
評論
0/150
提交評論