原创 Verilog HDL三種建模方式

模塊(module)是verilog HDL設計當中的基本組成單元,每個設計都是由一個或者多個模塊構成,爲了能更好地完成設計,我們先來學習模塊的寫法。 注意:在設計當中,應該在英文狀態下輸入,否則將會出現語法錯誤。Verilog

原创 FPGA學習之嵌入式硬件系統(SOPC)概述(軟硬件設計)

FPGA學習之嵌入式硬件系統(SOPC)概述(軟硬件設計) 首先我們知道FPGA可以實現充當完整微處理器的邏輯,並且提供許多靈活性選項。下圖體現出FPGA器件爲何是現場可編輯門陣列器件。 爲了使基於FPGA的嵌入式系統能夠充當微

原创 FPGA學習之LCD1602基本知識(控制,顯示,時序)(一)

FPGA學習之LCD1602基本知識(控制,顯示,時序) 前言 LCD1602顧名思義就是顯示兩行,每行16個字符。如下圖所示: LCD1602的控制線主要有4根: (1)RS:數據/指令選擇端,當RS = 0時,寫指令,當RS

原创 FPGA雙向IO使用之三態門說明

FPGA雙向IO使用之三態門說明 在FPGA設計中,雙向IO(輸入輸出引腳)是一個比較麻煩的東西,但是信號線用作總線等雙向數據傳輸時就要用到inout類型。 以下用液晶的的數據線用作雙向IO示例: 說是雙向IO端口,其實輸入和輸

原创 雙口RAM之IP核使用與驗證

雙口RAM之IP核使用與驗證 上篇在FPGA器件結構資源中提到存儲器結構是由一列列的M9K存儲器模塊組成的,通過對這些M9K存儲器模塊進行配置,可以實現各種存儲器功能,如RAM,ROM,移位寄存器以及fifo緩衝器,具體IP核設置

原创 FPGA學習之Cyclone器件資源結構知識介紹

FPGA學習之Cyclone器件資源結構知識介紹 因爲下週將進行RAM核調用及系統設計學習,這周結束我就先參考Cyclone IV器件手冊,來學習FPGA器件(本文學習器件爲Cyclone IV E系列器件)一些基礎知識,進而熟悉

原创 FPGA學習之串口接收模塊設計與驗證

FPGA學習之串口接收模塊設計與驗證 1.實驗目的: 實現一個串口接收,通過上位機發送數據,查看串口接收模塊是否收到數據。 2.實驗介紹: 學習UART通信原理及其硬件電路設計,使用FPGA實現UART通信中的數據接收部分設計,並

原创 FPGA學習之串口發送模塊設計與驗證

FPGA學習之串口發送模塊設計與驗證 1.實驗目的: 實現一個串口輸出,通過上位機PC查看接收到的是否是串口發送的數據。 2.實驗介紹: 學習UART通信原理及其硬件電路設計,使用FPGA實現UART通信中的數據發送部分設計,並使

原创 FPGA-按鍵消抖狀態機設計與驗證

FPGA-按鍵消抖設計與驗證 爲何要對按鍵進行消抖? 下圖是按鍵在實際電路中的應用,在無按鍵按下時keys[2:0]都將其上拉至高電平,首先在按鍵的硬件結構中存在一個反作用彈簧,當按下或鬆開時都會產生額外的物理振動,導致按鍵電平也

原创 testbench仿真模型

testbench仿真模型 概述 在FPGA中仿真測試驗證是必不可少了,驗證通常又分爲仿真驗證和板級驗證,在上篇說過了板級驗證調試的幾種手段,本篇主要講述如何在設計初步完成即將上板調試前進行仿真驗證。 提到仿真,我們通常會提到te

原创 verilog中同步復位,異步復位,同步釋放優缺點以及PLL配置復位設計

異步復位: 它是指無論時鐘沿是否到來,只要復位信號有效,就對系統進行復位。 always@(posedge clk or negedge Rst_n) begin if(!Rst_n) … end 異步復位實例: 綜合後查看RT

原创 FPGA中阻塞賦值與非阻塞賦值原理實驗

實驗目的:掌握阻塞賦值與非阻塞賦值的區別 1.實驗原理: 在Verilog HDL語言中,信號有兩種賦值方式:非阻塞賦值和阻塞賦值; 其中有兩個要點: 1.在描述組合邏輯的always塊中用阻塞賦值,則綜合成組合邏輯的電路結構;

原创 電磁兼容學習-電磁干擾三要素

1. 電磁騷擾和電磁干擾 根據GB/T4365-2003《電磁兼容電工術語》的2.1中對電磁騷擾和電磁干擾的定義分別如下: 161-01-05 電磁騷擾 electromagnetic disturbance 任何可能引起裝置、設

原创 通訊協議學習-SPI通信(2)

1.名詞解釋 SPI是串行外設接口(Serial Peripheral Interface)的縮寫,是一種串行,全雙工的三線同步總線,SPI接口比UART相比,多了一根時鐘線。 SPI接口總線使用四條線: 串行時鐘線-------

原创 通信協議學習-485通信(1)

1.RS-485通信協議標準 通信協議是指雙方實體完成通信或服務所必須遵循的規則和約定,主要實現兩個設備之間的數據交換功能,通信協議分硬件層協議和軟件層協議。硬件層協議決定數據如何傳輸,比如要設備A要想設備B發送0x63,0x63