




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、SPI接口的設(shè)計(jì)第二章介紹了模數(shù)轉(zhuǎn)換器的可編程控制架構(gòu),其中可編程控制功能的實(shí)現(xiàn)需要分成兩部分:一部分為SPI接口電路,以及其根據(jù)內(nèi)部寄存器存儲(chǔ)的數(shù)據(jù)產(chǎn)生的控制信號(hào);另一部分是具體的電路受控模塊。本章將介紹接口與數(shù)字邏輯電路的設(shè)計(jì),包括應(yīng)用于本模數(shù)轉(zhuǎn)換器的SPI接口與數(shù)字邏輯電路的設(shè)計(jì)、綜合以及仿真驗(yàn)證。3.1 數(shù)據(jù)通信接口3.1.1 串行通信基本的通信方式有兩種:并行通信和串行通信。并行通信是指數(shù)據(jù)以成組的方式,在多條并行信道上同時(shí)進(jìn)行傳輸。串行通信指要傳送的數(shù)據(jù)或信息按一定的格式編碼,然后在單根線上,按位的先后順序進(jìn)行傳送。接收數(shù)據(jù)時(shí),每次從單根線上按位接收信息,再把它們拼成一個(gè)字符,送給
2、CPU(Central Processing Unit)做進(jìn)一步的處理。收發(fā)雙方必須保持字符同步,以使接收方能從接收的數(shù)據(jù)比特流中正確區(qū)分出與發(fā)送方相同的一個(gè)一個(gè)字符。串行通信只需要一條傳輸信道,易于實(shí)現(xiàn),是目前主要采用的一種通信方式,它具有通信線少以及傳送距離遠(yuǎn)等優(yōu)點(diǎn)。串行通信時(shí),按數(shù)據(jù)的傳送的方向可以分為單工、半雙工和全雙工等三種方式。(1)單工(Simplex):數(shù)據(jù)線僅能向一個(gè)方向傳輸數(shù)據(jù),兩個(gè)設(shè)備進(jìn)行通信時(shí),一邊只能發(fā)送數(shù)據(jù),另一邊只能接收數(shù)據(jù)。(2)半雙工(Half Duplex):數(shù)據(jù)可在兩個(gè)設(shè)備間向任一個(gè)方向傳輸,但因?yàn)橹挥幸桓鶄鬏斁€,故同一時(shí)間內(nèi)只能向一個(gè)方向傳輸數(shù)據(jù),不能同
3、時(shí)收發(fā)。(3)全雙工(Full Duplex):對(duì)數(shù)據(jù)的兩個(gè)傳輸方向采用不同的通路,可以同時(shí)發(fā)送和接收數(shù)據(jù), 串行通信有兩種基本工作方式:異步方式和同步方式。采用異步方式(Asynchronous)時(shí),數(shù)據(jù)發(fā)送的格式如圖3-1所示。不發(fā)送數(shù)據(jù)時(shí),數(shù)據(jù)信號(hào)線呈現(xiàn)高電平,處于空閑狀態(tài)。當(dāng)有數(shù)據(jù)要發(fā)送時(shí),數(shù)據(jù)信號(hào)線變成低電平,并持續(xù)一位的時(shí)間,用于表示字符的開始,稱為起始位。起始位之后,在信號(hào)線上依次出現(xiàn)待發(fā)送的每一位字符數(shù)據(jù),最低有效位最先出現(xiàn)。采用不同的編碼方案,待發(fā)送的每個(gè)字符的位數(shù)就不同。當(dāng)字符用ASCII碼表示時(shí),數(shù)據(jù)位占7位()。在數(shù)據(jù)位的后面有一個(gè)奇偶校驗(yàn)位,其后有停止位,用于指示字符
4、的結(jié)束。停止位可以是一位也可以是一位半或兩位??梢?jiàn),用異步方式發(fā)送一個(gè)7位的ASCII碼字符時(shí),實(shí)際需發(fā)送10位、10.5位或11位信息。如果用10位來(lái)發(fā)送的話,就意味著發(fā)送過(guò)程中將會(huì)浪費(fèi)30%的傳輸時(shí)間。為了提高串行數(shù)據(jù)傳輸?shù)乃俾?,可以采用同步傳送方式。圖3-1 異步串行數(shù)據(jù)發(fā)送格式同步方式(Synchronous)中串行同步字符的格式如圖3-2所示。沒(méi)有數(shù)據(jù)發(fā)送時(shí),傳輸線處于空閑狀態(tài)。為了表示數(shù)據(jù)傳輸?shù)拈_始,發(fā)送方先發(fā)送一個(gè)或兩個(gè)特殊字符,稱該字符為同步字符。當(dāng)發(fā)送方和接收方達(dá)到同步后,就可以連續(xù)地發(fā)送數(shù)據(jù),不需要起始位和停止位了,可以顯著的提高數(shù)據(jù)的傳輸速率。采用同步方式傳送的發(fā)送過(guò)程中
5、,收發(fā)雙方須由同一個(gè)時(shí)鐘來(lái)協(xié)調(diào),用來(lái)確定串行傳輸每一位的位置。在接收數(shù)據(jù)時(shí),接收方可利用同步字符將內(nèi)部時(shí)鐘與發(fā)送方保持同步,然后將同步字符后面的數(shù)據(jù)逐位移入,并轉(zhuǎn)換成并行格式,直至收到結(jié)束符為止。圖3-2 同步串行數(shù)據(jù)發(fā)送格式3.1.2 SPI接口簡(jiǎn)介SPI(Serial Peripheral Interface)是由Motorola公司提出的一種工業(yè)標(biāo)準(zhǔn),后來(lái)交給Opencores組織進(jìn)行維護(hù)。SPI模塊是在MCU與MCU之間,或MCU與外圍設(shè)備之間實(shí)現(xiàn)近距離、全雙工、同步串行傳送的接口。與其它串行接口相比,具有電路結(jié)構(gòu)簡(jiǎn)單、速度快、通信可靠等優(yōu)點(diǎn)。通過(guò)SPI接口,MCU可以很方便的與外圍芯
6、片直接相連,用以傳送控制/狀態(tài)信息和輸入/輸出數(shù)據(jù)。一個(gè)典型的SPI模塊的核心部件是一個(gè)8位的移位寄存器和一個(gè)8位的數(shù)據(jù)寄存器SPIDR。通過(guò)SPI進(jìn)行數(shù)據(jù)傳送的設(shè)備有主SPI和從SPI之分,即SPI傳送在一個(gè)主SPI和一個(gè)從SPI之間進(jìn)行。圖3-3給出了兩個(gè)SPI模塊相互連接、進(jìn)行SPI傳送的示意圖,圖左邊是一個(gè)主SPI,圖右邊為一個(gè)從SPI。圖3-3 典型SPI模塊典型的SPI接口有四個(gè)引腳:MISO(主入從出)、MOSI(主出從入)、SCLK(串行時(shí)鐘)和SS(從選擇)。具體功能如表3-1。表3-1 典型SPI接口引腳引腳名描述MISO(master in slave out)主機(jī)輸入/
7、從機(jī)輸出線,串行數(shù)據(jù)傳輸MOSI(master out slave in)主機(jī)輸出/從機(jī)輸入線,串行數(shù)據(jù)傳輸SCLK(serial clock)串行時(shí)鐘線。由SPI主模塊產(chǎn)生,在主從交換數(shù)據(jù)時(shí)使用,確保數(shù)據(jù)交換的同步性。SS(slave select)從機(jī)選擇線。由主機(jī)發(fā)送至從機(jī),當(dāng)輸入時(shí)表示該從機(jī)被選中,與主機(jī)進(jìn)行通信,否則未選中,從機(jī)不與主機(jī)進(jìn)行通信。傳送時(shí)雙方的MISO(主入從出)、MOSI(主出從入)、SCLK(串行時(shí)鐘)同名引腳相連。SS引腳的定義有幾種選擇,因而有不同的連法。可以看到,主SPI和從SPI的移位寄存器通過(guò)MISO和MOSI引腳連接為一個(gè)16位的移位寄存器。主SPI的波
8、特率發(fā)生器產(chǎn)生移位時(shí)鐘SCLK。主SPI啟動(dòng)傳送過(guò)程,MCU向其SPIDR進(jìn)行一次寫入。寫入SPIDR的數(shù)據(jù)被裝載到SPI的移位寄存器。根據(jù)SCLK的8個(gè)周期,雙方同步移位8次,移位寄存器中的內(nèi)容交換,然后雙方移位寄存器中的數(shù)據(jù)加載到各自的SPIDR,雙方傳送完成標(biāo)志置1,完成一次傳送。僅從傳送路徑上看,無(wú)所謂發(fā)送方和接收方。在一次傳送開始之前發(fā)送方應(yīng)將發(fā)送數(shù)據(jù)寫入自己的SPIDR,該數(shù)據(jù)自動(dòng)裝載入移位寄存器。在一次傳送完成后,接收方從SPIDR中讀取接收數(shù)據(jù)26。目前已有的SPI接口IP軟核,XILINX公司的CoolRunner系列SPI主機(jī)IP核27(CoolRunner Serial
9、Peripheral Interface Master IP Core),是通過(guò)有限狀態(tài)機(jī)來(lái)控制SPI主機(jī)與從機(jī)以及微控制器之間的通信。Motorola公司的SPI核28是一個(gè)主從共用的IP軟核,具有很高的可重用性和通用性。3.2 SPI接口的設(shè)計(jì)與綜合3.2.1 設(shè)計(jì)方法、目標(biāo)及流程本文SPI接口采用自頂向下設(shè)計(jì)方法。自頂向下設(shè)計(jì)2930是一種逐級(jí)分解、變換,將系統(tǒng)要求轉(zhuǎn)變?yōu)殡娐坊蛘甙鎴D的過(guò)程。從系統(tǒng)級(jí)(System Level Design)開始考慮系統(tǒng)的行為、功能、性能以及允許的芯片面積和成本要求,進(jìn)行系統(tǒng)劃分和功能設(shè)計(jì)。用行為語(yǔ)言描述每個(gè)方框的外特性,并將全部方框連在一起進(jìn)行系統(tǒng)仿真(
10、System Simulation)來(lái)驗(yàn)證系統(tǒng)設(shè)計(jì)的正確性。RTL級(jí)設(shè)計(jì)按照系統(tǒng)要求編寫程序,一般使用Verilog HDL或VHDL語(yǔ)言進(jìn)行編程,使之符合系統(tǒng)設(shè)計(jì)規(guī)定的外特性。RTL級(jí)設(shè)計(jì)的結(jié)果須經(jīng)行為仿真(Behavior simulation),保證源代碼(Source Code)的邏輯功能正確。把源代碼轉(zhuǎn)換為網(wǎng)表的過(guò)程叫做綜合。網(wǎng)表是使用Verilog語(yǔ)言對(duì)門級(jí)電路的結(jié)構(gòu)性描述,它是最底層文件。網(wǎng)表是原理圖的語(yǔ)言描述,對(duì)應(yīng)著門級(jí)電路原理圖。網(wǎng)表中所有的器件都包含有必須的工業(yè)參數(shù),如溫度特性、電壓特性、固有門延時(shí)、輸入阻抗、上升時(shí)間、下降時(shí)間、驅(qū)動(dòng)能力、面積等3132。由于這些工業(yè)參數(shù)的
11、存在,使得門級(jí)仿真(Gate Level Simulation)十分接近于真實(shí)芯片的物理測(cè)試。經(jīng)過(guò)門級(jí)仿真后再經(jīng)過(guò)自動(dòng)布局布線(Auto Place and Route),從而生成版圖(Layout),經(jīng)過(guò)物理驗(yàn)證和后仿真,就可以制版流片,并交付封裝測(cè)試。整個(gè)流程如圖3-4所示。圖3-4 自頂向下的設(shè)計(jì)流程由上節(jié)可知,SPI接口有主從之分,本文設(shè)計(jì)重點(diǎn)為從SPI(Slave SPI)。這主要是由于本文的應(yīng)用環(huán)境決定的。本文設(shè)計(jì)的ADC接口電路及數(shù)字邏輯電路的主要目標(biāo)是實(shí)現(xiàn)外部主SPI對(duì)從SPI的初始化。要求從主SPI接收數(shù)據(jù),配置內(nèi)部的寄存器,實(shí)現(xiàn)相應(yīng)的控制目標(biāo),產(chǎn)生相應(yīng)的控制信號(hào)。不需要產(chǎn)生
12、數(shù)據(jù)來(lái)配置其他的芯片,所以本文設(shè)計(jì)的SPI接口中就沒(méi)有考慮波特率發(fā)生器,它只能從外部接收移位時(shí)鐘。首先,對(duì)所要設(shè)計(jì)的從SPI做整體規(guī)劃,建立架構(gòu),并對(duì)系統(tǒng)進(jìn)行層次劃分。根據(jù)實(shí)際需要,將主SPI與從SPI之間的連接架構(gòu)簡(jiǎn)單的歸結(jié)為圖3-5所示。圖3-5 主從SPI之間連接架構(gòu)主SPI與從SPI之間通過(guò)CSB、SCLK、SDIO三個(gè)引腳進(jìn)行相連,它們分別是片選引腳、串行時(shí)鐘引腳、串行數(shù)據(jù)輸入輸出引腳。此架構(gòu)比典型的SPI接口引腳少了一個(gè)串行數(shù)據(jù)輸出引腳,為了使芯片引腳數(shù)量最少,所以將這一引腳省略。3.2.2 SPI 接口外特性 SPI 接口的端口引腳SPI接口的端口引腳包括:CSB、
13、SCLK、SDIO。(1)CSB片選引腳CSB是一種低電平有效控制,用來(lái)選通讀寫周期。CSB可以在多種模式下工作,如果控制器具有芯片選擇輸出或其他多器件選擇方法,則該引腳可以與CSB線相連。當(dāng)該線為低電平時(shí),器件被選擇,SCLK和SDIO線路上的信息便會(huì)得到處理。當(dāng)該引腳為高電平時(shí),器件會(huì)忽略SCLK和SDIO線路上的所有信息。這樣,多個(gè)器件便可以與SPI端口相連。在只連接一個(gè)器件的情況下,可以將CSB線路與低電平相連,使器件始終處于使能狀態(tài),但是此時(shí)如果端口發(fā)生錯(cuò)誤,將無(wú)法使器件復(fù)位,因?yàn)閺?fù)位信號(hào)要在CSB的上升沿才起作用。(2)SCLK串行時(shí)鐘SCLK引腳為串行移位時(shí)鐘輸入引腳,用來(lái)使串行
14、接口的操作同步。輸入數(shù)據(jù)在該時(shí)鐘上升沿有效,輸出數(shù)據(jù)在下降沿有效。因?yàn)楸疚闹蠸PI接口僅僅用來(lái)為配置寄存器傳送數(shù)據(jù),所以對(duì)數(shù)據(jù)傳輸?shù)乃俾室蟛桓?。為降低該引腳對(duì)時(shí)鐘線路上噪聲的敏感度,它采用施密特觸發(fā)器實(shí)現(xiàn)。(3)SDIO串行數(shù)據(jù)輸入/輸出SDIO引腳用作輸入或輸出,取決于所發(fā)送的指令(讀或?qū)懀┮约皶r(shí)序幀中的相對(duì)位置(指令周期或者數(shù)據(jù)周期)。在寫或讀操作的第一階段,該引腳用作輸入,將信息傳遞到內(nèi)部狀態(tài)機(jī)。如果該命令被確定為寫命令,則在指令周期內(nèi),SDIO引腳始終用作串行輸入,將數(shù)據(jù)傳送給內(nèi)部移位寄存器。如果該命令被確定為讀命令,狀態(tài)機(jī)將把SDIO引腳變?yōu)檩敵?,然后該引腳將數(shù)據(jù)回傳給控制器。在本
15、文設(shè)計(jì)的SPI接口中,該引腳目前只實(shí)現(xiàn)向寄存器中寫入數(shù)據(jù)的功能。 SPI 接口的數(shù)據(jù)基本傳送規(guī)則(1)格式SDIO數(shù)據(jù)傳輸?shù)牡谝浑A段是指令階段,指令由16位組成,之后是數(shù)據(jù),數(shù)據(jù)由一個(gè)或多個(gè)8位構(gòu)成,長(zhǎng)度由前面的指令字長(zhǎng)位確定。CSB的下降沿與SCLK的上升沿一起決定幀何時(shí)開始。如果器件的CSB與低電平相連,則幀開始于SCLK的第一個(gè)上升沿,如圖3-6。圖3-6 數(shù)據(jù)格式(2)指令周期指令周期為串行傳輸數(shù)據(jù)的前16位,指令周期分為若干位段,如圖3-7所示:圖3-7 指令周期(3)讀/寫指令位數(shù)據(jù)流中的第一位是讀/寫指令位()。當(dāng)該位為高電平時(shí),表示指令為讀取指令,指令周期(前16
16、位)完成時(shí),內(nèi)部狀態(tài)機(jī)使用所提供的信息解碼要讀取的內(nèi)部地址。SDIO的方向由輸入變?yōu)檩敵?,由字長(zhǎng)定義的適當(dāng)數(shù)量的字從從器件移位出來(lái)。當(dāng)數(shù)據(jù)流中的第一位為低電平時(shí),則進(jìn)入寫入階段。指令周期完成時(shí),內(nèi)部狀態(tài)機(jī)使用所提供的信息解碼要寫入的內(nèi)部地址。指令完成之后的所有數(shù)據(jù)被送往目標(biāo)地址。一旦傳輸完字長(zhǎng)所要求的所有數(shù)據(jù),狀態(tài)機(jī)便返回空閑模式,等待下一個(gè)指令周期。(4)字長(zhǎng)W1和W0表示要讀取或者寫入的數(shù)據(jù)字節(jié)數(shù)。具體設(shè)置和操作如下表:表3-2 W1、W0的設(shè)置和操作W1:W0 設(shè)置操作CSB 停止00可以傳輸1個(gè)字節(jié)數(shù)據(jù)可選01可以傳輸2個(gè)字節(jié)數(shù)據(jù)可選10可以傳輸3個(gè)字節(jié)數(shù)據(jù)可選11可以傳輸4個(gè)字節(jié)數(shù)據(jù)
17、不允許如果要傳輸?shù)淖止?jié)數(shù)為3個(gè)或者更少,則CSB可以在字節(jié)邊界上變?yōu)楦唠娖?,如果在非字?jié)邊界上變?yōu)楦唠娖綄⒔K止通信周期。如果W1:W0為11,則數(shù)據(jù)可以傳輸?shù)紺SB變?yōu)楦唠娖綍r(shí)為止。在數(shù)據(jù)流處理過(guò)程中,不允許CSB停止,一旦流處理開始(定義為第三個(gè)數(shù)據(jù)字節(jié)完成以后),則在操作完成之前,不允許CSB回到高電平。如果CSB確實(shí)變?yōu)楦唠娖?,流處理即終止,下次CSB變?yōu)榈碗娖綍r(shí),將開始新的指令周期。如果CSB在非8位邊界變?yōu)楦唠娖?,通信周期即終止,任何未完成的字節(jié)均會(huì)丟失。不過(guò)已完成的數(shù)據(jù)字節(jié)會(huì)得到正確處理。在本文設(shè)計(jì)的SPI接口中,由于均是8位的寄存器,W1:W0固定為00。即傳送一個(gè)字節(jié)的數(shù)據(jù)。(
18、5)地址位其余13位表示所發(fā)送數(shù)據(jù)的起始位置。如果要發(fā)送的數(shù)據(jù)不止一個(gè)字,則會(huì)使用順序?qū)ぶ?,從指定地址開始,根據(jù)模式設(shè)置而遞增或者遞減。(6)數(shù)據(jù)周期指令周期之后是數(shù)據(jù)周期。發(fā)送的數(shù)據(jù)量由字長(zhǎng)(W0和W1)決定,可以是一個(gè)或者多個(gè)字節(jié)的數(shù)據(jù)。所有數(shù)據(jù)均由8位字組成。(7)位序發(fā)送數(shù)據(jù)有兩種模式:MSB優(yōu)先或LSB優(yōu)先。上電時(shí),默認(rèn)模式為MSB優(yōu)先??梢酝ㄟ^(guò)對(duì)配置寄存器編程來(lái)改變?yōu)長(zhǎng)SB優(yōu)先。在MSB優(yōu)先模式下,串行交換從最高位開始,結(jié)束于LSB。在LSB優(yōu)先模式下,順序相反。指令長(zhǎng)度為16位,有兩個(gè)字節(jié)組成。3.2.3 SPI 接口的RTL級(jí)設(shè)計(jì) SPI 接口功能模塊的劃分圖3-
19、8是從SPI接口的系統(tǒng)示意圖。SPI接口是串行通信接口,它將主SPI發(fā)送過(guò)來(lái)的數(shù)據(jù)存入內(nèi)部相應(yīng)寄存器之后再輸出控制信號(hào)到芯片其他部分。因此整個(gè)系統(tǒng)可以劃分為接口、核心和輸出端口三部分。圖3-8 SPI接口系統(tǒng)示意圖從SPI由指令移位寄存器、指令數(shù)據(jù)緩存器、寄存器控制邏輯、寄存器構(gòu)成,如圖3-9所示。主SPI發(fā)送過(guò)來(lái)的串行數(shù)據(jù)先依次進(jìn)入指令移位寄存器,指令移位寄存器再依次將數(shù)據(jù)傳送到指令緩存器。寄存器控制邏輯根據(jù)MSB優(yōu)先或LSB優(yōu)先控制指令移位寄存器的移位以及控制指令緩存器的輸出,將其傳送到相應(yīng)地址的寄存器當(dāng)中。寄存器包括三種類型:配置寄存器、傳送寄存器和編程寄存器。寄存器存入相應(yīng)數(shù)據(jù)之后,先
20、根據(jù)配置寄存器配置串行接口,編程寄存器再根據(jù)寄存器功能表中的定義輸出相對(duì)應(yīng)的控制信號(hào),最后根據(jù)傳送寄存器指令統(tǒng)一輸出控制信號(hào)。圖3-9 SPI接口的功能模塊 寄存器的設(shè)計(jì)SPI端口是一種由外部輸入信號(hào)來(lái)配置寄存器的機(jī)制,因此需要指令移位寄存器和指令緩存器對(duì)輸入進(jìn)來(lái)的數(shù)據(jù)進(jìn)行暫存。此外對(duì)器件進(jìn)行編程,需要定義一個(gè)結(jié)構(gòu)化的寄存器空間,此結(jié)構(gòu)可細(xì)分為多個(gè)地址,數(shù)據(jù)傳輸?shù)闹噶铍A段中的地址即指向這些地址。每個(gè)地址可尋址一個(gè)8位的字節(jié),每一位均有其特定的含義和作用,詳見(jiàn)表3-3。表3-3 寄存器表地址(Hex)名稱Bit7(MSB)Bit6Bit5Bit4Bit3Bit2Bit1Bit0(L
21、SB)默認(rèn)值00chipportconfig0LSB first0=off1=onSoft reset0=off1=on000000008modes00000Internal powerdown mode000-normal(power-up)001-full power-down010-standby011-normal0009clock0000000Duty cycle stabilizer0-disabled1-enabled0110offset00Digital Offset Adjust Offset in LSBs +31 +30 +29 +2 +1 +0 -1 -2 -3 -31
22、 -320014outputmode000000Data Format Select00-offset binay01-twos complement10-Gray Code11-invert0016outputphaseOutput ClockPolarity0=normal1=inverted00000000018VREFInternal reference resistor divider00-VREF=1.25V01-VREF=1.5V10-VREF=1.75V11- VREF=2V000000C0FFdeviceupdate0000000SW transfer0=off1=in00在
23、上表中可以看到寄存器分為三種類型:配置寄存器、傳送寄存器和編程寄存器。(1)配置寄存器(地址00)配置寄存器位于地址00,該寄存器用來(lái)配置串行接口,包含有2個(gè)有效位,位于高半字節(jié)當(dāng)中,低半字節(jié)未連接,留做備用。其功能是使芯片軟復(fù)位并配置在已知狀態(tài),而與當(dāng)前的數(shù)據(jù)移位方向無(wú)關(guān),這將確保在發(fā)生故障時(shí)器件能夠給予積極處理。位6LSB優(yōu)先該位決定發(fā)送和接收信息的順序,如果該位清零,數(shù)據(jù)將以MSB優(yōu)先的方式處理。如果設(shè)置該位,數(shù)據(jù)將以LSB優(yōu)先的方式處理。該位被配置后,立即產(chǎn)生作用。位5軟復(fù)位控制該位控制軟復(fù)位,該位的默認(rèn)值為0。如果將該位設(shè)置為高電平,就會(huì)啟動(dòng)芯片芯片軟復(fù)位,軟復(fù)位將所有默認(rèn)值寫入寄存
24、器中,但配置寄存器(00)除外,無(wú)默認(rèn)值的寄存器將保持用戶最后一次編程的狀態(tài)。軟復(fù)位處理完畢后,該位清零,表示復(fù)位過(guò)程已完成。該位被配置后,在CSB上升沿到來(lái)時(shí)產(chǎn)生作用。(2)傳送寄存器(地址FF)一般寄存器都需要采用主從觸發(fā)器進(jìn)行緩沖,緩沖可以增強(qiáng)系統(tǒng)的多器件同步能力,并有助于寫入對(duì)存儲(chǔ)器其他部分寫入的值可能有依賴關(guān)系的配置。根據(jù)需要的不同,有些寄存器需要這樣的緩沖,例如編程寄存器。有些寄存器則永遠(yuǎn)不會(huì)進(jìn)行緩沖,例如配置寄存器和傳送寄存器,因?yàn)槌鲇诔绦蚝涂刂颇康模@些寄存器要求及時(shí)獲得響應(yīng)。無(wú)論緩沖與否,SPI端口都要負(fù)責(zé)將信息放入寄存器中,不過(guò)對(duì)于采用緩沖的寄存器,必須啟動(dòng)傳輸以將數(shù)據(jù)移出
25、。傳送寄存器即提供軟件傳輸信號(hào)。位0軟件傳輸設(shè)置位0為“1”將立即啟動(dòng)傳輸,當(dāng)狀態(tài)機(jī)識(shí)別到該位已經(jīng)設(shè)置時(shí),它會(huì)產(chǎn)生一個(gè)內(nèi)部傳輸信號(hào),將數(shù)據(jù)從編程寄存器中移出。完成之后,狀態(tài)機(jī)將該位清零,以便下次傳輸。(3)編程寄存器本文設(shè)計(jì)中所用到的編程寄存器的地址包括(08、09、10、14、16、18),其他地址可以在有新的需求時(shí)進(jìn)行添加。當(dāng)編程寄存器按照表3-3輸入相對(duì)應(yīng)的值后,應(yīng)產(chǎn)生一系列的控制信號(hào),如表3-4所示。這些控制信號(hào)產(chǎn)生后被鎖存,并在軟件傳輸?shù)拿钕逻_(dá)后,才會(huì)被一起傳輸?shù)胶竺娴哪K。受控電路則實(shí)現(xiàn)如表3-3中所示的功能。表3-4 編程寄存器列表地址(Hex)存入值輸出信號(hào)值08C475=0
26、,K356=0,C82=1,C476=0C475=1,K356=0,C82=1,C476=1C475=0,K356=0,C82=1,C476=1C475=0,K356=0,C82=1,C476=009G13=0G13=110offs=offs=offs=offs=offs=offs=offs=offs=offs=offs=offs=14opm=00opm=01opm=10opm=1116opp=0opp=118C724=0,C725=0,C760=0,C763=0C724=0,C725=0,C760=1,C763=0C724=0,C725=0,C760=0,C763=1C724=0,C725=
27、0,C760=1,C763=13.2.4 SPI接口的邏輯綜合邏輯綜合是指從設(shè)計(jì)的高層次向低層次轉(zhuǎn)換的過(guò)程,是一種自動(dòng)設(shè)計(jì)的過(guò)程,即用Verilog HDL語(yǔ)言描述的程序經(jīng)過(guò)優(yōu)化轉(zhuǎn)化成所用單元庫(kù)的器件列表以及相對(duì)應(yīng)的關(guān)系??梢允蔷W(wǎng)表的形式,也可以是圖表的形式。綜合不是單純的映射,更重要的是整體優(yōu)化。一般的綜合過(guò)程,其輸入為RTL設(shè)計(jì),經(jīng)過(guò)轉(zhuǎn)換和優(yōu)化后得到優(yōu)化后的門級(jí)網(wǎng)表。在布局布線之前,設(shè)計(jì)者可以通過(guò)邏輯綜合優(yōu)先考慮約束問(wèn)題,盡早發(fā)現(xiàn)并解決設(shè)計(jì)出現(xiàn)的違規(guī),不將其帶入物理設(shè)計(jì)中。施加不同的約束條件,可以滿足不同的設(shè)計(jì)要求。在時(shí)序驅(qū)動(dòng)的設(shè)計(jì)中,優(yōu)先考慮時(shí)序要求,其次為面積要求。邏輯綜合可分為以下步
28、驟31:(1)轉(zhuǎn)譯(Translation):讀入電路的RTL級(jí)描述,將其翻譯成所對(duì)應(yīng)的功能塊以及功能塊之間的拓?fù)浣Y(jié)構(gòu)。在綜合器內(nèi)部生成不作任何的邏輯重組和優(yōu)化的布爾函數(shù)表達(dá)式。(2)優(yōu)化(Optimization):基于所施加的面積和時(shí)序的約束條件,綜合器按照一定的算法對(duì)轉(zhuǎn)譯結(jié)果進(jìn)行邏輯重組和優(yōu)化。(3)映射(Mapping):根據(jù)所施加的時(shí)序和面積的約束條件,在綜合器和目標(biāo)工藝庫(kù)(Target Technology)中搜索符合條件的單元來(lái)構(gòu)成實(shí)際電路。邏輯綜合所需要的輸入文件有RTL級(jí)的代碼、約束條件以及所對(duì)應(yīng)的綜合庫(kù)。輸出文件是描述邏輯單元互連關(guān)系的網(wǎng)表。如下圖所示:圖3-10 邏輯綜合
29、步驟本文所設(shè)計(jì)的SPI接口使用Synopsys公司的Design Complier軟件進(jìn)行綜合,采用chartered 0.18um的深亞微米級(jí)綜合庫(kù),對(duì)整個(gè)設(shè)計(jì)的參數(shù)進(jìn)行了試驗(yàn)和調(diào)整,使其具有更小的面積和更快的速度。SPI接口的邏輯綜合主要解決以下幾個(gè)問(wèn)題:設(shè)置綜合環(huán)境、設(shè)置設(shè)計(jì)約束、選擇編譯策略以及制定出現(xiàn)時(shí)序違規(guī)后的解決方案。 綜合環(huán)境的設(shè)置SPI接口的綜合環(huán)境的設(shè)置要在進(jìn)行綜合之前進(jìn)行,主要包括工藝偏差、電壓和溫度范圍、必需的驅(qū)動(dòng)強(qiáng)度和驅(qū)動(dòng)類型等。工藝偏差(Process Deviation)是指在流片的階段,晶圓(Wafer)在流水線上要經(jīng)過(guò)幾十道工序,這些工序在控制上
30、會(huì)有一些偏差,這些偏差導(dǎo)致器件的性能的變化。一般在邏輯電路上表現(xiàn)為信號(hào)延時(shí)或者驅(qū)動(dòng)能力的變化。同樣,當(dāng)溫度變化時(shí)會(huì)導(dǎo)致溝道電流強(qiáng)度變化,從而影響邏輯電路的驅(qū)動(dòng)能力和信號(hào)延時(shí)。當(dāng)電壓比較高時(shí),信號(hào)延時(shí)變小、邏輯電路單元的驅(qū)動(dòng)能力增強(qiáng),從而可以運(yùn)行在較高的工作頻率下。綜合環(huán)境屬性的設(shè)置腳本如下表所示:表3-5 綜合環(huán)境屬性腳本設(shè)置#Environment Attributeset_operating_conditions -library scx_csm_18ic_ss_1p62v-125cset_wire_load_model -name csm18_w10 -library scx_csm_1
31、8ic_ss_1p62v-125cset_driving_cell -lib_cell INVX1 -pin Y -from_PIN A -library scx_csm_18ic_ss_1p62v-125c nrstset_load 10 nrst首先對(duì)SPI進(jìn)行操作環(huán)境設(shè)置,包括設(shè)計(jì)的工藝、電壓和溫度條件(set_operating_conditions)。綜合庫(kù)包括最好、典型以及最差環(huán)境,在綜合時(shí)要使用最差環(huán)境,所以選擇scx_csm_18ic_ss_1p62v-125c庫(kù)文件,以最大建立時(shí)間(setup time)來(lái)優(yōu)化設(shè)計(jì)。線負(fù)載模型(set_wire_load_model)可以對(duì)各
32、個(gè)模塊的線網(wǎng)負(fù)載進(jìn)行正確的建模,使用較寬松的線負(fù)載模型,可以為物理設(shè)計(jì)提供較充裕的時(shí)序空間,避免影響到布局布線后的時(shí)序收斂,導(dǎo)致綜合迭代次數(shù)增加。線負(fù)載模式(set_wire_load_mode)一共有三種,即頂部(TOP)、依附(Enclosed)、分割(Segmented)。本文所選用的綜合庫(kù)默認(rèn)為頂部模式,就不需要在腳本中另外設(shè)置。本文將庫(kù)單元INVX1設(shè)置為驅(qū)動(dòng)單元(set_driving_cell),使DC根據(jù)輸入驅(qū)動(dòng)來(lái)計(jì)算輸入的跳變時(shí)間,進(jìn)而計(jì)算路徑時(shí)序。DC需要知道輸出單元所驅(qū)動(dòng)的全部電容負(fù)載,以便準(zhǔn)確的計(jì)算輸出電路的時(shí)序。默認(rèn)情況下,DC假設(shè)所有端口的負(fù)載為0??梢酝ㄟ^(guò)set_
33、load命令給端口電容負(fù)載設(shè)置一個(gè)常數(shù),此處設(shè)為10pF。 時(shí)序約束設(shè)置單純的映射對(duì)綜合來(lái)說(shuō)是遠(yuǎn)遠(yuǎn)不夠的,更重要的是設(shè)計(jì)的整體優(yōu)化,這就需要為綜合規(guī)定必要的面積、速度、功耗等設(shè)計(jì)約束,從而使優(yōu)化有所依據(jù)。非時(shí)鐘信號(hào)的時(shí)序約束包括接口約束和內(nèi)部約束。接口約束包括建立時(shí)間(setup time)、保持時(shí)間(hold time)等。內(nèi)部約束包括輸入延時(shí)(set_input_delay)、輸出延時(shí)(set_output_delay)、假路徑(set_false_path)、多周期路徑(set_multicycle_path)等。時(shí)序單元(sequential cell)的建立時(shí)間是在時(shí)鐘
34、信號(hào)的有效沿到來(lái)之前,數(shù)據(jù)輸入信號(hào)必須到達(dá)的最小時(shí)間長(zhǎng)度,以保證該單元可以正確工作。建立時(shí)間起點(diǎn)為數(shù)據(jù)信號(hào)變換到VDD的50%,終點(diǎn)為時(shí)鐘信號(hào)有效沿變換到VDD的50%33。時(shí)序單元的保持時(shí)間是在時(shí)鐘信號(hào)的有效沿或其他特定信號(hào)到來(lái)之后,數(shù)據(jù)輸入信號(hào)必須保持穩(wěn)定的的最小時(shí)間長(zhǎng)度。起點(diǎn)為時(shí)鐘信號(hào)有效沿變換到VDD的50%,終點(diǎn)為數(shù)據(jù)信號(hào)有效沿變換到VDD的50%為33。SPI接口的時(shí)鐘約束條件設(shè)置腳本如下表所示:表3-6 時(shí)鐘約束條件設(shè)置腳本#Clock Definementcreat_clock -name clock clk #Timeing Constrainsset_input_delay
35、 16 -clock clock all_inputsset_output_delay 16 -clock clock all_outputs#Clock_straintscreat_clock -period 40 -waveform 0 20 clkset_dont_touch_network clkset_drive 0 clkset_clock_uncertainty 0.1 get_clocks clockset_clock_latency 0.1 get_clocks clockset_dont_touch get_nets nrstset_ideal_network get_ne
36、ts nrst腳本中,定義了時(shí)鐘名,設(shè)置了輸入端口上升延遲為 40%,即16ns。輸出端口上升延遲也為16ns。設(shè)置sclk時(shí)鐘周期為40ns,上升沿從0ns開始,下降沿從20ns開始。set_clock_uncertainty 選項(xiàng)模擬了時(shí)鐘抖動(dòng)。同時(shí)還設(shè)置了最大的時(shí)鐘驅(qū)動(dòng),這里假設(shè)時(shí)鐘驅(qū)動(dòng)能力無(wú)限大,實(shí)際的時(shí)鐘結(jié)構(gòu)可以由布局布線工具通過(guò)時(shí)鐘樹綜合實(shí)現(xiàn)。 設(shè)計(jì)規(guī)則約束設(shè)置設(shè)計(jì)規(guī)則需要對(duì)一些物理參數(shù)進(jìn)行設(shè)置,比如0-1(1-0)跳變時(shí)間、電容、扇入扇出。這些參數(shù)之間是相互影響相互聯(lián)系的。如果扇出過(guò)大,會(huì)導(dǎo)致電容過(guò)大。而電容過(guò)大,會(huì)導(dǎo)致充放電時(shí)間過(guò)長(zhǎng),也就是0-1(1-0)跳變時(shí)間
37、過(guò)長(zhǎng)。要在工藝庫(kù)器件的參數(shù)范圍內(nèi)進(jìn)行設(shè)計(jì)規(guī)則的約束設(shè)置。一共有三種設(shè)計(jì)規(guī)則的約束:最大電容(max capacitance)、最大扇出(max fanout)、最大跳變(max transition)。三者相互聯(lián)系,相互影響,用來(lái)控制設(shè)計(jì)中的緩沖(buffering)。SPI接口的設(shè)計(jì)規(guī)則約束設(shè)置的腳本如下表所示:表3-7 設(shè)計(jì)規(guī)則約束腳本#Design Rules Constrainsset_max_trainsition 3 nrstset_max_capacitance 10 nrstset_max_fanout 75 nrst 編譯策略根據(jù)設(shè)計(jì)的結(jié)構(gòu)和定義,選擇最合適的編
38、譯策略。對(duì)于少于10K門的設(shè)計(jì),采用自頂向下的層次式編譯。整個(gè)設(shè)計(jì)被讀入并編譯,然后基于設(shè)計(jì)指標(biāo),只需在頂層應(yīng)用約束和屬性,通過(guò)對(duì)整個(gè)設(shè)計(jì)進(jìn)行優(yōu)化,就可以得到理想的結(jié)果。使用時(shí)序預(yù)算(Time Budgeting)來(lái)編譯根據(jù)每個(gè)模塊的時(shí)序要求來(lái)劃分的設(shè)計(jì)。設(shè)計(jì)者有包括內(nèi)部模塊的時(shí)序需求在內(nèi)的整個(gè)設(shè)計(jì)的時(shí)序預(yù)算。通過(guò)手工規(guī)定每個(gè)模塊的時(shí)序需求,從而為每個(gè)單獨(dú)的模塊產(chǎn)生單獨(dú)的綜合腳本。此時(shí),綜合通常采用自底向上的方法。時(shí)序預(yù)算編譯方案適合于大型設(shè)計(jì),由于它使用獨(dú)立的腳本,因此更易于管理設(shè)計(jì)。即使對(duì)子模塊添加改動(dòng),也不需要重新對(duì)整個(gè)設(shè)計(jì)進(jìn)行綜合。它還可以對(duì)單個(gè)模塊進(jìn)行優(yōu)化得到較好的結(jié)果。對(duì)于內(nèi)部模塊
39、沒(méi)有很好定義的大型設(shè)計(jì),使用重新綜合編譯。它不受硬件內(nèi)存的限制,允許模塊之間的時(shí)序預(yù)算,但需要對(duì)頂層設(shè)計(jì)進(jìn)行約束,并且預(yù)先編譯子模塊。子模塊再使用頂層約束來(lái)規(guī)定特性,這樣可以有效地傳播時(shí)序信息從頂層到子模塊。通過(guò)執(zhí)行腳本,為每個(gè)子模塊產(chǎn)生各自的約束文件,接著用這些文件對(duì)個(gè)子模塊進(jìn)行重新編譯。由于可以自由進(jìn)行子模塊之間的時(shí)序預(yù)算,且占用內(nèi)存小,子模塊之間的優(yōu)化可得到高質(zhì)量的結(jié)果,產(chǎn)生單獨(dú)的可被設(shè)計(jì)者修改的腳本。本文采用自頂向下的層次式編譯方案,因?yàn)樵O(shè)計(jì)的SPI接口規(guī)模較小,且時(shí)鐘網(wǎng)絡(luò)較簡(jiǎn)單。 SPI接口綜合的面積報(bào)告分析SPI的面積報(bào)告如下圖所示,組合邏輯面積:2794.18,內(nèi)部
40、連線面積為40786.88,總面積為51694.14。符合預(yù)期的要求。表3-8 綜合后的面積分析報(bào)告*Report : areaDesign : spi_slaveVersion: Z-2007.03-SP2*Library(s) Used: scx_csm_18ic_ss_1p62v_125cCombinational area: 4790.Noncombinational area: 6755.Net Interconnect area: 47413. Total cell area: 11545.Total area: 58959.* End Of Report * SPI
41、接口綜合的時(shí)序報(bào)告分析時(shí)序分析主要用來(lái)顯示單個(gè)路徑在每個(gè)路徑組中的最壞時(shí)序遲滯。時(shí)序分析報(bào)告中包含:路徑起點(diǎn)、終點(diǎn)和中間點(diǎn);路徑上每個(gè)點(diǎn)增加和積累的延遲;數(shù)據(jù)最終到達(dá)終點(diǎn)的時(shí)間和數(shù)據(jù)輸出應(yīng)該所需的時(shí)間;建立時(shí)間遲滯,即所需時(shí)間與到達(dá)時(shí)間之差。由表3-9可知,路徑時(shí)序符合要求,并且有21.45ns的時(shí)序裕量。表3-9 綜合后的時(shí)序分析報(bào)告*Report : timing -path full -delay max -max_paths 1 -sort_by groupDesign : spi_slaveVersion: Z-2007.03-SP2*Operating Conditions: ss
42、_1p62v_125c Library: scx_csm_18ic_ss_1p62v_125cWire Load Model Mode: top Startpoint: csb (input port clocked by clock) Endpoint: addr_reg8 (rising edge-triggered flip-flop clocked by clock) Path Group: clock Path Type: max Des/Clust/Port Wire Load Model Library - spi_slave csm18_wl10 scx_csm_18ic_ss
43、_1p62v_125c Point Incr Path - clock clock (rise edge) 0.00 0.00 clock network delay (ideal) 0.10 0.10 input external delay 16.00 16.10 f csb (in) 0.00 16.10 f U14/Y (NAND2BX4) 0.36 16.46 f U29/Y (OAI21X1) 1.01 17.47 r addr_reg8/E (EDFFX1) 0.00 17.47 r data arrival time 17.47 clock clock (rise edge)
44、40.00 40.00 clock network delay (ideal) 0.10 40.10 clock uncertainty -0.10 40.00 addr_reg8/CK (EDFFX1) 0.00 40.00 r library setup time -1.08 38.92 data required time 38.92 - data required time 38.92 data arrival time -17.47 - slack (MET) 21.45* End Of Report * 綜合后得到的電路圖下圖為綜合后的整體電路圖:圖3-11 整體電路
45、圖3.3 SPI接口的仿真與驗(yàn)證仿真與驗(yàn)證是芯片設(shè)計(jì)中重要環(huán)節(jié)。隨著技術(shù)的快速進(jìn)步,芯片上市周期越來(lái)越短,這就需要提高芯片的設(shè)計(jì)效率以縮短產(chǎn)品研發(fā)周期。而在芯片設(shè)計(jì)流程中,仿真驗(yàn)證所需時(shí)間已經(jīng)占整個(gè)設(shè)計(jì)周期的70%,甚至高達(dá)85%,因此仿真驗(yàn)證成為芯片設(shè)計(jì)的主要瓶頸。集成電路的驗(yàn)證分為功能驗(yàn)證、時(shí)序驗(yàn)證、物理驗(yàn)證和可測(cè)試性驗(yàn)證等。本章將介紹SPI接口的功能驗(yàn)證。功能驗(yàn)證方法主要采用基于仿真的驗(yàn)證方法。本文采用仿真的驗(yàn)證方法來(lái)驗(yàn)證SPI接口的功能正確性。對(duì)芯片功能的驗(yàn)證可以分為三個(gè)階段:RTL級(jí)驗(yàn)證、全芯片驗(yàn)證和擴(kuò)展驗(yàn)證34。RTL級(jí)驗(yàn)證通常由模塊的設(shè)計(jì)者進(jìn)行,運(yùn)行大量簡(jiǎn)單的測(cè)試方案,保證該模塊可以與其他功能模塊很好地集成在同一芯片上。全芯片驗(yàn)證的目的是保證可以覆蓋功能測(cè)試計(jì)劃中的所有測(cè)試目標(biāo)。擴(kuò)展驗(yàn)證目的是發(fā)現(xiàn)設(shè)計(jì)中所有角落的錯(cuò)誤。由于測(cè)試向量集不能預(yù)先確定,并且可能延續(xù)到版圖設(shè)計(jì)階段,因此這個(gè)階段相對(duì)較長(zhǎng)。本章將介紹RTL級(jí)的驗(yàn)證。3.3.1 SPI接口的RTL級(jí)仿真及結(jié)果RTL級(jí)設(shè)計(jì)是對(duì)各個(gè)功能模塊進(jìn)行寄存器傳輸級(jí)的描述,系統(tǒng)的行為功能由寄存器之間的連接關(guān)系所實(shí)現(xiàn)的邏輯來(lái)承載。RTL級(jí)仿真的主要目標(biāo)是完成邏輯功能的驗(yàn)證。仿真的輸入是不含任何延遲的源代碼程序。RTL級(jí)仿真
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)環(huán)境管理體系認(rèn)證與財(cái)務(wù)管理考核試卷
- 化肥銷售合同中的合同履行中的質(zhì)量爭(zhēng)議處理流程考核試卷
- 人造板回收利用技術(shù)探討考核試卷
- 材料生物降解速率測(cè)試考核試卷
- 殘障人士運(yùn)動(dòng)訓(xùn)練跨學(xué)科合作研究考核試卷
- 貨物驗(yàn)收?qǐng)?bào)告編制規(guī)范考核試卷
- 三顧茅廬讀書筆記15篇
- 口腔護(hù)理發(fā)展史
- 檢察文化建設(shè)年活動(dòng)方案
- 汽車全國(guó)活動(dòng)方案
- GB/T 45719-2025半導(dǎo)體器件金屬氧化物半導(dǎo)體(MOS)晶體管的熱載流子試驗(yàn)
- 寶媽日常心理護(hù)理
- 2025年社會(huì)學(xué)概論測(cè)試題含答案(附解析)
- 2025-2030年環(huán)境工程產(chǎn)業(yè)深度調(diào)研及發(fā)展趨勢(shì)與投資戰(zhàn)略研究報(bào)告
- 2025年事業(yè)單位公開招聘考試(E類)《綜合應(yīng)用能力西醫(yī)臨床》試卷真題及完整解析
- 保險(xiǎn)公司保單管理制度
- 2025年中國(guó)AI翻譯行業(yè)市場(chǎng)全景分析及前景機(jī)遇研判報(bào)告
- 2025-2030中國(guó)酶聯(lián)免疫吸附測(cè)定(ELISA)行業(yè)市場(chǎng)發(fā)展趨勢(shì)與前景展望戰(zhàn)略研究報(bào)告
- 2025年內(nèi)蒙古眾達(dá)人力資源公司招聘題庫(kù)帶答案分析
- 水利工程隱患排查課件
- 醫(yī)藥公司廉政管理制度
評(píng)論
0/150
提交評(píng)論