久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

電子科技大學逆向工程實驗報告作業[五篇]

時間:2019-05-15 08:57:30下載本文作者:會員上傳
簡介:寫寫幫文庫小編為你整理了多篇相關的《電子科技大學逆向工程實驗報告作業》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《電子科技大學逆向工程實驗報告作業》。

第一篇:電子科技大學逆向工程實驗報告作業

電子科技大學

學生姓名:馬儂學

號:

指導教師:何興高

期:實 驗 報 告

20152*03**0*

2016.7.15

一. 題目名稱:簡易記事本軟件逆向分析 二. 題目內容

由于記事本功能簡單,稍有經驗的程序員都可以開發出與記事本功能近似的小軟件,所以在一些編程語言工具書上也會出現仿照記事本功能作為參考的示例。為了便于分析因此選取了一個簡易的記事本,因此本實驗將著重研究從源程序到機器碼的詳細過程而不注重程序本身的功能。另一方面簡易源程序代碼約130多行。本實驗目的是了解源程序是怎么一步步變成機器碼的又是怎么在計算機上運行起來的。

三. 知識點及介紹

利用逆向工程技術,從可運行的程序系統出發,運用解密、反匯編、系統分析、程序理解等多種計算機技術,對軟件的結構、流程、算法、代碼等進行逆向拆解和分析,推導出軟件產品的源代碼、設計原理、結構、算法、處理過程、運行方法及相關文檔等。隨著用戶需求的復雜度越來越高軟件開發的難度也在不斷地上升快速高效的軟件開發已成為項目成敗的關鍵之一。為了提高程序員的產品率開發工具的選擇尤為重要因為開發工具的自動化程度可以大大減少程序員繁瑣重復的工作使其集中關注他所面臨的特定領域的問題。為此當前的IDE不可避地要向用戶隱藏著大量的操作細節而這些細節包含了大量的有價值的技術。

四. 工具及介紹:

在對軟件進行逆向工程時,不可避免地需要用到多種工具,工具的合理使用,可以加快調試速度,提高逆向工程的效率。對于逆向工程的調試環節來說,沒有動態調試器將使用的調試工作很難進行。可以看出,各種有效的工具在逆向工程中占據著相當重要的地位,有必要對它們的用法做一探討。

PE Explorer簡介:PE Explorer是功能超強的可視化Delphi、C++、VB程序解析器,能快速對32位可執行程序進行反編譯,并修改其中資源。

功能極為強大的可視化漢化集成工具,可直接瀏覽、修改軟件資源,包括菜單、對話框、字符串表等; 另外,還具備有 W32DASM 軟件的反編譯能力和PEditor 軟件的 PE 文件頭編輯功能,可以更容易的分析源代碼,修復損壞了的資源,可以處理 PE 格式的文件如:EXE、DLL、DRV、BPL、DPL、SYS、CPL、OCX、SCR 等 32 位可執行程序。該軟件支持插件,你可以通過增加插件加強該軟件的功能,原公司在該工具中捆綁了 UPX 的脫殼插件、掃描器和反匯編器.,出口,進口和延遲導入表的功能,使您可以查看所有的可執行文件使用的外部功能,和其中包含的DLL或庫的基礎上進行分類的結果。這里一個非常有用的功能是語法的Viewer,它顯示功能的調用語法,它知道和可以讓你擴大自己的定義的語法數據庫。非常好用。

Dumpbin是VC自帶的二進制轉儲工具可以將PE/COFF文件以文字可讀的方式顯示出來。Microsoft COFF 二進制文件轉儲器(DUMPBIN.EXE)顯示有關通用對象文件格式(COFF)二進制文件的信息。可以使用 DUMPBIN 檢查 COFF 對象文件、標準 COFF 對象庫、可執行文件和動態鏈接庫(DLL)。具有提供此DLL中所輸出的符號的清單的功能。

LINK.exe 將通用對象文件格式(COFF)對象文件和庫鏈接起來,以創建可執行(.exe)文件或動態鏈接庫(DLL)。

五. 源程序

notepad.cpp:

notepad::notepad(QWidget *parent): QMainWindow(parent), ui(new Ui::notepad){ ui->setupUi(this);this->setWindowTitle(“new file”);QObject::connect(ui->NewFileaction, SIGNAL(triggered()), this, SLOT(NewFile()));QObject::connect(ui->OpenFileaction, SIGNAL(triggered()), this, SLOT(OpenFile()));QObject::connect(ui->SaveFileaction, SIGNAL(triggered()), this, SLOT(SaveFile()));QObject::connect(ui->SaveAsFileaction, SIGNAL(triggered()), this, SLOT(SaveAsFile()));QObject::connect(ui->Coloraction, SIGNAL(triggered()), this, SLOT(SetColor()));QObject::connect(ui->Fontaction, SIGNAL(triggered()),this, SLOT(SetFont()));QObject::connect(ui->Aboutaction, SIGNAL(triggered()), this, SLOT(About()));QObject::connect(ui->Helpaction, SIGNAL(triggered()), this, SLOT(Help()));} notepad::~notepad(){ delete ui;} void notepad::changeEvent(QEvent *e){ QMainWindow::changeEvent(e);switch(e->type()){ case QEvent::LanguageChange: ui->retranslateUi(this);break;default: break;} } void notepad::NewFile(){ this->setWindowTitle(“new file”);ui->Text->clear();} void notepad::OpenFile(){ QString filename = QFileDialog::getOpenFileName(this, “get file”,QDir::currentPath(), “(*.*)”);if(!filename.isEmpty()){ QFile *file = new QFile;file->setFileName(filename);if(file->open(QIODevice::ReadOnly)== true){ QTextStream in(file);ui->Text->setText(in.readAll());this->setWindowTitle(filename);} else { QMessageBox::information(this, “ERROR Occurs”, “file not exist”);} file->close();delete file;} } void notepad::SaveFile(){ QString filename = this->windowTitle();// if(filename.compare(“new file”)!= 0)// { QFile *file = new QFile;file->setFileName(filename);if(file->open(QIODevice::WriteOnly)== true){ QTextStream out(file);outtoPlainText();file->close();delete file;} else { QMessageBox::information(this, “ERROR Occurs”, “file open error”);} // } } void notepad::SaveAsFile(){ QString filename = QFileDialog::getSaveFileName(this, “save file”,QDir::currentPath());QFile *file = new QFile;file->setFileName(filename);if(file->open(QIODevice::WriteOnly)== true){ QTextStream out(file);outtoPlainText();file->close();delete file;} else { QMessageBox::information(this, “ERROR Occurs”, “file open error”);} } void notepad::SetColor(){ QColor color = QColorDialog::getColor(Qt::white, this);if(color.isValid()== true){ ui->Text->setTextColor(color);} else { QMessageBox::information(this, “ERROR Occurs”, “set color error”);} } void notepad::SetFont(){ bool ok;QFont font = QFontDialog::getFont(&ok, QFont(“Arial”, 18), this, “set font”);if(ok){ ui->Text->setFont(font);} else { QMessageBox::information(this, “ERROR Occurs”, “set font error”);} } void notepad::About(){ Dialog mychild;mychild.exec();} void notepad::Help(){ QDesktopServices::openUrl(QUrl("www.tmdps.cn并不是PE文件,但它也是可執行文件,它運行的環境是虛擬8086模式,并非保護模式。

由PE格式的布局圖。PE文件使用的是一個平面地址空間,所有代碼和數據都合并在一起,組成一個很大的結構。主要有:.text是在編譯或匯編結束時產生的一種塊,它的內容全是指令代碼;.rdata是運行期只讀數據;.data是初始化的數據塊;.bss是未初始化的數據節;.idata包含其它外來DLL的函數及數據信息,即輸入表;.rsrc 包含模塊的全部資源:如圖標、菜單、位圖等。

現在使用PEExplorer對編譯的notepad.exe程序進行逆向。如圖5所示。由圖可以知道程序入口點是0x000028DFh。當程序被加載到內存執行時,第一條指令將從這里取得。注意,這個地址是相對虛擬地址(RVM),程序的入口點地址還要道基地址才能得出。

PEExplorer逆向notepad.exe和數據目錄

節區頭數據,分別是讀到了數據目錄和區段頭信息。

4)調用協定

調用協定規定了函數調用的參數傳遞方式及返回值的傳遞方式。它是應用程序二進制兼容的必要面規范。常見的調用協定有如下方式:1__stdcall 用于調用Win32API函數。采用__stdcall約定時,函數參數按照從右到左的順序入棧,被調用的函數在返回前清理傳送參數的棧,函數參數個數固定。由于函數體本身知道傳進來的參數個數,因此被調用的函數可以在返回前用一條retn指令直接清理傳遞參數的堆棧。2_cdecl: 是C調用約定,按從右至左的順序壓參數入棧,由調用者把參數彈出棧。對于傳送參數的內存棧是由調用者來維護的(正因為如此,實現可變參數的函數只能使用該調用約定)。另外,在函數名修飾約定方面也有所不同。fastcall 快速調用方式。它的主要特點就是快,因為它是通過寄存器來傳送參數的。實際上,它用ECX和EDX傳送前兩個雙字(DWORD)或更小的參數,剩下的參數仍舊自右向左壓棧傳送,被調用的函數在返回前清理傳送參數的內存棧。4參數傳遞分析在目標程序中有這樣一個函數聲明如下:

BOOLShowFileInfo(HWNDhwnd,HDChDC,HDROPhDropInfo)發生調用地方為:

ShowFileInfo(hwnd,hDC,hDropInfo);可以看到最后一條指令是堆棧平衡用的,傳遞了三個參數,每個參數的大小都為4個字節,所以大小剛好是0x0Ch。還可以看到第一個壓棧的參數是hDropInfo,另外兩參數都是用ebp來做基址尋址取到的,說明前兩個參數不是局部變量。參數傳遞方向從右到左依次壓棧。

5)堆棧平衡

參數傳遞后由調用者或被調用者負責平衡堆棧,但函數使用了局部變量,那堆棧又是如何保持平衡的呢?這里引入了一個叫棧幀(StackFrame)的概念。棧幀實質就一個函數棧所用的堆??臻g。每個函數都平衡了,那么整個程序棧也就平衡了。如圖8所示,函數體的第一條指令就是保存ebp寄存器,它存的就是上一個函數的棧幀邊界。第二條指令就是制定當前函數的棧幀的起始位置。第三條

指令就是為函數分配局部變量的堆??臻g了。函數棧的平衡

根椐VC/C++的調用協定,寄存器EAX、ECX、EDX是易變寄存器,也就是說調用函數不能假定被調用函數不改變它們的值。因此,調用函數想保留它們的值,在調用一個函數之前應自已先把它們保存起來了。另外的5個通用寄存器(EBX、ESP、EBP、ESI、EDI),則是非易變的。被調用函數在使用它們之前必須先保存。

所以上圖的匯編指令就不難理解了。函數執行完畢后,只需把先前保存在棧中的EBP彈到ESP就保持了棧的平衡了。情況確實如此。如圖9所示,最后一條指令是popebp,然后返回。根據返回指令,還可行知此函數使用的是cdecl調用協定。因為它沒有參數的堆棧平衡。函數返回平衡堆棧 七. 心得體會

逆向工程是一個實踐性很強的課程,通過上機實驗使我在本次課程的學習中收獲很多,通過對程序的逆向分析,本人對計算機技術有了更深的認識。感謝何興高老師的諄諄教誨和精彩地講課,何老師為人隨和熱情,治學嚴謹細心。同時希望能進一步學習更多和逆向工程相關的知識。

第二篇:現代電子實驗報告 電子科技大學

基于FPGA的現代電子實驗設計報告

——數字式秒表設計(VHDL)

學院:物理電子學院

專業:

學號:

學生姓名:

指導教師:

實驗地點:

實驗時間:

劉曦 科研樓303

摘要:

通過使用VHDL語言開發FPGA的一般流程,重點介紹了秒表的基本原理和相應的設計方案,最終采用了一種基于 FPGA 的數字頻率的實現方法。該設計采用硬件描述語言VHDL,在軟件開發平臺ISE上完成。該設計的秒表能準確地完成啟動,停止,分段,復位功能。使用 ModelSim 仿真軟件對VHDL 程序做了仿真,并完成了綜合布局布線,最終下載到EEC-FPGA實驗板上取得良好測試效果。

關鍵詞:FPGA,VHDL,ISE,ModelSim

目錄

緒論.........................................................4

第一章實驗任務…………………………………..5

第二章系統需求和解決方案計劃………..5

第三章設計思路…………………………………..6

第四章系統組成和解決方案………………..6

第五章各分模塊原理……………………………8

第六章仿真結果與分析………………………..11

第七章分配引腳和下載實現…………………13

第八章實驗結論…………………...………………14 緒論:

1.1 課程介紹:

《現代電子技術綜合實驗》課程通過引入模擬電子技術和數字邏輯設計的綜合應用、基于MCU/FPGA/EDA技術的系統設計等綜合型設計型實驗,對學生進行電子系統綜合設計與實踐能力的訓練與培養。

通過《現代電子技術綜合實驗》課程的學習,使學生對系統設計原理、主要性能參數的選擇原則、單元電路和系統電路設計方法及仿真技術、測試方案擬定及調測技術有所了解;使學生初步掌握電子技術中應用開發的一般流程,初步建立起有關系統設計的基本概念,掌握其基本設計方法,為將來從事電子技術應用和研究工作打下基礎。

本文介紹了基于FPGA的數字式秒表的設計方法,設計采用硬件描述語言VHDL,在軟件開發平臺ISE上完成,可以在較高速時鐘頻率(48MHz)下正常工作。該數字頻率計采用測頻的方法,能準確的測量頻率在10Hz到100MHz之間的信號。使用ModelSim仿真軟件對VHDL程序做了仿真,并完成了綜合布局布線,最終下載到芯片Spartan3A上取得良好測試效果。1.2VHDL語言簡介: VHDL 的英文全名是 Very-High-Speed Integrated Circuit Hardware Description Language,誕生于 1982 年。1987 年底,VHDL被 IEEE 和美國國防部確認為標準硬件描述語言。VHDL主要用于描述數字系統的結構,行為,功能和接口。除了含有許多具有硬件特征的語句外,VHDL的語言形式和描述風格與句法是十分類似于一般的計算機高級語言。VHDL的程序結構特點是將一項工程設計,或稱設計實體(可以是一個元件,一個電路模塊或一個系統)分成外部(或稱可視部分,及端口)和內部(或稱不可視部分),既涉及實體的內部功能和算法完成部分。在對一個設計實體定義了外部界面后,一旦其內部開發完成后,其他的設計就可以直接調用這個實體。這種將設計實體分成內外部分的概念是VHDL系統設計的基本點。

VHDL語言的特點: VHDL 語言能夠成為標準化的硬件描述語言并獲得廣泛應用,它自身必然具有很多其他硬件描述語言所不具備的優點。歸納起來,VHDL 語言主要具有以下優點:(1)VHDL 語言功能強大,設計方式多樣(2)VHDL 語言具有強大的硬件描述能力(3)VHDL 語言具有很強的移植能力(4)VHDL 語言的設計描述與器件無關(5)VHDL 語言程序易于共享和復用 由于 VHDL 語言是一種描述、模擬、綜合、優化和布線的標準硬件描述語言,因此它可以使設計成果在設計人員之間方便地進行交流和共享,從而減小硬件電路設計的工作量,縮短開發周期。1.3FPGA簡介

FPGA(Field-Programmable Gate Array),即現場可編程門陣列,它是在PAL、GAL、CPLD等可編程器件的基礎上進一步發展的產物。它是作為專用集成電路(ASIC)領域中的一種半定制電路而出現的,既解決了定制電路的不足,又克服了原有可編程器件門電路數有限的缺點。

以硬件描述語言(Verilog或VHDL)所完成的電路設計,可以經過簡單的綜合與布局,快速的燒錄至 FPGA 上進行測試,是現代 IC設計驗證的技術主流。這些可編輯元件可以被用來實現一些基本的邏輯門電路(比如AND、OR、XOR、NOT)或者更復雜一些的組合功能比如解碼器或數學方程式。在大多數的FPGA里面,這些可編輯的元件里也包含記憶元件例如觸發器(Flip-flop)或者其他更加完整的記憶塊。系統設計師可以根據需要通過可編輯的連接把FPGA內部的邏輯塊連接起來,就好像一個電路試驗板被放在了一個芯片里。一個出廠后的成品FPGA的邏輯塊和連接可以按照設計者而改變,所以FPGA可以完成所需要的邏輯功能。

FPGA一般來說比ASIC(專用集成電路)的速度要慢,實現同樣的功能比ASIC電路面積要大。但是他們也有很多的優點比如可以快速成品,可以被修改來改正程序中的錯誤和更便宜的造價。廠商也可能會提供便宜的但是編輯能力差的FPGA。因為這些芯片有比較差的可編輯能力,所以這些設計的開發是在普通的FPGA上完成的,然后將設計轉移到一個類似于ASIC的芯片上。另外一種方法是用CPLD(Complex Programmable Logic Device,復雜可編程邏輯器件)。

FPGA設計流程:

對于目標文件為FPGA的HDL設計,其一般流程如下:

1、文本編輯

用任何文本編輯器都可以進行,通常 VHDL文件保存為vhd文件,Verilog 文件保存為 v文件。

2、使用編譯工具編譯源文件

HDL 的編譯器有很多,ACTIVE 公司,MODELSIM 公司,SYNPLICITY 公司,SYNOPSYS 公司,VERIBEST公司等都有自己的編譯器。

3、邏輯綜合

將源文件調入邏輯綜合軟件進行綜合。綜合的目的是在于將設計的源文件由語言轉換為實際的電路。但是此時還沒有在芯片中形成真正的電路。這一步的最終目的是生成門電路級的網表(Netlist)。

4、布局、布線

將第 3 步生成的網表文件調入 PLD 廠家提供的軟件中進行布線,即把設計好的邏輯安放到 CPLD/FPGA 內。這一步的目的是生成用于下載(編程 Programming)的編程文件。在這一步,將用到第 3 步生成的網表,并根據 CPLD /FPGA 廠商的器件容量,結構等進行布局、布線。這就好像在設計 PCB 時的布局布線一樣。先將各個設計中的門根據網表的內容和器件的結構放在器件的特定部位。然后,在根據網表中提供的各門的連接,把各個門的輸入輸出連接起來。最后,生成一個供編程的文件。這一步同時還會加一些時序信息(Timing)到你的設計項目中去,以便于你做后仿真。

5、后仿真

利用在布局布線中獲得的精確參數,用仿真軟件驗證電路的時序。(也叫布局布線仿真或時序仿真)。這一步主要是為了確定你的設計在經過布局布線之后,是不是還滿足你的設計要求。

6、編程,下載

如果前幾步都沒有發生錯誤,并且符合設計要求,這一步就可以將由適配器等產生的配置或下載文件通過編程器或下載電纜下載到目標芯片中。

7、硬件測試

硬件測試的目的是為了在更真實的環境中檢驗 HDL設計的運行情況,特別是對于 HDL 程序設計上不是十分規范,語義上含有一定歧義的程序。

一、實驗任務——設計一個秒表:

秒表的計時范圍為00’00”00 ~ 59’59”99。有兩個按鈕開關Start/Stop和Split/Reset,控制秒表的啟動、停止、分段和復位:

1,在秒表已經被復位的情況下,按下“Start/Stop”鍵,秒表開始計時。

2,在秒表正常運行的情況下,如果按下“Start/Stop”鍵,則秒表暫停計時。3,再次按下該鍵,秒表繼續計時。

4,在秒表正常運行的情況下,如果按下“Split/Reset”鍵,顯示停止在按鍵時的時間,但秒表仍然在計時; 5,再次按下該鍵,秒表恢復正常顯示。

6,在秒表暫停計時的情況下,按下“Split/Reset”鍵,秒表復位歸零。

二、系統需求和解決方案計劃:

在項目開始設計時,首先要確定系統的需求并發展出一個針對這些需求的計劃。

按照秒表的設計要求,整個電路需要下面這些組成部分: 2.1 分頻器:

對晶體振蕩器產生的時鐘信號進行分頻,產生時間基準信號。2.2 計數器:

對時間基準脈沖進行計數,完成計時功能。2.3 數據鎖存器:

鎖存數據使顯示保持暫停。2.4 控制器:

控制計數器的運行、停止以及復位產生鎖存器的使能信號。2.5 掃描顯示的控制電路:

包括掃描計數器、數據選擇器和7段譯碼器,控制8個數碼管以掃描方式顯示計時結果。2.6 按鍵消抖電路:

消除按鍵輸入信號抖動的影響,輸出單脈沖。

三、設計思路:

從FPGA開發板的電路可以看出,其不具備對按鍵輸入的消抖功能,故須編寫消抖功能的模塊代碼。消除按鍵抖動的影響;每按一次鍵,只輸出一個脈沖,其寬度為一個時鐘周期。由開發板電路結構可以看出,其為共陽結構,故在其運行為低有效。

8個數碼顯示管共用一個段位,故為了將時鐘顯示在8個數碼管上,需要一定頻率(本秒表為1KHz)的信號進行掃描,使得我們肉眼看上去是8個數碼管同時顯示的。為了實現秒表暫停和復位的功能,需要鎖存器模塊將時鐘數據鎖存起來,并且結合控制電路滿足秒表的功能。

FPGA開發板的晶振頻率為48MHz,而實際電路需要的頻率為1KHz,故須建立分頻模塊,將48MHz的晶振頻率分頻成1KHz。在構建計數范圍從00’00”00-59’59”99的秒表時,從數碼管顯示的角度可知,需要建立模六和模十兩種計數模塊進行組合形成。設計圖如下:

四、系統組成和解決方案:

在項目開始設計時,首先要確定系統的需求并發展出一個針對這些需求的計劃。按照數字式秒表工作原理的描述,需要下面這些主要的子系統: 1,控制電路;

2,由石英振蕩器和數字分頻器構成的時基信號發生器; 3,按鍵開關(按鍵消抖); 4,計數器; 5,數據鎖存器; 6,掃描顯示的控制子系統(包括顯示譯碼和掃描控制); 7,六個數碼管(LED顯示電路)。

設計框圖如下:

五、各分模塊原理:

5.1、48M-1K分頻器

對晶振振蕩器產生的時鐘信號進行分頻,產生時間基準信號。由于FPGA開發板的晶振頻率為48MHz,故在設計分頻器模塊時,為了將頻率分頻成1KHz,即將輸入的信號源每48000個周期轉換成輸出的一個周期。因此利用上升沿計數手段,將0-47999用16位二進制數表示,而在從0-47999的計數過程中,該二進制數的最高位只有一次狀態變化,故可取對應二進制數的最高位來輸出達到分頻到1KHz的目的。如下代碼為將晶振振蕩器48MHz頻率分頻成1KHz信號:

5.2、計數器

對時間基準脈沖進行計數,完成計時功能。實現數字秒表的設計需要模6和模10計數器進行組合。考慮到秒表的暫停和清零等功能,在設計計數器模塊時,必須有時鐘輸入端、使能以及清零端。在有時鐘信號輸入的情況下,當使能端無效時,計數器不能進行計數;當清零端有效時,計數重新歸為0值。而為了實現計數的目的,故必須將各個計數器級聯來實現從00’00”00-59’59”99的計數,使得級聯的各技術模塊有共同的清零端與使能端,因此該單個模塊需要有輸出進位以及該時刻的計數值并且前一級的進位端連在下一級的使能端上。如下為模6和模10計數器代碼:

5.2.1、模6計數器

為了實現在秒表計數是0-5的計數部分,故須設計一個模6計數器,輸入時鐘信號、使能和清零,遇上升沿則記一次數,當從0記到5時,進位端(用于與下一級計數器級聯)有效,且遇上升沿后從5變到0,并且輸出的還有每一時刻的計數值。

5.2.2、模10計數器

為了實現在秒表計數是0-9的計數部分,故須設計一個模10計數器,輸入時鐘信號、使能和清零,遇上升沿則記一次數,當從0記到9時,進位端(用于與下一級計數器級聯)有效,且遇上升沿后從9變到0,并且輸出的還有每一時刻的計數值。

5.3、控制電路

控制計數器的運行、暫停以及復位;產生鎖存器的使能信號。從如下狀態圖可知,在設計控制模塊時,為實現開發板上控制秒表的運行暫停和清零功能,必須設置兩個控制輸入端,以及需要時鐘信號輸入端。在時鐘信號輸入情況下,由狀態圖顯示,在輸入不同的控制信號是,控制模塊需輸出信號控制計數器及其他各模塊的清零和使能端,即當外部控制運行/暫停鍵首次按下時,控制模塊輸出控制技術模塊最開始的計數器模塊使能有效,各模塊清零無效;當第二次按下時為暫停信號,控制模塊控制鎖存器鎖存并控制顯示。當清零控制鍵按下時,控制模塊控制技術模塊清零,故要兩個輸出使能端。

5.4、鎖存器

鎖存數據,使顯示保持鎖定。為達到鎖存數據目的,則必須要有對應的8個數碼顯示數據輸入,當其中兩個數碼數據為不變的,故只需輸入6組由4位二進制碼構成的數據、1KHz時鐘信號以及控制模塊作用的使能端。當使能端有效的情況下,將輸入6組數據輸出。5.5、消抖電路

消除按鍵輸入信號抖動的影響,輸出單脈沖。在手動控制按鍵輸入控制信號前,由于人為因素,會導致輸入信號不穩定等問題,故須添加一個消抖模塊,使得每次按鍵只會產生一個脈沖。故除1KHz時鐘信號輸入外,還需要一個按鍵控制信號輸入端以及一個按鍵消抖后輸出信號。

5.6、譯碼器

包括掃描計數器、3-8譯碼器、數據選擇器以及7段譯碼器;控制8個數碼管一掃描方式顯示計時結果。譯碼模塊的功能是對之前計數模塊的計數值進行譯碼,使其可以在數碼管上顯示出來。在8個數碼管中有兩個數碼管顯示是不變的,故不需要輸出,所以譯碼模塊要求輸入需要譯碼的6組數據以及1KHz時鐘信號。譯碼模塊除了要求對每一個可能的值(0-9)進行譯碼外,還有設計要求8個數碼管顯示共用一個段位,故還需設計一個3-8譯碼模塊對8個數碼顯示管進行選擇,使其輪流顯示,在1KHz的掃描下,使人看上去是8個數碼管同時顯示的。

l

5.7、計數器模塊

由模6和模10計數器級聯而成。為了實現從00’00”00-59’59”99的計數,需要將4個模10計數模塊和2個模6計數模塊級聯,并且為了達到設計要求是這6個計數器工作在100Hz的時鐘信號下,可利用一個模10的計數模塊對1KHz進行分頻,輸出的信號頻率即為100Hz,該總計數模塊最終需輸出6組計數數據以及其最終的進位。

5.8、top文件

由以上各個文件相互連接而成,以及硬件的管腳管腳分布。將之前所建立的各個模塊級聯起來,從按鍵輸入信號到按鍵消抖模塊再進而連接到控制器,通過控制模塊對總計數器模塊、鎖存器模塊、譯碼器模塊、分頻器模塊相互連接起來,并設置晶振輸入信號以及兩個按鍵控制信號輸入,再由譯碼器模塊知,秒表設計的最終輸出由一個3-8對應的8位位選信號和一組7位的段選信號組成。最后對總文件的輸出進行管腳分配,并下載到FPGA開發板上驗證設計。

六、仿真結果與分析::

6.11000HZ信號的產生

6.210位計數器的產生

由圖可得,10位計數器從0000計到1001

6.3 6位計數器的產生

由圖可得,6位計數器從0000計到0101。

6.4七段數碼管顯示數字

6.5鎖存器

由圖可得,當沒有時鐘信號時Q不變。6.6分頻器 1000Hz-100Hz

七、分配引腳和下載實現:

全部仿真通過后,就運行ISE 的設計實現,然后再打開XILINX PACE,在里面分配引腳,即實現設計的輸入輸出端口與實際芯片的輸入輸出端口的對應連接。

比如七段LED 管的控制信號就連接到實際電路的七個引腳。需要注意的是一些端口是固定的,不能胡亂的連接。比如時基信號即石英振蕩器所提供的信號就只能由P181 輸入。同時還要考慮內部的可配制邏輯塊CLB 的數量是否夠滿足程序的綜合要求。一切都準備就緒后就可以運行Configure Device,選擇要下載的位文件(.bit)便可開始。

八、實驗結論:

8.1、本次實驗實現了秒表的計數,復位,暫停,鎖顯等功能,讓我充分了解和認識到ISE 和Modelsim軟件的強大功能和FPGA 技術的優越性。并對軟件開發產生了興趣。

8.2、仿真和下載實現是兩個不同的檢驗,仿真從軟件內部來檢驗程序的合理性和正確性,準確性較高。而下載實現是從外部來觀察程序的實現效果,更直觀,但不具有準確性。8.3、有時候下載實現了所有的功能,但是仿真通不過,這可能是因為程序中有些部分并不完善導致。從外部來看,效果是一樣的,但實際程序卻存在漏洞。附:參考文獻:

《數字設計原理與實踐》作者:(美)John F.Wakerly編 《FPGA應用開發入門與典型實例》華清遠見嵌入式培訓中心編

附件:(源程序)

1.TOP文件:

library IEEE;use IEEE.STD_LOGIC_1164.ALL;

entity top is

Port(S_S : in STD_LOGIC;

S_R : in STD_LOGIC;clk : in STD_LOGIC;

Out8: out STD_LOGIC_VECTOR(7 downto 0);Seg : out STD_LOGIC_VECTOR(6 downto 0));end top;

architecture Behavioral of top is

COMPONENT fenpingqi_48m_1k PORT(clk : IN std_logic;

q : OUT std_logic);END COMPONENT;

COMPONENT counter PORT(clk : IN std_logic;

eng : IN std_logic;

clear : IN std_logic;

ou : OUT std_logic;

daout1 : OUT std_logic_vector(3 downto 0);

daout2 : OUT std_logic_vector(3 downto 0);

daout3 : OUT std_logic_vector(3 downto 0);

daout4 : OUT std_logic_vector(2 downto 0);daout5 : OUT std_logic_vector(3 downto 0);daout6 : OUT std_logic_vector(2 downto 0));

END COMPONENT;

COMPONENT keydb PORT(clk : IN std_logic;key_in : IN std_logic;

key_out : OUT std_logic);END COMPONENT;

COMPONENT control PORT(clk : IN std_logic;q : IN std_logic;p : IN std_logic;

j_clr : OUT std_logic;j_en : OUT std_logic;s_en : OUT std_logic);END COMPONENT;COMPONENT latch PORT(cnt_0 : IN std_logic_vector(3 downto 0);cnt_00 : IN std_logic_vector(3 downto 0);cnt_1 : IN std_logic_vector(3 downto 0);cnt_11 : IN std_logic_vector(2 downto 0);cnt_2 : IN std_logic_vector(3 downto 0);cnt_22 : IN std_logic_vector(2 downto 0);display_in : IN std_logic;

cnt0 : OUT std_logic_vector(3 downto 0);cnt00 : OUT std_logic_vector(3 downto 0);cnt1 : OUT std_logic_vector(3 downto 0);cnt11 : OUT std_logic_vector(2 downto 0);cnt2 : OUT std_logic_vector(3 downto 0);cnt22 : OUT std_logic_vector(2 downto 0));END COMPONENT;

COMPONENT display PORT(clk_1k : IN std_logic;

cnt0 : IN std_logic_vector(3 downto 0);

cnt00 : IN std_logic_vector(3 downto 0);

cnt1 : IN std_logic_vector(3 downto 0);

cnt11 : IN std_logic_vector(2 downto 0);

cnt2 : IN std_logic_vector(3 downto 0);

cnt22 : IN std_logic_vector(2 downto 0);

output: out STD_LOGIC_VECTOR(7 downto 0);

seg : OUT std_logic_vector(7 downto 1));END COMPONENT;

signal clk_1k,clk_100:std_logic;signal S_S_out,S_R_out:std_logic;signal clr_A,ena_A,lock_A:std_logic;signal co_out1,co_out2,co_out3,co_out4,co_out5:std_logic;signal dao1,dao2,dao3,dao5,daoA,daoB,daoC,daoE:std_logic_vector(3 0);signal dao4,dao6,daoD,daoF:std_logic_vector(2 downto 0);signal Dig:std_logic_vector(2 downto 0);

begin

Inst_fenpingqi_48000: fenpingqi_48m_1k PORT MAP(clk =>clk,q => clk_1k);

Inst_counter: counter PORT MAP(clk =>clk_1k ,eng =>ena_A ,clear =>clr_A ,daout1 =>dao1 ,daout2 => dao2,daout3 => dao3,daout4 => dao4,daout5 => dao5,daout6 => dao6);

Inst_keydb1: keydb PORT MAP(clk =>clk_1k ,key_in => S_S,downto

key_out =>S_S_out);

Inst_keydb2: keydb PORT MAP(clk =>clk_1k , key_in => S_R, key_out =>S_R_out);Inst_control: control PORT MAP(clk =>clk_1k , q =>S_S_out , p =>S_R_out , j_clr =>clr_A , j_en =>ena_A , s_en =>lock_A);Inst_latch: latch PORT MAP(cnt_0 => dao1, cnt_00 => dao2, cnt_1 => dao3, cnt_11 => dao4, cnt_2 => dao5, cnt_22 => dao6, display_in =>lock_A , cnt0 =>daoA, cnt00 =>daoB, cnt1 =>daoC, cnt11 =>daoD, cnt2 =>daoE, cnt22 =>daoF);Inst_display: display PORT MAP(clk_1k => clk_1k, cnt0 =>daoA , cnt00 =>daoB, cnt1 =>daoC, cnt11 =>daoD, cnt2 =>daoE, cnt22 =>daoF, output => Out8, seg =>Seg);

end Behavioral;

2.模10計算器:

entity counter10 is

Port(clr : in STD_LOGIC;clk : in STD_LOGIC;

en : in STD_LOGIC;

co : out STD_LOGIC;daout : out STD_LOGIC_VECTOR(3 downto 0));end counter10;

architecture Behavioral of counter10 is signal count:std_logic_vector(3 downto 0);begin process(clk,clr,count)begin if clr='1' then count<=“0000”;co<='0';elsif(clk='1' and clk'event)then if en='1' then if count=“1001” then count<=“0000”;else count<=count+1;end if;end if;end if;if count=“1001”and en='1' then co<='1';else co<='0';end if;daout<=count;end process;

end Behavioral;3.模6計算器:

entity counter6 is

Port(clr : in STD_LOGIC;clk : in STD_LOGIC;

en : in STD_LOGIC;

co : out STD_LOGIC;daout : out STD_LOGIC_VECTOR(2 downto 0));end counter6;

architecture Behavioral of counter6 is signal count:std_logic_vector(2 downto 0);

begin process(clk,clr,count)begin if clr='1' then count<=“000”;

co<='0';elsif(clk='1' and clk'event)then if en='1' then if count=“101” then count<=“000”;else count<=count+1;end if;end if;end if;if count=“101”and en='1' then co<='1';else co<='0';end if;daout<=count;end process;end Behavioral;

4.計算器級聯:

entity counter is

Port(clk : in STD_LOGIC;eng : in STD_LOGIC;

clear : in STD_LOGIC;

ou : out STD_LOGIC;

daout1 : out STD_LOGIC_VECTOR(3 downto 0);

daout2 : out STD_LOGIC_VECTOR(3 downto 0);

daout3 : out STD_LOGIC_VECTOR(3 downto 0);

daout4 : out STD_LOGIC_VECTOR(2 downto 0);

daout5 : out STD_LOGIC_VECTOR(3 downto 0);

daout6 : out STD_LOGIC_VECTOR(2 downto 0));end counter;

architecture Behavioral of counter is COMPONENT fenpingqi_1k_100 PORT(clk : IN std_logic;

q : OUT std_logic);END COMPONENT;

COMPONENT counter10 PORT(clr : IN std_logic;

clk : IN std_logic;

en : IN std_logic;

co : OUT std_logic;

daout : OUT std_logic_vector(3 downto 0));END COMPONENT;

COMPONENT counter6 PORT(clr : IN std_logic;

clk : IN std_logic;

en : IN std_logic;

co : OUT std_logic;

daout : OUT std_logic_vector(2 downto 0));END COMPONENT;

signal clk_100:std_logic;signal clr_A,ena_A:std_logic;signal co_out1,co_out2,co_out3,co_out4,co_out5:std_logic;

begin Inst_fenpingqi_10: fenpingqi_1k_100 PORT MAP(clk =>clk,q => clk_100);

Inst_counter10_1: counter10 PORT MAP(clr => clear,clk =>clk_100 ,en =>eng,co => co_out1,daout => daout1);Inst_counter10_2: counter10 PORT MAP(clr => clear,clk =>clk_100 ,en => co_out1,co => co_out2,daout => daout2);Inst_counter10_3: counter10 PORT MAP(clr => clear,clk =>clk_100 ,en => co_out2,co => co_out3,daout => daout3);

Inst_counter6_1: counter6 PORT MAP(clr =>clear ,clk =>clk_100,en =>co_out3,co =>co_out4 ,daout => daout4);Inst_counter10_4: counter10 PORT MAP(clr => clear,clk =>clk_100 ,en => co_out4,co => co_out5,daout => daout5);Inst_counter6_2: counter6 PORT MAP(clr =>clear,clk =>clk_100,en =>co_out5,co =>ou,daout => daout6);

end Behavioral;

5.控制電路:

entity control is

Port(clk : in STD_LOGIC;

q : in STD_LOGIC;

p : in STD_LOGIC;j_clr : out STD_LOGIC;j_en : out STD_LOGIC;s_en : out STD_LOGIC);end control;

architecture Behavioral of control is signal state:std_logic_vector(1 downto 0):=“00”;signal next_state:std_logic_vector(1 downto 0);signal key:std_logic_vector(1 downto 0);

begin key<=q&p;process(state,key)begin case state is when“00”=> if key=“10” then next_state<=“01”;else next_state<=state;end if;when“01”=> case key is when“10”=>next_state<=“11”;when“01”=>next_state<=“10”;when others=>next_state<=state;end case;when“10”=> if key=“01” then next_state<=“01”;else next_state<=state;end if;when others=> case key is when“10”=>next_state<=“01”;when“01”=>next_state<=“00”;when others=>next_state<=state;end case;end case;end process;process(clk)begin if rising_edge(clk)then state<=next_state;end if;end process;process(state)begin case state is when“00”=> j_clr<='1';j_en<='1';s_en<='1';when“01”=> j_clr<='0';j_en<='1';s_en<='1';when“10”=> j_clr<='0';j_en<='1';s_en<='0';when others=> j_clr<='0';j_en<='0';s_en<='1';end case;end process;end Behavioral;

6.分頻器(2個): entity fenpingqi_48m_1k is

Port(clk : in STD_LOGIC;

q : out STD_LOGIC);end fenpingqi_48m_1k;

architecture Behavioral of fenpingqi_48m_1k is signal counter:STD_LOGIC_VECTOR(15 downto 0);begin process(clk)begin if(clk='1'and clk'event)then if counter=47999 then counter<=(others=>'0');else

counter<=counter+1;end if;end if;

q<= counter(15);end process;

end Behavioral;

entity fenpingqi_1k_100 is

Port(clk : in STD_LOGIC;

q : out STD_LOGIC);end fenpingqi_1k_100;architecture Behavioral of fenpingqi_1k_100 is signal counter:STD_LOGIC_vector(3 downto 0);

begin process(clk)begin if(clk='1'and clk'event)then if counter=9 then counter<=“0000”;else

counter<=counter+1;end if;end if;q<=counter(3);end process;end Behavioral;

7.顯示電路:

entity display is

Port(clk_1k : in STD_LOGIC;

cnt0 : in STD_LOGIC_VECTOR(3 downto 0);

cnt00 : in STD_LOGIC_VECTOR(3 downto 0);

cnt1 : in STD_LOGIC_VECTOR(3 downto 0);

cnt11 : in STD_LOGIC_VECTOR(2 downto 0);

cnt2 : in STD_LOGIC_VECTOR(3 downto 0);

cnt22 : in STD_LOGIC_VECTOR(2 downto 0);

output: out STD_LOGIC_VECTOR(7 downto 0);seg : out STD_LOGIC_VECTOR(7 downto 1));end display;

architecture Behavioral of display is signal dig:std_logic_vector(2 downto 0):=“000”;signal bcd:std_logic_vector(3 downto 0):=“1000”;signal seg7:std_logic_vector(7 downto 1):=“1111110”;

begin process(clk_1k)begin if clk_1k'event and clk_1k='1' then dig<=dig+1;end if;end process;process(dig)begin case dig is when“000”=>bcd<=cnt0;when“001”=>bcd<=cnt00;when“010”=>bcd<=“1010”;when“011”=>bcd<=cnt1;when“100”=>bcd<='0'& cnt11;when“101”=>bcd<=“1010”;when“110”=>bcd<=cnt2;when“111”=>bcd<='0'&cnt22;when others=>bcd<=“1010”;end case;end process;process(bcd)begin case bcd is when“0000”=>seg7<=“0000001”;when“0001”=>seg7<=“1001111”;when“0010”=>seg7<=“0010010”;when“0011”=>seg7<=“0000110”;when“0100”=>seg7<=“1001100”;when“0101”=>seg7<=“0100100”;when“0110”=>seg7<=“1100000”;when“0111”=>seg7<=“0001111”;when“1000”=>seg7<=“0000000”;when“1001”=>seg7<=“0001100”;when others=>seg7<=“1111110”;end case;end process;process(dig)begin case dig is when“000”=>output<=“01111111”;when“001”=>output<=“10111111”;when“010”=>output<=“11011111”;when“011”=>output<=“11101111”;when“100”=>output<=“11110111”;when“101”=>output<=“11111011”;when“110”=>output<=“11111101”;when“111”=>output<=“11111110”;when others=>output<=“11111111”;end case;end process;seg<=seg7;end Behavioral;

8.鎖存器:

entity latch is

Port(cnt_0 : in STD_LOGIC_VECTOR(3 downto 0);

cnt_00 : in STD_LOGIC_VECTOR(3 downto 0);

cnt_1 : in STD_LOGIC_VECTOR(3 downto 0);

cnt_11 : in STD_LOGIC_VECTOR(2 downto 0);

cnt_2 : in STD_LOGIC_VECTOR(3 downto 0);

cnt_22 : in STD_LOGIC_VECTOR(2 downto 0);display_in : in STD_LOGIC;

cnt0 : out STD_LOGIC_VECTOR(3 downto 0);

cnt00 : out STD_LOGIC_VECTOR(3 downto 0);

cnt1 : out STD_LOGIC_VECTOR(3 downto 0);

cnt11 : out STD_LOGIC_VECTOR(2 downto 0);

cnt2 : out STD_LOGIC_VECTOR(3 downto 0);

cnt22 : out STD_LOGIC_VECTOR(2 downto 0));end latch;

architecture Behavioral of latch is

begin process(display_in,cnt_0,cnt_00,cnt_1,cnt_11,cnt_2,cnt_22)begin if display_in='1' then cnt0<=cnt_0;cnt00<=cnt_00;cnt1<=cnt_1;cnt11<=cnt_11;cnt2<=cnt_2;cnt22<=cnt_22;end if;end process;end Behavioral;

9.消抖電路:

entity keydb is

Port(clk : in STD_LOGIC;key_in : in STD_LOGIC;key_out : out STD_LOGIC);end keydb;

architecture Behavioral of keydb is signal k1,k2:STD_LOGIC;signal cnt : STD_LOGIC_VECTOR(1 DOWNTO 0);

begin process(clk,key_in)begin if clk'event and clk ='0' then if cnt =3 then k1<='1';else k1<='0';cnt<=cnt+1;end if;k2<=k1;end if;if key_in ='0' then cnt<=“00”;end if;end process;key_out<= not k1 and k2;

end Behavioral

第三篇:電子科技大學實驗報告格式

九、實驗結論:

十、總結及心得體會:

十一、對本實驗過程及方法、手段的改進建議:

報告評分:指導教師簽字:

電子科技大學

學生姓名:

學號:

指導教師:

日期:實 驗 報 告年月日

一、實驗室名稱:

二、實驗項目名稱:

三、實驗原理:

四、實驗目的:

五、實驗內容:

六、實驗器材(設備、元器件):

七、實驗步驟:

八、實驗數據及結果分析:

第四篇:電子科技大學實驗報告格式

九、實驗結論:

十、總結及心得體會:

十一、對本實驗過程及方法、手段的改進建議:

報告評分:

指導教師簽字: 電子科技大學

學生姓名:學

號:指導教師:日

期:實 驗 報 告

****年**月**日

一、實驗室名稱:

二、實驗項目名稱:

三、實驗原理:

四、實驗目的:

五、實驗內容:

六、實驗器材(設備、元器件):

七、實驗步驟:

八、實驗數據及結果分析:

第五篇:電子科技大學數學實驗報告

一、選擇題:(每題3分,共30分)

1、若分式 有意義,則x的取值范圍是(A.B.C.D.x≠-1)

2、一射擊運動員在一次射擊練習中打出的成績如下表所示:這次成績的眾數是()A;6B;8C;10D;73、若一組數據1,2,3,x的極差為6,則x的值是()

A.7B.8 C.9 D.7或-34、矩形的面積為120cm2,周長為46cm,則它的對角線長為()

A.15cmB.16cmC.17cmD.18cm5、如圖,△ABC中,AB=AC=10,BD是AC邊上的高線,DC=2,則BD等于((A)4(B)6(C)8(D)

第5題第7題第14題第17題).

6、等腰梯形ABCD中,E、F、G、H分別是各邊的中點,則四邊形EFGH的形狀是()

A.平行四邊形 B.矩形 C.菱形 D.正方形

7、函數y1=x(x≥0),(x>0)的圖象如圖所示,則結論:

①兩函數圖象的交點A的坐標為(2,2); ②當x>2時,y2>y1;③當x=1時,BC=3; ④當x逐漸增大時,y1隨著x的增大而增大,y2隨著x的增大而減小.

其中正確結論的序號是()

A;①②B;①②④C;①②③④D;①③④

8、如圖,將邊長為8㎝的正方形ABCD折疊,使點D落在BC邊的中

點E處,點A落在F處,折痕為MN,則線段CN的長是()

A.3cmB.4cmC.5cmD.6cm,則 的值為(C.14)

9、已知A.12B.13D.1510、三角形三邊之比分別為①1:2:3,②3:4:5;③1.5:2:2.5,④4:5:6,其中可以構成直角三角形的有()

A.1個B.2個C.3個D.4個

二、填空題:(每題3分,共24分)

11、數據2,x,9,2,8,5的平均數為5,它的極差為

12、用科學計數法表示:-0.034=。

13、約分=

第18題

14、如圖,正方形網格中,每個小正方形的邊長為1,則網格上的△ABC是______三角形.

15、已知菱形ABCD的周長為20cm,且相鄰兩內角之比是1∶2,則菱形的兩條對角線的長和面積分別是 ________.

16、一個三角形的三邊長分別為4,5,6,則連結各邊中點所得三角形的周長為_________.17、如圖5,若點 在反比例函數 的圖象上,軸于點,的面積為3,則.

18、在矩形 中,,平分,過 點作 于,延長、交于點,下列結論中:① ;② ;③;④,正確的。(填寫正確的題號)

三、解答題:(19-25題每題8分,26題10分)

19、(1)已知,求

20、今年,蘇州市政府的一項實事工程就是由政府投人1 000萬元資金.對城區4萬戶家庭的老式水龍頭和13升抽水馬桶進行免費改造.某社區為配合政府完成該項工作,對社區內1200戶家庭中的120戶進行了隨機抽樣調查,并匯總成下表:

改造

情況 均不

改造 改造水龍頭 改造馬桶

1個 2個 3個 4個 1個 2個

戶數 20 31 28 21 12 69 2

(1)試估計該社區需要對水龍頭、馬桶進行改造的家庭共有__戶;

(2)改造后.一只水龍頭一年大約可節省5噸水,一只馬桶一年大約可節省15噸水.試估計該社區一年共可節約多少噸自來水?

(3)在抽樣的120戶家庭中.既要改造水龍頭又要改造馬桶的家庭共有多少戶?

21、如圖,在□ABCD中,已知點E和點F分別在AD和BC上,且AE=CF,連結CE和AF,試說明四邊形AFCE是平行四邊形.22、如圖,在△ABO中,已知A(0,4),B(﹣2,0),D為線段AB的中點.

(1)求點D的坐標;(2)求經過點D的反比例函數解析式.

值(2)解分式方程:

下載電子科技大學逆向工程實驗報告作業[五篇]word格式文檔
下載電子科技大學逆向工程實驗報告作業[五篇].doc
將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
點此處下載文檔

文檔為doc格式


聲明:本文內容由互聯網用戶自發貢獻自行上傳,本網站不擁有所有權,未作人工編輯處理,也不承擔相關法律責任。如果您發現有涉嫌版權的內容,歡迎發送郵件至:645879355@qq.com 進行舉報,并提供相關證據,工作人員會在5個工作日內聯系你,一經查實,本站將立刻刪除涉嫌侵權內容。

相關范文推薦

    電子科技大學實驗報告(推薦閱讀)

    電子科技大學信息與軟件學院實 驗 報 告(實驗)課程名稱 學生姓名學生學號電子科技大學教務處制表電 子 科 技 大 學 實驗報告 學生姓名:學 號:指導教師: 實驗地點:實驗時間: 一、實......

    計算機組成原理實驗報告 電子科技大學

    計算機專業類課程 實驗報 告 課程名稱:計算機組成原理 學院專業:計算機科學與工程 計算機科學與技術學生姓名:** 學號:20120600***** 指導教師:吳曉華 日期:2014年11月30日 實 驗......

    電子科技大學微機實驗報告 實驗5

    實驗五 基于ARM的模塊方式驅動程序實驗 【實驗目的】 1.掌握Linux 系統下設備驅動程序的作用與編寫技巧 2.掌握Linux 驅動程序模塊加載和卸載的方法 3.了解Linux 內核中的ma......

    電子科技大學微機實驗報告 實驗4

    實驗四基于ARM的嵌入式Linux開發環境建立 【實驗目的】 1.掌握嵌入式Linux 開發環境的基本流程。 2.熟悉Linux 操作系統 3.熟悉嵌入式開發平臺【實驗內容】在PC機虛擬機下的......

    電子科技大學 C語言第一次上機實驗報告

    電子科技大學 學院 標 準 實 驗 報 告 (實驗)課程名稱 高級語言程序設計實驗 電 子 科 技 大 學 實 驗 報 告 實驗時間: 10月12日晚 一、實驗室名稱:校公共機房二、實驗項目名......

    西安電子科技大學《Matlab》平時作業離線

    平時作業一、 填空題(2’×16=32’) 1、 Matlab的全稱為 2、 Matlab的工作界面主要由、eps表示:和3、 Matlab預定義變量ans表示:;nargin表示:。 4、 實現Fourier變換在Matlab中的......

    電子科技大學 數字信號處理 第二次編程作業

    第二次編程作業 加載信號(EEGdata.txt);分析信號的幅度譜,確定低通FIR數字濾波器的指標;分別利用各種窗函數(Rectangular, Hamming, Kaiser)設計此FIR濾波器;對信號加隨機噪聲,并......

    關于電子逆向工程與不正當競爭的法律爭議

    北京首矽致芯科技有限公司電子逆向工程芯片解密專業機構最高法:自行研發或反向工程不是不正當競爭以不正當方式獲得其他商家的商業秘密,是一種常見的不正當競爭行為。最高人......

主站蜘蛛池模板: 欧美激情综合亚洲一二区| 国产乱码一区二区三区| 67194熟妇在线永久免费观看| 久久无码喷吹高潮播放不卡| 国产 亚洲 制服 无码 中文| 国产蝌蚪视频一区二区三区| 国产成人久久综合第一区| 狠狠色丁香婷婷久久综合五月| 无码av无码一区二区桃花岛| 亚洲国产成人av片在线播放| 亚洲国产一区二区波多野结衣| 人妻无码免费一区二区三区| 多毛小伙内射老太婆| 七七88色| 精品国产免费一区二区三区| 成人免费无码大片a毛片抽搐色欲| 新香蕉少妇视频网站| 香蕉久久久久久av综合网成人| 人妻少妇一区二区三区| 狠狠躁夜夜躁人人爽天天天天97| 国产自产v一区二区三区c| 欧美大屁股喷潮水xxxx| 亚洲精品美女久久7777777| 国产激情久久久久久熟女老人av| 全黄激性性视频| 高清欧美性猛交xxxx黑人猛交| 久久亚洲精品成人无码网站蜜桃| av大片在线无码永久免费网址| 国产在视频线在精品视频2020| 肥老熟妇伦子伦456视频| 婷婷色综合视频在线观看| 成人免费一区二区三区| 国产成人av三级在线观看按摩| 亚洲精品日韩一区二区电影| 亚洲综合欧美制服丝袜| 国内永久福利在线视频图片| 久久久无码精品一区二区三区蜜桃| 国产suv精品一区二区62| 国产三级片在线观看| 日本艳妓bbw高潮一19| 四虎成人精品在永久免费|