零基礎入門FPGA,如何學習?

2021-02-15 OpenFPGA

 問:本人零基礎,想學FPGA,求有經驗的人說說,我應該從哪入手,應該看什麼教程,應該用什麼學習板和開發板,看什麼書等,希望有經驗的好心人能夠給我一些引導。

如果想速成,那就上網看視頻吧,這樣主要是面對應用的,一個小時內讓你的板子運行起來。早期起來的快,活學活用,就是後期沒有系統理論支持,會有些吃力,特別是大項目,那完全是個悲劇。

只有在腦海中建立了一個個邏輯模型,理解FPGA內部邏輯結構實現的基礎,才能明白為什麼寫Verilog和寫C整體思路是不一樣的,才能理解順序執行語言和並行執行語言的設計方法上的差異。在看到一段簡單程序的時候應該想到是什麼樣的功能電路。

  

學習FPGA不僅邏輯思維很重要,好的數學思維也能讓你的設計化繁為簡,所以啊,那些看見高數就頭疼的童鞋需要重視一下這門課哦。舉個簡單的例子,比如有兩個32bit的數據X[31:0]與Y[31:0]相乘。當然,無論Altera還是Xilinx都有現成的乘法器IP核可以調用,這也是最簡單的方法,但是兩個32bit的乘法器將耗費大量的資源。那麼有沒有節省資源,又不太複雜的方式來實現呢?我們可以稍做修改:

  

將X[31:0]拆成兩部分X1[15:0]和X2[15:0],令X1[15:0]=X[31:16],X2[15:0]=X[15:0],則X1左移16位後與X2相加可以得到X;同樣將Y[31:0]拆成兩部分Y1[15:0]和Y2[15:0],令 Y1[15:0]=Y[31:16],Y2[15:0]=Y[15:0],則Y1左移16位後與Y2相加可以得到Y,則X與Y的相乘可以轉化為X1和X2 分別與Y1和Y2相乘,這樣一個32bit*32bit的乘法運算轉換成了四個16bit*16bit的乘法運算和三個32bit的加法運算。轉換後的佔用資源將會減少很多,有興趣的童鞋,不妨綜合一下看看,看看兩者差多少。

  

「時鐘是時序電路的控制者」這句話太經典了,可以說是FPGA設計的聖言。FPGA的設計主要是以時序電路為主,因為組合邏輯電路再怎麼複雜也變不出太多花樣,理解起來也不沒太多困難。但是時序電路就不同了,它的所有動作都是在時鐘一拍一拍的節奏下轉變觸發,可以說時鐘就是整個電路的控制者,控制不好,電路功能就會混亂。

  

打個比方,時鐘就相當於人體的心臟,它每一次的跳動就是觸發一個 CLK,向身體的各個器官供血,維持著機體的正常運作,每一個器官體統正常工作少不了組織細胞的構成,那麼觸發器就可以比作基本單元組織細胞。

時序邏輯電路的時鐘是控制時序邏輯電路狀態轉換的「發動機」,沒有它時序邏輯電路就不能正常工作。因為時序邏輯電路主要是利用觸發器存儲電路的狀態,而觸發器狀態變換需要時鐘的上升或下降沿,由此可見時鐘在時序電路中的核心作用。

  

最後簡單說一下體會吧,歸結起來就是多實踐、多思考、多問。實踐出真知,看100遍別人的方案不如自己去實踐一下。實踐的動力一方面來自興趣,一方面來自壓力。有需求會容易形成壓力,也就是說最好能在實際的項目開發中鍛鍊,而不是為了學習而學習。

  

FPGA為什麼是可以編程的?恐怕很多初學者不知道,他們也不想知道。因為他們覺得這是無關緊要的。他們潛意識的認為可編程嘛,肯定就是像寫軟體一樣啦。軟體編程的思想根深蒂固,看到Verilog或者VHDL就像看到C語言或者其它軟體程式語言一樣。一條條的讀,一條條的分析。

拒絕去了解為什麼FPGA是可以編程的,不去了解FPGA的內部結構,要想學會FPGA 恐怕是天方夜譚。那麼FPGA為什麼是可以「編程」的呢?首先來了解一下什麼叫「程」。其實 「程」只不過是一堆具有一定含義的01編碼而已。

  

編程,其實就是編寫這些01編碼。只不過我們現在有了很多開發工具運算或者是其它操作。所以軟體是一條一條的,通常都不是直接編寫這些01編碼,而是以高級語言的形式來編寫,最後由開發工具轉換為這種01編碼而已。對於軟體編程而言,處理器會有一個專門的解碼電路逐條把這些01編碼翻譯為各種控制信號,然後控制其內部的電路完成一個個的讀,因為軟體的操作是一步一步完成的。

而FPGA的可編程,本質也是依靠這些01編碼實現其功能的改變,但不同的是FPGA之所以可以完成不同的功能,不是依靠像軟體那樣將01編碼翻譯出來再去控制一個運算電路,FPGA裡面沒有這些東西。

  

FPGA內部主要三塊:可編程的邏輯單元、可編程的連線和可編程的IO模塊。

其基本結構某種存儲器(SRAM、 FLASH等)製成的4輸入或6輸入1輸出的「真值表」加上一個D觸發器構成。任何一個4輸入1輸出組合邏輯電路,都有一張對應的「真值表」,同樣的如果用這麼一個存儲器製成的4輸入1輸出的「真值表」,只需要修改其「真值表」內部值就可以等效出任意4輸入1輸出的組合邏輯,這些「真值表」內部值就是那些01編碼。

如果要實現時序邏輯電路怎麼辦?任何的時序邏輯都可以轉換為組合邏輯+D觸發器來完成。但這畢竟只實現了4輸入1輸出的邏輯電路而已,通常邏輯電路的規模那是相當的大。

  

那怎麼辦呢?這個時候就需要用到可編程連線了。在這些連線上有很多用存儲器控制的連結點,通過改寫對應存儲器的值就可以確定哪些線是連上的而哪些線是斷開的。這就可以把很多可編程邏輯單元組合起來形成大型的邏輯電路。

任何晶片都必然有輸入引腳和輸出引腳。有可編程的IO可以任意的定義某個非專用引腳(FPGA中有專門的非用戶可使用的測試、下載用引腳)為輸入還是輸出,還可以對IO的電平標準進行設置。

總歸一句話,FPGA之所以可編程是因為可以通過特殊的01代碼製作成一張張 「真值表」,並將這些「真值表」組合起來以實現大規模的邏輯功能。

  

不了解FPGA內部結構,就不能明白最終代碼如何變到FPGA裡面去的,也就無法深入的了解如何能夠充分運用FPGA。現在的FPGA,不單單是有前面講的那三塊,還有很多專用的硬體功能單元,如何利用好這些單元實現複雜的邏輯電路設計,是從菜鳥邁向高手的路上必須要克服的障礙。而這一切,還是必須先從了解FPGA內部邏輯及其工作原理做起。

HDL語言的英語全稱是:Hardware Deion Language,注意這個單詞Deion,而不是Design。老外為什麼要用Deion這個詞而不是Design呢?因為HDL確實不是用用來設計硬體的,而僅僅是用來描述硬體的。

描述這個詞精確地反映了HDL語言的本質,HDL語言不過是已知硬體電路的文本表現形式而已,只是將以後的電路用文本的形式描述出來而已。而在編寫語言之前,硬體電路應該已經被設計出來了。語言只不過是將這種設計轉化為文字表達形式而已。

硬體設計也是有不同的抽象層次,每一個層次都需要設計。最高的抽象層次為算法級、然後依次是體系結構級、寄存器傳輸級、門級、物理版圖級。

使用HDL的好處在於我們已經設計好了一個寄存器傳輸級的電路,那麼用HDL描述以後轉化為文本的形式,剩下的向更低層次的轉換就可以讓EDA工具去做了,這就大大的降低了工作量。這就是可綜合的概念,也就是說在對這一抽象層次上硬體單元進行描述可以被EDA工具理解並轉化為底層的門級電路或其他結構的電路。

  

在FPGA設計中,就是在將這以抽象層級的意見描述成HDL語言,就可以通過FPGA開發軟體轉化為上一點中所述的FPGA內部邏輯功能實現形式。HDL也可以描述更高的抽象層級如算法級或者是體系結構級,但目前受限於EDA軟體的發展,EDA軟體還無法理解這麼高的抽象層次,所以HDL描述這樣抽象層級是無法被轉化為較低的抽象層級的,這也就是所謂的不可綜合。

所以在閱讀或編寫HDL語言,尤其是可綜合的HDL,不應該看到的是語言本身,而是要看到語言背後所對應的硬體電路結構。

  

FPGA是給誰用的?很多學校是為給學微電子專業或者集成電路設計專業的學生用的,其實這不過是很多學校受資金限制,買不起專業的集成電路設計工具而用FPGA工具替代而已。其實FPGA是給設計電子系統的工程師使用的。這些工程師通常是使用已有的晶片搭配在一起完成一個電子設備,如基站、機頂盒、視頻監控設備等。當現有晶片無法滿足系統的需求時,就需要用FPGA來快速的定義一個能用的晶片。

  

前面說了,FPGA裡面無法就是一些「真值表」、觸發器、各種連線以及一些硬體資源,電子系統工程師使用FPGA進行設計時無非就是考慮如何將這些以後資源組合起來實現一定的邏輯功能而已,而不必像IC設計工程師那樣一直要關注到最後晶片是不是能夠被製造出來。

本質上和利用現有晶片組合成不同的電子系統沒有區別,只是需要關注更底層的資源而已。要想把FPGA用起來還是簡單的,因為無非就是那些資源,在理解了前面兩點再搞個實驗板,跑跑實驗,做點簡單的東西是可以的。而真正要把FPGA用好,那光懂點FPGA知識就遠遠不夠了。因為最終要讓FPGA裡面的資源如何組合,實現何種功能才能滿足系統的需要,那就需要懂得更多更廣泛的知識。

  

無論是FPGA的哪個方向,都離不開數字邏輯知識的支撐。FPGA說白了是一種實現數字邏輯的方式而已。如果連最基本的數字邏輯的知識都有問題,學習FPGA的願望只是空中樓閣而已。數字邏輯是任何電子電氣類專業的專業基礎知識,也是必須要學好的一門課。

如果不能將數字邏輯知識爛熟於心,養成良好的設計習慣,學FPGA到最後仍然是霧裡看花水中望月,始終是一場空的。以上四條只是我目前總結菜鳥們在學習FPGA時所最容易跑偏的地方,FPGA的學習其實就像學習圍棋一樣,學會如何在棋盤上落子很容易,成為一位高手卻是難上加難。要真成為李昌鎬那樣的神一般的選手,除了靠刻苦專研,恐怕還確實得要一點天賦。

  

1. 入門首先要掌握HDL(HDL=verilog+VHDL)

第一句話是:還沒學數電的先學數電。然後你可以選擇verilog或者VHDL,有C語言基礎的,建議選擇VHDL。因為verilog太像C了,很容易混淆,最後你會發現,你花了大量時間去區分這兩種語言,而不是在學習如何使用它。當然,你思維能轉得過來,也可以選verilog,畢竟在國內verilog用得比較多。

  

接下來,首先找本實例抄代碼。抄代碼的意義在於熟悉語法規則和編譯器(這裡的編譯器是矽編譯器又叫綜合器,常用的編譯器有:Quartus、ISE、Vivado、Design Compiler 、Synopsys的VCS、iverilog、Lattice的Diamond、Microsemi/Actel的Libero、Synplify pro),然後再模仿著寫,最後不看書也能寫出來。編譯完代碼,就打開RTL圖,看一下綜合出來是什麼樣的電路。

  

HDL是硬體描述語言,突出硬體這一特點,所以要用數電的思維去思考HDL,而不是用C語言或者其它高級語言,如果不能理解這句話的,可以看《什麼是硬體以及什麼是軟體》。在這一階段,推薦的教材是《Verilog傳奇》、《Verilog HDL高級數字設計》或者是《用於邏輯綜合的VHDL》。不看書也能寫出個三段式狀態機就可以進入下一階段了。

  

此外,你手上必須準備Verilog或者VHDL的官方文檔,《verilog_IEEE官方標準手冊-2005_IEEE_P1364》、《IEEE Standard VHDL Language_2008》,以便遇到一些語法問題的時候能查一下。

  

現在,你可以設計一些數字電路了,像交通燈、電子琴、DDS等等,推薦的教材是夏老《Verilog 數字系統設計教程》(第三版)。在這一階段,你要做到的是:給你一個指標要求或者時序圖,你能用HDL設計電路去實現它。這裡你需要一塊開發板,可以選Altera的cyclone IV系列,或者Xilinx的Spantan 6。

還沒掌握HDL之前千萬不要買開發板,因為你買回來也沒用。這裡你沒必要每次編譯通過就下載代碼,咱們用modelsim仿真(此外還有QuestaSim、NC verilog、Diamond的Active-HDL、VCS、Debussy/Verdi等仿真工具),如果仿真都不能通過那就不用下載了,肯定不行的。在這裡先掌握簡單的testbench就可以了。推薦的教材是《WRITING TESTBENCHES Functional Verification of HDL Models》。

  

你可能發現你綜合出來的電路儘管沒錯,但有很多警告。這個時候,你得學會同步設計原則、優化電路,是速度優先還是面積優先,時鐘樹應該怎樣設計,怎樣同步兩個異頻時鐘等等。

推薦的教材是《FPGA權威指南》、《IP核芯志-數字邏輯設計思想》、《Altera FPGA/CPLD設計》第二版的基礎篇和高級篇兩本。學會加快編譯速度(增量式編譯、LogicLock),靜態時序分析(timequest),嵌入式邏輯分析儀(signaltap)就算是通關了。如果有不懂的地方可以暫時跳過,因為這部分還需要足量的實踐,才能有較深刻的理解。

  

因為Quartus和ISE的編輯器功能太弱,影響了開發效率。所以建議使用Sublime text編輯器中代碼片段的功能,以減少重複性勞動。Modelsim也是常用的仿真工具,學會TCL/TK以編寫適合自己的DO文件,使得仿真變得自動化,推薦的教材是《TCL/TK入門經典》。

你可能會手動備份代碼,但是專業人士都是用版本控制器的,所以,為了提高工作效率,必須掌握GIT。文件比較器Beyond Compare也是個比較常用的工具。此外,你也可以使用System Verilog來替代testbench,這樣效率會更高一些。如果你是做IC驗證的,就必須掌握System Verilog和驗證方法學(UVM)。推薦的教材是《Writing Testbenches using SystemVerilog》、《The UVM Primer》、《System Verilog1800-2012語法手冊》。

  

掌握了TCL/TK之後,可以學習虛擬Jtag(ISE也有類似的工具)製作屬於自己的調試工具,此外,有時間的話,最好再學個python。腳本,意味著一勞永逸。

  

這個時候,你已經會使用FPGA了,但是還有很多事情做不了(比如,FIR濾波器、PID算法、OFDM等),因為理論沒學好。我大概地分幾個方向供大家參考,後面跟的是要掌握的理論課。

 

信號處理 —— 信號與系統、數位訊號處理、數字圖像處理、現代數位訊號處理、盲信號處理、自適應濾波器原理、雷達信號處理

接口應用 —— 如:UART、SPI、IIC、USB、CAN、PCIE、Rapid IO、DDR、TCP/IP、SPI4.2(10G乙太網接口)、SATA、光纖、DisplayPort

無線通信 —— 信號與系統、數位訊號處理、通信原理、移動通信基礎、隨機過程、資訊理論與編碼

CPU設計 —— 計算機組成原理、單片機、計算機體系結構、編譯原理

儀器儀表 —— 模擬電子技術、高頻電子線路、電子測量技術、智能儀器原理及應用

控制系統 —— 自動控制原理、現代控制理論、過程控制工程、模糊控制器理論與應用

壓縮、編碼、加密 —— 數論、抽象代數、現代編碼技術、資訊理論與編碼、數據壓縮導論、應用密碼學、音頻信息處理技術、數字視頻編碼技術原理

  

現在你發現,原來FPGA會涉及到那麼多知識,你可以選一個感興趣的方向,但是工作中很有可能用到其中幾個方向的知識,所以理論還是學得越多越好。如果你要更上一層,數學和英語是不可避免的。

  

設計FPGA算法的時候,多多少少都會用到MATLAB,比如CRC的係數矩陣、數字濾波器係數、各種表格和文本處理等。此外,MATLAB還能用於調試HDL(用MATLAB的計算結果跟用HDL算出來的一步步對照,可以知道哪裡出問題)。推薦的教材是《MATLAB寶典》和杜勇的《數字濾波器的MATLAB與FPGA實現》。

    

花一、兩周的時間學習PS,對圖像處理有個大概的了解,知道各種圖片格式、直方圖、色相、通道、濾鏡、拼接等基本概念,並能使用它。這部分是0基礎,目的讓大家對圖像處理有個感性的認識,而不是一上來就各種各樣的公式推導。推薦《Photoshop CS6完全自學教程》。

  

有C/C++基礎的可以學習OpenCV,否則的話,建議學MATLAB。這個階段下,只要學會簡單的調用函數即可,暫時不用深究實現的細節。推薦《數字圖像處理matlab版》、《學習OpenCV》。

  

這部分的理論是需要高數、復變、線性代數、信號與系統、數位訊號處理等基礎,基礎不好的話,建議先補補基礎再來。看不懂的理論也可以暫時先放下,或許學到後面就自然而然地開竅了。推薦《數字圖像處理》。

  

把前面學到的理論運用到FPGA上面,如果這時你有前面第七個階段的水平,你將輕鬆地獨立完成圖像算法設計(圖像處理是離不開接口的,上面第五個階段有講)。推薦《基於FPGA的嵌入式圖像處理系統設計》、《基於FPGA的數字圖像處理原理及應用》。

  

進一步鑽研數學。要在算法上更上一層,必然需要更多的數學,所以這裡建議學習實分析、泛涵分析、小波分析等。

  

1. 為什麼不推薦學習MicroBlaze等軟核?

性價比不高,一般的軟核性能大概跟Cortex M3或M4差不多,用FPGA那麼貴的東西去做一個性能一般的CPU,在工程上是非常不划算的。不如另外加一塊M3。

  

加上軟核,可能會影響到其它的邏輯的功能。這是在資源並不十分充足的情況下,再加上軟核,導致布局布線變得相當困難。軟核不開源,出現Bug的時候,不容易調試。工程上很少使用,極有可能派不上用場。

  

入門應該學習儘量簡單的東西,要麼專心學習ARM,要麼專心學習FPGA。這樣更容易有成就感,增強信心。

  

ZYNQ和SOC的應用領域並不廣,還有很多人沒聽過這種東西,導致求職的不利。開發工具編譯時間長,浪費較多時間。絕大多數工作,都只是負責一方面,也就是說另一方面,很有可能派不上用場。

  

問這種問題的,一般是學生,他們沒有做過產品,沒有遇到過工程上的問題。IP核並非萬能,不能滿足所有需求。儘量少用閉源IP核,一旦出問題,這種黑匣子很可能讓產品難產。

深入理解低一層次,可以更好地使用高一層次。該法則可以適用於所有程式語言。

NOW

點擊上方字體即可跳轉閱讀喲


相關焦點

  • 零基礎入門學習python
    零基礎入門可以學習python嗎?書聲琅琅Python培訓徐老師介紹,很多的朋友諮詢徐老師,想知道如果自己是零基礎的話,到底要如何快速學習Python,由於Python的作用非常大,我們知道PYTHON有全棧課,PYTHON有人工智慧課,今天我們來介紹一下小白如何最快學會寫簡單Python爬蟲。
  • 畢業生FPGA小白真實敘述
    一、本人經歷從去年到現在接觸fpga可以說是滿一整年了,從去年的培訓學習fpga到現在的工作中使用fpga有更大的體會。記得去年大三實習的時候,由於實習提前結束,學校沒課和加之馬上要畢業了,感覺自己要學習一門本領或者技能,在畢業後的日子能有一份不錯穩定的工作,班裡的同學開始考慮畢業後的出路。自己也考慮今後出路。
  • 零基礎入門Unity Shader(九)
    那麼除了在SubShader中定義的Pass 不同以外,我們還能如何定義SubShader呢,我們知道在SubShader和Pass中都有Tags可選參數組,Tags的作用是告訴引擎如何去渲染我們的對象,語法格式如下:Tags { "TagName1" = "Value1" "TagName2" = "Value2" }
  • 3G系統中AGC的FPGA設計實現
    agc在系統中的位置如圖1虛線框所示:    3 agc系統的fpga實現    根據agc所實現的功能  ,在fpga中將agc模塊分為如下幾個部分來實現:  3.1 數據幹路模塊    從RSP接口來10位二進位補碼數據I1和Q1,與求指數模塊傳送來的預放大增益
  • FPGA是什麼
    如何實現快速的時序收斂、降低功耗和成本、優化時鐘管理並降低FPGA與PCB並行設計的複雜性等問題,一直是採用FPGA的系統設計工程師需要考慮的關鍵問題。如今,隨著FPGA向更高密度、更大容量、更低功耗和集成更多IP的方向發展,系統設計工程師在從這些優異性能獲益的同時,不得不面對由於FPGA前所未有的性能和能力水平而帶來的新的設計挑戰。
  • 英語零基礎入門,從哪裡開始學起?
    英語零基礎入門,從哪裡開始學起?零基礎英語是一個怎樣的概念?就是對學習英語完全沒有概念,不知道從何處開始,有些人甚至因為傳統的教育理念,導致很多錯誤的認知。所以他們和有基礎的同學相比,更需要有專業的老師帶著入門。今天這篇文章希望能夠大家解決這個問題。
  • 日語學習|日語零基礎入門:常見7大問題解答匯總!
    日語零基礎入門:常見7大問題解答匯總!問題一:就是記不住五十音怎麼辦?首先可以採用聯想記憶法,比如「あ」來源於「安」字,「ぬ」來源於「奴」字,從來源的漢字來幫助自己記憶假名和發音。然後抄寫五十音,邊讀邊寫調動聽覺視覺一同記憶。
  • 通過點燈的邏輯體驗FPGA的編程流程以及Verilog語法基礎
    學習FPGA也不例外,不要小瞧這隻小小的LED,它能在你學習的路上帶給你光明,引導一個門外漢跨進可編程邏輯世界的大門!作為「寒假在家一起練」的第二次直播講座,我們今天就基於1個LED做了1個多小時的分享,從創建第一個FPGA項目、寫下第一句Verilog代碼,到調用FPGA的IP Cores,體驗了FPGA的設計流程以及Verilog的基本語法規範。
  • Altera啟動全球 SoC FPGA開發者論壇
    在ASDF提供的環境中,系統架構師、硬體工程師、軟體開發人員和固件工程師一起協作,討論概念和遇到的難題,學習最新的技術,了解Altera及其合作夥伴提供的SoC FPGA新產品。本文引用地址:http://www.eepw.com.cn/article/280214.htm
  • 【四】零基礎入門深度學習:卷積神經網絡基礎之池化和Relu
    (給機器學習算法與Python學習加星標,提升AI技能) 作者 | 孫高峰 百度深度學習技術平臺部資深研發工程師 內容來源 | 百度飛槳深度學習集訓營 本文轉自飛槳PaddlePaddle前期內容【一】零基礎入門深度學習:用numpy實現神經網絡訓練
  • 零基礎入門深度學習 | 第一章:感知器
    現在救命稻草來了,《零基礎入門深度學a習》系列文章旨在講幫助愛編程的你從零基礎達到入門級水平。零基礎意味著你不需要太多的數學知識,只要會寫程序就行了,沒錯,這是專門為程式設計師寫的文章。雖然文中會有很多公式你也許看不懂,但同時也會有更多的代碼,程式設計師的你一定能看懂的(我周圍是一群狂熱的Clean Code程式設計師,所以我寫的代碼也不會很差)。
  • 日語零基礎入門學習,教你一些實用的學習方法
    1,做好長期學習計劃其實學任何一門語言,都不可能在短短幾個月甚至一年的時間達到目的,短期的學習最多能夠讓你熟記幾個語法,掌握一些單詞,但是想要運用自如,甚至達到母語級別,還需要不斷地去深入學習。俗話說,活到老,學到老,知識的學習是需要靠時間的積累和沉澱的。2,明確學習目標你是出自什麼原因開始學日語,學日語的最終目標又是什麼呢?單純的動漫愛好?
  • 日語零基礎入門學習,教你一些實用的學習方法
    1做好長期學習計劃其實學任何一門語言,都不可能在短短幾個月甚至一年的時間達到目的,短期的學習最多能夠讓你熟記幾個語法,掌握一些單詞,但是想要運用自如,甚至達到母語級別,還需要不斷地去深入學習。又或者是想要提升職業競爭力……明確學習目標可以化學習為動力,制定學習計劃可以讓自己事半功倍。
  • 日語零基礎入門學習,教你一些實用的學習方法!
    其實學任何一門語言,都不可能在短短幾個月甚至一年的時間達到目的,短期的學習最多能夠讓你熟記幾個語法,掌握一些單詞,但是想要運用自如,甚至達到母語級別,還需要不斷地去深入學習。俗話說,活到老,學到老,知識的學習是需要靠時間的積累和沉澱的。你是出自什麼原因開始學日語,學日語的最終目標又是什麼呢?單純的動漫愛好?想要自由行?為留學做準備?
  • Python零基礎入門資料整理
    來自:汪汪汪不是我的語言 - 簡書連結:http://www.jianshu.com/p/9c02dade7e90本文在喵在野的Python零基礎入門資料整理基礎上補充整理而成
  • 基於Modelsim FLI接口的FPGA仿真技術
    圖 2 語言測試程序對 VHDL 設計的協同仿真結構圖 fpga相關文章:fpga是什麼
  • 18G建築施工圖實操視頻教程,零基礎入門,兩月學會施工圖設計
    18G建築施工圖實操視頻教程,零基礎入門,兩月學會施工圖設計18G建築施工圖實操視頻教程,從零基礎入門的基礎原理、軟體使用、規範精講、系統設計、案例分析、項目練習,每一一步都不放過。【戳尾圖領取資料】18G建築施工圖實操視頻教程,零基礎入門,兩月學會施工圖設計一、建築施工圖組成與設計流程二、前期準備及專業配合三、建築設計說明
  • Unity零基礎入門 - 見縫插針(Unity2017)
    今天發布一門零基礎入門課程,使用最新版本Unity2017開發的,方便沒有Unity基礎和編程基礎的學生來學習入門Unity。
  • 智芯融:零基礎小白該如何入門FPGA?
    今天我們就講一講如何從零基礎入門FPGA成為初學者,也就是如何晉級成為一枚鳥蛋級別的FPGA工程師。很多人剛接觸FPGA,對它都是一知半解,當然,對於零基礎入門的自己來說,我們也要對自己保留一絲絲善意。那麼對於FPGA剛入門我們需要注意點什麼呢?
  • 零基礎入門Unity Shader(十)
    憂傷的前言由於最近事情比較多,《零基礎入門Unity Shader》系列第十篇斷斷續續也寫了近半個月的時間,今天打開時突然發現內容全沒了