專利名稱:程控型/命令控制型存儲(chǔ)器功能仿真系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種存儲(chǔ)器功能仿真系統(tǒng),尤其涉及一種程控型/命令控制型存儲(chǔ)器功能仿真系統(tǒng)。
現(xiàn)有技術(shù)中的硬件仿真系統(tǒng)旨在對(duì)一些復(fù)雜的應(yīng)用設(shè)計(jì)進(jìn)行硬件與軟件仿真,以驗(yàn)證其邏輯設(shè)計(jì)的正確性。但是,傳統(tǒng)的硬件仿真系統(tǒng)采用外接卡(可配置的存儲(chǔ)器模塊)只能對(duì)非程控型或非命令控制型存儲(chǔ)器進(jìn)行仿真,并且在容量和配置地重構(gòu)性上受到限制。這種專用的存儲(chǔ)器外接卡也十分昂貴,很難適合用戶的多種存儲(chǔ)器實(shí)體的驗(yàn)證要求。
本發(fā)明的目的是針對(duì)上述問(wèn)題,提供一種新穎的程控型/命令控制型存儲(chǔ)器仿真系統(tǒng),該系統(tǒng)實(shí)現(xiàn)對(duì)不同類型的存儲(chǔ)器界面的轉(zhuǎn)換,并且還可以監(jiān)視和記錄系統(tǒng)執(zhí)行中的各種錯(cuò)誤(如在存儲(chǔ)器的讀、寫、刷新等執(zhí)行過(guò)程中所發(fā)生的功能錯(cuò)或狀態(tài)錯(cuò)等)。
本發(fā)明的程控型/命令控制型存儲(chǔ)器功能仿真系統(tǒng)包含置于一塊PFGA中的USB控制器,用于提供可置換存儲(chǔ)器界面與數(shù)據(jù)存儲(chǔ)器之間的信號(hào)轉(zhuǎn)換與解碼,以控制外部系統(tǒng)對(duì)數(shù)據(jù)存儲(chǔ)器的訪問(wèn);模式設(shè)置邏輯,用于將存儲(chǔ)器功能仿真系統(tǒng)設(shè)置為所要求的仿真配置,以決定仿真存儲(chǔ)器的深度和寬度;偵錯(cuò)邏輯,用于提供對(duì)仿真系統(tǒng)的監(jiān)控,鑒別輸入信號(hào)和記錄錯(cuò)誤信息;置于PFGA中的可配置存儲(chǔ)器界面,用于實(shí)現(xiàn)不同類型存儲(chǔ)器界面的置換;內(nèi)部存儲(chǔ)器陣列,由大容量半導(dǎo)體存儲(chǔ)器陣列構(gòu)成,并與所述接口模塊連接,構(gòu)成數(shù)據(jù)的存儲(chǔ)實(shí)體;一個(gè)USB通訊口元件(600),用于處理PC存儲(chǔ)器功能仿真系統(tǒng)之間的數(shù)據(jù)通訊。
根據(jù)本發(fā)明的程控型/命令控制型存儲(chǔ)器仿真系統(tǒng)采用可置換界面技術(shù)使程控型以及命令控制型存儲(chǔ)器功能仿真系統(tǒng)適合多種半導(dǎo)體存儲(chǔ)器的功能仿真,由于硬件無(wú)需修改,也不需付加任何外部硬件,節(jié)省了系統(tǒng)成本。
另外,本發(fā)明中采用USB通口,既可重設(shè)置仿真系統(tǒng)的結(jié)構(gòu)配置,又可監(jiān)控并記錄系統(tǒng)仿真過(guò)程中的錯(cuò)誤信息。
本發(fā)明的程控型/命令控制型存儲(chǔ)器仿真系統(tǒng)還可以通過(guò)多種組合構(gòu)成一個(gè)各種深度和不同位寬度的大容量數(shù)據(jù)存儲(chǔ)器作為硬件仿真系統(tǒng)的容量擴(kuò)充摸塊。
圖1是根據(jù)本發(fā)明的程控型/命令控制型存儲(chǔ)器仿真系統(tǒng)的應(yīng)用框圖2是圖1中的存儲(chǔ)器仿真系統(tǒng)中的可置換存儲(chǔ)界面的配置;
圖3是圖1中的存儲(chǔ)器仿真系統(tǒng)中的USB控制器的配置;
圖4是用于說(shuō)明本發(fā)明的存儲(chǔ)器仿真系統(tǒng)偵錯(cuò)過(guò)程的方框圖。
如圖1所示,根據(jù)本發(fā)明的程控型/命令控制型存儲(chǔ)器仿真系統(tǒng)1包含了一個(gè)置于一塊PFGA中的USB控制器100,一個(gè)模式設(shè)置邏輯200,一個(gè)偵錯(cuò)邏輯300,一個(gè)置于PFGA中的可配置存儲(chǔ)器界面400(圖中以一個(gè)SDRAM為例)和內(nèi)部存儲(chǔ)器陣列500,并如圖所示,與一外部系統(tǒng)相連,該外部系統(tǒng)由用于諸如語(yǔ)音合成器等的外部IC仿真器120,以及具有USB端口的PC機(jī)110構(gòu)成。下面分別根據(jù)圖2到圖4對(duì)這些部件進(jìn)行詳細(xì)詳細(xì)描述。
圖1中的USB控制器100作為內(nèi)置微控制器控制USB器件進(jìn)行通訊,并對(duì)USB口的輸入輸出數(shù)據(jù)進(jìn)行轉(zhuǎn)換處理。首先USB控制器處于接收狀態(tài),然后根據(jù)接收到的命令判別下一步的狀態(tài),當(dāng)存儲(chǔ)器功能仿真系統(tǒng)向PC傳送數(shù)據(jù)時(shí),控制器可將內(nèi)部數(shù)據(jù)總線上數(shù)據(jù)轉(zhuǎn)換為8位數(shù)據(jù)依次傳送到USB器件,并置USB器件為發(fā)送方式,傳送給PC。反過(guò)來(lái),當(dāng)存儲(chǔ)器功能仿真系統(tǒng)接受由PC發(fā)送的數(shù)據(jù)時(shí),USB器件為接收方式,控制器將接收到的8位數(shù)據(jù)轉(zhuǎn)換成相應(yīng)的位寬放到內(nèi)部數(shù)據(jù)總線上。更具體地說(shuō),如圖3所示,用于本發(fā)明中的USB控制器100包括USB控制邏輯A1,數(shù)據(jù)控制邏輯A2,偵錯(cuò)用讀/寫邏輯A3,存儲(chǔ)器配置邏輯A4,錯(cuò)誤寄存器讀出邏輯A5以及下載邏輯A6。
USB控制邏輯A1對(duì)USB芯片(USBN9603)實(shí)施控制,對(duì)USB芯片發(fā)出讀/寫控制命令(CS,WR,RD,A0),使其工作于接收或發(fā)送數(shù)據(jù)的狀態(tài)。USB控制邏輯A1在系統(tǒng)上電時(shí)默認(rèn)為接收數(shù)據(jù)狀態(tài)(接收命令),首先它將讀取和判別USB芯片中的寄存器表,確定是否有從PC發(fā)送來(lái)的數(shù)據(jù),如果有,系統(tǒng)會(huì)接收并對(duì)數(shù)據(jù)進(jìn)行判別,在系統(tǒng)接收到命令后,根據(jù)命令的類型和要求決定USB控制邏輯A1在下一步的工作狀態(tài)。
數(shù)據(jù)控制邏輯A2實(shí)際上是對(duì)接收到的數(shù)據(jù)的一個(gè)解碼邏輯,它對(duì)接收到的第一個(gè)數(shù)據(jù)或者是執(zhí)行完一條命令后的下一條數(shù)據(jù)進(jìn)行解碼,來(lái)判別系統(tǒng)的下一步工作狀態(tài),確定數(shù)據(jù)總線上數(shù)據(jù)的流向。
偵錯(cuò)用讀/寫邏輯A3用來(lái)對(duì)由存儲(chǔ)器仿真系統(tǒng)的界面讀出或?qū)懭氪鎯?chǔ)器的數(shù)據(jù)的正確性進(jìn)行判別。從PC向仿真系統(tǒng)存儲(chǔ)器寫入數(shù)據(jù),由仿真系統(tǒng)的接口讀出數(shù)據(jù);或者從仿真系統(tǒng)的接口寫入,由USB向PC讀出,判別寫入和讀出的數(shù)據(jù)的一致性可以判別系統(tǒng)的工作是否存在錯(cuò)誤。并且這一部分還對(duì)系統(tǒng)的位寬作了調(diào)整,USB采用8位位寬,而仿真系統(tǒng)的位寬為可變,在時(shí)序上作了調(diào)整來(lái)對(duì)仿真系統(tǒng)的位寬作出拆分或合并,使兩者相匹配。
存儲(chǔ)器配置邏輯A4是根據(jù)不同客戶的不同要求,靈活的實(shí)現(xiàn)仿真系統(tǒng)對(duì)不同位寬的要求,以適應(yīng)不同的硬件仿真環(huán)境,存儲(chǔ)器功能仿真系統(tǒng)設(shè)計(jì)為帶寬可變型。存儲(chǔ)器功能仿真系統(tǒng)的帶寬可以實(shí)現(xiàn)8位、16位、32位、64位之間隨意的切換,(通過(guò)并聯(lián)整個(gè)存儲(chǔ)器仿真系統(tǒng)還可以實(shí)現(xiàn)128位,甚至使256位的帶寬)。不同帶寬的設(shè)計(jì)已經(jīng)預(yù)先置于系統(tǒng)中,對(duì)不同帶寬的選取所要做的只是由PC給出包含了相應(yīng)帶寬的命令。USB的控制邏輯根據(jù)接收到的命令對(duì)存儲(chǔ)器設(shè)置寄存器(mode_reg)重新賦值,系統(tǒng)內(nèi)部作出相應(yīng)調(diào)整,從而實(shí)現(xiàn)對(duì)整個(gè)系統(tǒng)帶寬的調(diào)整。
錯(cuò)誤寄存器讀出邏輯A5是將記錄了存儲(chǔ)器仿真系統(tǒng)在功能存取時(shí)錯(cuò)誤發(fā)生的類型、時(shí)間、地點(diǎn)等信息的錯(cuò)誤寄存器的內(nèi)容讀出經(jīng)USB口輸出到PC。它的邏輯同存儲(chǔ)器讀取數(shù)據(jù)相似,而數(shù)據(jù)源不同,前者是從存儲(chǔ)器讀取,后者是將錯(cuò)誤寄存器的數(shù)據(jù)讀出。本發(fā)明中,觀察錯(cuò)誤寄存器內(nèi)容就可以了解硬件仿真系統(tǒng)對(duì)存儲(chǔ)器功能仿真系統(tǒng)數(shù)據(jù)存取時(shí)發(fā)生的錯(cuò)誤,從而對(duì)整個(gè)硬件仿真系統(tǒng)進(jìn)行調(diào)整。輸出錯(cuò)誤寄存器是通過(guò)USB通用串行接口來(lái)實(shí)現(xiàn)的。當(dāng)USB控制模塊接到輸出錯(cuò)誤寄存器的命令(output error register)后,向系統(tǒng)發(fā)出輸出錯(cuò)誤寄存器的命令,系統(tǒng)收到命令后會(huì)將錯(cuò)誤寄存器的內(nèi)容分成8位數(shù)據(jù)依次送到USB控制模塊中,USB控制模塊控制USB將接收到的數(shù)據(jù)通過(guò)USB端口送到PC中去。
下載邏輯A6是為了對(duì)FPGA芯片的邏輯連接關(guān)系進(jìn)行重構(gòu)。FPGA允許再編程建立新的邏輯連接關(guān)系。下載邏輯A6對(duì)第二塊FPGA(界面可置換模塊)上的某些輸入信號(hào)位(program,init,cclk,done,din)進(jìn)行設(shè)置和判別,使第二塊FPGA工作在重構(gòu)模式下,并且對(duì)下載時(shí)的時(shí)序作了控制,將新的配置文件下載到第二塊FPGA中去,從而實(shí)現(xiàn)了對(duì)其邏輯連接關(guān)系的重構(gòu)。
總地來(lái)說(shuō),從圖3中可以看出,USB控制邏輯A1實(shí)現(xiàn)了對(duì)數(shù)據(jù)的接收和發(fā)送,數(shù)據(jù)控制邏輯A2進(jìn)行數(shù)據(jù)的判別,其余各個(gè)部分分別實(shí)現(xiàn)了對(duì)數(shù)據(jù)流的方向的控制。
USB控制邏輯A1在接收到數(shù)據(jù)后向其他各部分發(fā)出run信號(hào),使其余各部分開(kāi)始工作,當(dāng)USB控制邏輯A1將USB芯片中數(shù)據(jù)全部讀取后,將再次讀取和判別USB芯片中的寄存器表,這時(shí)需要將run信號(hào)置0,暫停其他各部分的工作。數(shù)據(jù)控制邏輯A2根據(jù)接收到的第一個(gè)數(shù)據(jù)或者是執(zhí)行完一條命令后的下一條數(shù)據(jù)的判別來(lái)對(duì)cmd_set、state[10]置位,決定下一步工作狀態(tài)和數(shù)據(jù)的流向,當(dāng)需要向PC發(fā)送數(shù)據(jù)時(shí),數(shù)據(jù)控制邏輯A2還會(huì)向USB控制邏輯A1發(fā)出請(qǐng)求,使USB口轉(zhuǎn)向發(fā)送的狀態(tài)。偵錯(cuò)用讀/寫邏輯A3,存儲(chǔ)器配置邏輯A4,錯(cuò)誤寄存器讀出邏輯A5以及下載邏輯A6實(shí)現(xiàn)對(duì)數(shù)據(jù)的處理,當(dāng)它們暫時(shí)不需要數(shù)據(jù)或者要向PC發(fā)送數(shù)據(jù)而數(shù)據(jù)還沒(méi)有準(zhǔn)備好時(shí),會(huì)向USB控制邏輯A1發(fā)出信號(hào)rw_en=0,使USB控制邏輯A1暫停數(shù)據(jù)的發(fā)送。
圖1中的可配置存儲(chǔ)器界面400能按照仿真的存儲(chǔ)器的功能重新構(gòu)置,這個(gè)界面是可以在線修改以實(shí)現(xiàn)各類存儲(chǔ)器的功能仿真??勺兇鎯?chǔ)器界面如圖2所示,外部硬件仿真系統(tǒng)的存儲(chǔ)器控制命令經(jīng)由命令編碼邏輯B1編碼產(chǎn)生內(nèi)部存儲(chǔ)器的標(biāo)準(zhǔn)控制命令。例如,SDRAM仿真時(shí),需要轉(zhuǎn)換由/CE,/RAS,/CAS,/WE構(gòu)成的存儲(chǔ)器訪問(wèn)指令。對(duì)SDRAM的地址信號(hào)亦需要地址緩存器轉(zhuǎn)換為內(nèi)存儲(chǔ)器的地址信號(hào)。內(nèi)存儲(chǔ)器的芯片選擇信號(hào)是通過(guò)高位地址的編碼產(chǎn)生。SDRAM的其他多種命令如auto-refresh(自動(dòng)刷新),power down(下電)等,也必須適當(dāng)處理,進(jìn)行分析鑒別。數(shù)據(jù)移位電路B2可根據(jù)仿真配置設(shè)置,產(chǎn)生不同的數(shù)據(jù)帶寬轉(zhuǎn)換。存儲(chǔ)器功能仿真系統(tǒng)內(nèi)部存儲(chǔ)器的數(shù)據(jù)帶寬按64位帶寬設(shè)計(jì),可以轉(zhuǎn)換為4種仿真配置8位,16位,32位和64位。仿真錯(cuò)誤監(jiān)控邏輯B3可以判別輸入信號(hào)和記錄信號(hào)中的錯(cuò)誤,并存儲(chǔ)于錯(cuò)誤寄存器內(nèi)。
可變存儲(chǔ)器界面由狀態(tài)控制機(jī)、地址轉(zhuǎn)換以及數(shù)據(jù)移位電路三部份組成。其中的狀態(tài)控制部分模擬并處理各種類型存儲(chǔ)器的內(nèi)部狀態(tài)轉(zhuǎn)換過(guò)程,該電路通過(guò)分析各種存儲(chǔ)器的界面命令,產(chǎn)生內(nèi)部地址以及讀寫控制信號(hào),在存儲(chǔ)器工作在睡眠或是省電模式下時(shí),該模塊將不發(fā)出任何讀寫控制命令,內(nèi)部SRAM不會(huì)進(jìn)入相應(yīng)的睡眠或是省電狀態(tài),內(nèi)部地址輸出為全零。在讀寫狀態(tài)下,內(nèi)部地址由地址轉(zhuǎn)換電路處理,讀寫命令除控制內(nèi)部SRAM的工作狀態(tài)外,同時(shí)作為地址轉(zhuǎn)換及數(shù)據(jù)移位電路的工作控制信號(hào)。狀態(tài)控制機(jī)的設(shè)計(jì)是可變界面實(shí)現(xiàn)的關(guān)鍵,通過(guò)更換這部分的邏輯,便可實(shí)現(xiàn)不同類型存儲(chǔ)器的界面接口,從而實(shí)現(xiàn)對(duì)各種存儲(chǔ)器仿真的快速實(shí)現(xiàn)。地址轉(zhuǎn)換電路由狀態(tài)控制機(jī)部分得到25位內(nèi)部地址,按照存儲(chǔ)器工作方式的不同組合并解碼形成不同的地址和片選信號(hào)。處理過(guò)程中先根據(jù)不同的MODE將內(nèi)部地址進(jìn)行轉(zhuǎn)換,轉(zhuǎn)換的結(jié)果保存于內(nèi)部地址寄存器,轉(zhuǎn)換方式如下表格所示
該地址寄存器的低19位送到SRAM作為SRAM的地址,高6位用于產(chǎn)生SRAM的片選信號(hào)。以下表格列出不同模式下用于片選信號(hào)譯碼的位地址。
同時(shí)由adr_buf[24]和adr_buf[2019]組成cs_sel,該信號(hào)送數(shù)據(jù)移位電路作為移位控制信號(hào),它決定了當(dāng)前有效數(shù)據(jù)位在數(shù)據(jù)總線上的分布情況,數(shù)據(jù)移位電路根據(jù)cs_sel及MODE將不同位的數(shù)據(jù)移到外部總線的相應(yīng)位置,以實(shí)現(xiàn)位寬的選擇。以下表格列出了不同cs_sel下有效數(shù)據(jù)的位置,及轉(zhuǎn)換后的位置。
8個(gè)數(shù)據(jù)位
16個(gè)數(shù)據(jù)位
在本發(fā)明中,使用FPGA配置USB控制器100以及可置換存儲(chǔ)器界面400具有很大便利?;趯?duì)不同仿真系統(tǒng)的存儲(chǔ)器界面設(shè)計(jì)需再重構(gòu)存儲(chǔ)器界面界面,采用FPGA可以輕易實(shí)現(xiàn)這一構(gòu)想,F(xiàn)PGA允許對(duì)內(nèi)部結(jié)構(gòu)重新設(shè)置來(lái)實(shí)現(xiàn)新的邏輯功能,根據(jù)FPGA的下載邏輯可以方便的將新的配置文件下載到FPGA中去,USB成為FPGA與PC之間數(shù)據(jù)交換的通道?;诓煌O(shè)計(jì)的數(shù)據(jù)流文件通過(guò)PC上的USB通用串行口傳送到存儲(chǔ)器功能仿真系統(tǒng)上USB芯片中去,USB的控制邏輯置于一塊FPGA中,它控制了FPGA與USB的數(shù)據(jù)通信,USB的控制邏輯根據(jù)FPGA的下載邏輯對(duì)第二塊FPGA(界面可置換模塊)上的某些信號(hào)位(program,init,cclk)進(jìn)行置位,使第二塊PFGA工作在configuration(配置)模式下,新的配置文件將通過(guò)USB控制模塊下載到界面可置換模塊中去,從而實(shí)現(xiàn)了對(duì)存儲(chǔ)器界面的置換。在完成了存儲(chǔ)器界面的置換后,控制模塊將回到初始狀態(tài),等待下一個(gè)命令。
另外,使用USB作為仿真系統(tǒng)偵錯(cuò)的接口,也是本發(fā)明的一個(gè)特色。USB控制模塊操作存儲(chǔ)器仿真系統(tǒng),使存儲(chǔ)器部分與界面脫離,用戶可直接對(duì)存儲(chǔ)器部分讀寫以達(dá)到偵錯(cuò)的目的。當(dāng)USB控制模塊處于工作狀態(tài),它將向系統(tǒng)內(nèi)部發(fā)出命令(ram_en=0),系統(tǒng)根據(jù)這個(gè)信號(hào)將界面與存儲(chǔ)器的控制權(quán)交給USB模塊來(lái)控制,這時(shí)界面與存儲(chǔ)器不再有聯(lián)系,所有與存儲(chǔ)器相連的數(shù)據(jù)信號(hào)、地址信號(hào)、控制信號(hào)都由USB模塊來(lái)控制,USB的控制模塊根據(jù)由PC發(fā)出的命令來(lái)判別系統(tǒng)的工作狀態(tài)以及工作方式。當(dāng)USB控制模塊不再接受PC的命令,自動(dòng)將控制權(quán)交給界面。
圖1中的模式設(shè)置邏輯200將存儲(chǔ)器功能仿真系統(tǒng)設(shè)置為所要求的仿真配置,以決定仿真存儲(chǔ)器的深度和寬度。具體地說(shuō),設(shè)計(jì)深度為230個(gè)字,寬度為64位。
圖1中的偵錯(cuò)邏輯300控制PC仿真系統(tǒng)的通訊方式,即訪問(wèn)內(nèi)部存儲(chǔ)器方式,或讀取錯(cuò)誤寄存器模式。如圖4所示,偵錯(cuò)僅對(duì)界面信號(hào)進(jìn)行。偵錯(cuò)邏輯210監(jiān)控可置換存儲(chǔ)器界面220和內(nèi)部存儲(chǔ)器230。由USB口啟動(dòng)偵錯(cuò)邏輯將界面220內(nèi)的錯(cuò)誤記錄和存儲(chǔ)器內(nèi)的數(shù)據(jù)發(fā)送到PC,根據(jù)所獲得的信號(hào)檢查存儲(chǔ)器功能仿真的正確性。來(lái)自PC的usb_data_in信號(hào)開(kāi)始通訊進(jìn)程。先由偵錯(cuò)邏輯210發(fā)送出WE(upload)和OE(download)信號(hào)對(duì)內(nèi)部存儲(chǔ)器230進(jìn)行讀寫操作,比較寫入數(shù)據(jù)和讀出數(shù)據(jù)以檢查內(nèi)部存儲(chǔ)器的訪問(wèn)操作。或直接從可置換存儲(chǔ)器界面內(nèi)讀出錯(cuò)誤寄存器信息。
偵錯(cuò)邏輯210的詳細(xì)內(nèi)容見(jiàn)下表。
其中,Writea*為white with autoprecharge reada*read with autoprecharge
雖然本說(shuō)明書已經(jīng)根據(jù)附圖,對(duì)本發(fā)明的一個(gè)較佳實(shí)施例的構(gòu)成和工作進(jìn)行了描述,但是熟悉本領(lǐng)域的技術(shù)人員在本發(fā)明所揭示的原理范圍內(nèi)還可進(jìn)行各種形式和細(xì)節(jié)上的修改,因此上述較佳實(shí)施例僅僅是說(shuō)明性的。本發(fā)明的范圍由所附權(quán)利要求書確定。
權(quán)利要求
1.一種程控型/命令控制型存儲(chǔ)器功能仿真系統(tǒng)包含
置于一塊PFGA中的USB控制器(100),用于提供可置換存儲(chǔ)器界面(400)與數(shù)據(jù)存儲(chǔ)器(500)之間的信號(hào)轉(zhuǎn)換與解碼,以控制外部系統(tǒng)對(duì)數(shù)據(jù)存儲(chǔ)器的訪問(wèn);
模式設(shè)置邏輯(200),用于將存儲(chǔ)器功能仿真系統(tǒng)設(shè)置為所要求的仿真配置,以決定仿真存儲(chǔ)器的深度和寬度;
偵錯(cuò)邏輯(300),用于提供對(duì)仿真系統(tǒng)的監(jiān)控,鑒別輸入信號(hào)和記錄錯(cuò)誤信息;
置于PFGA中的可配置存儲(chǔ)器界面(400),用于實(shí)現(xiàn)不同類型存儲(chǔ)器界面的置換;
內(nèi)部存儲(chǔ)器陣列(500),由大容量半導(dǎo)體存儲(chǔ)器陣列構(gòu)成,并與所述接口模塊連接,構(gòu)成數(shù)據(jù)的存儲(chǔ)實(shí)體;
一個(gè)USB通訊口元件(600),用于處理PC存儲(chǔ)器功能仿真系統(tǒng)之間的數(shù)據(jù)通訊。
2.如權(quán)利要求1所述的程控型/命令控制型存儲(chǔ)器功能仿真系統(tǒng),其特征在于USB控制器(100)包含
USB控制邏輯(A1),用于提供PC與存儲(chǔ)器仿真系統(tǒng)之間數(shù)據(jù)的發(fā)送與接收;
數(shù)據(jù)控制邏輯(A2),用于對(duì)接收到的第一個(gè)數(shù)據(jù)或者是執(zhí)行完一條命令后的下一條數(shù)據(jù)進(jìn)行解碼,來(lái)判別系統(tǒng)的下一步工作狀態(tài),確定數(shù)據(jù)總線上數(shù)據(jù)的流向;
偵錯(cuò)用讀/寫邏輯(A3),用于對(duì)由存儲(chǔ)器仿真系統(tǒng)的界面讀出或?qū)懭氪鎯?chǔ)器的數(shù)據(jù)的正確性進(jìn)行判別;
存儲(chǔ)器配置邏輯(A4),用于根據(jù)要求實(shí)現(xiàn)不同帶寬的切換;
錯(cuò)誤寄存器讀出邏輯(A5),用于將記錄了存儲(chǔ)器仿真系統(tǒng)在功能存取時(shí)錯(cuò)誤發(fā)生的類型、時(shí)間、地點(diǎn)等信息的錯(cuò)誤寄存器的內(nèi)容讀出經(jīng)USB口輸出到PC;
下載邏輯(A6),用于對(duì)FPGA芯片的邏輯連接關(guān)系進(jìn)行重構(gòu)。
3.如權(quán)利要求1或2所述的程控型/命令控制型存儲(chǔ)器功能仿真系統(tǒng),其特征在于可置換存儲(chǔ)器界面(400)包含命令編碼邏輯(B1),數(shù)據(jù)位移電路(B2),仿真錯(cuò)誤監(jiān)控邏輯(B3),內(nèi)部存儲(chǔ)器(B4)。
4.如權(quán)利要求1到3任一條所述的程控型/命令控制型存儲(chǔ)器功能仿真系統(tǒng),其特征在于模式設(shè)置邏輯(200)采用模式寄存器(mode register)和控制(control flags)的修改實(shí)現(xiàn)存儲(chǔ)器功能仿真系統(tǒng)的多種配置。
5.如權(quán)利要求3所述的程控型/命令控制型存儲(chǔ)器功能仿真系統(tǒng),其特征在于命令解碼邏輯(B1)可按照數(shù)據(jù)帶寬的不同更改地址解碼,或者通過(guò)多路開(kāi)關(guān)選擇不同的地址輸入通道,實(shí)現(xiàn)存儲(chǔ)器的不同訪問(wèn)操作,數(shù)據(jù)帶寬轉(zhuǎn)換電路提供8,16,32和64等不同數(shù)據(jù)帶寬。
全文摘要
本發(fā)明提供了一種程控型/命令控制型存儲(chǔ)器功能仿真系統(tǒng),包含置于一塊PFGA中的USB控制器,模式設(shè)置邏輯,偵錯(cuò)邏輯,置于另一塊PFGA中的可配置存儲(chǔ)器界面/內(nèi)部存儲(chǔ)器陣列,以及一個(gè)USB通訊口元件。本發(fā)明的程控型/命令控制型存儲(chǔ)器功能仿真系統(tǒng)用于存儲(chǔ)器的功能仿真,解決了目前存儲(chǔ)器功能仿真領(lǐng)域中需要根據(jù)實(shí)際應(yīng)用修改仿真系統(tǒng)的的問(wèn)題。
文檔編號(hào)G06F9/455GK1402128SQ0112644
公開(kāi)日2003年3月12日 申請(qǐng)日期2001年8月10日 優(yōu)先權(quán)日2001年8月10日
發(fā)明者王岐 申請(qǐng)人:上海捷碩微電子有限公司