RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Xilinx FPGA學(xué)習(xí)筆記

FPGA之家 ? 來(lái)源:FPGA之家 ? 2023-11-02 09:48 ? 次閱讀

一、時(shí)序設(shè)計(jì)

方法1.通過狀態(tài)機(jī)來(lái)實(shí)現(xiàn),通過verilog控制FPGA,讓它該快的時(shí)候快,該慢的時(shí)候慢。

方法2.FPGA中運(yùn)行CPU

把邏輯控制順序復(fù)雜的事情用C代碼來(lái)實(shí)現(xiàn),而實(shí)時(shí)處理部分用verilog實(shí)現(xiàn),并且verilog這部分可以被C代碼控制。Xilinx的FPGA目前支持的CPU有Microblaze,ARM9,POWERPC,其中Microblaze是軟核,其余的兩款是硬核。

(1)軟核就是用代碼實(shí)現(xiàn)的CPU核,配置靈活;

(2)硬核就是一塊電路,已經(jīng)做好了,不能再發(fā)生變化;

軟核靈活性好,但是要占用FPGA的資源。硬核不占用FPGA的資源,速度和性能更好。比如Xilinx的DDR內(nèi)存控制器,就是一種硬核,其運(yùn)行速度很高。

二、基礎(chǔ)語(yǔ)法

1. always @(),括號(hào)里是*,表明是一直敏感的;

2. (1) <= ?非阻塞賦值,在一個(gè)always模塊中,所有語(yǔ)句一起更新

(2) = 阻塞賦值,或者給信號(hào)賦值,如果在always模塊中,這條語(yǔ)句被立刻執(zhí)行。

非阻塞賦值

always @(posedge clk)begin
   a <= b;
? ? ? ?c <= a; ? ?
end

執(zhí)行結(jié)果是a的值是b,c的結(jié)果依舊是a

阻塞賦值

always @(posedge clk)begin
     a = b;
      c = a;
end

執(zhí)行結(jié)果a的值是b,c的結(jié)果也是b。

一般我們使用的都是非阻塞的賦值語(yǔ)句,這樣可以很好地控制同步性。

3、預(yù)處理命令
`include file1.v
`define X=1;
`define Y;
`ifdef Y
     Z = 1;
`else
      Z = 0;
`endid

有時(shí)候需要一些公共的宏參數(shù),我們可以放在一個(gè)文件中,比如文件名XXX.v,。那么我們就可以 `include XXX.v ,就可以包含文件中定義的宏參數(shù)

三、小練習(xí)

1.加法器的設(shè)計(jì)

module adder(
input [3:0] a,
input [3:0] b,
input cin,
output [3:0] sum,
output cout
);

assign {cout,sum} = a + b + cin;
endmodule

RTL視圖

8f87eed6-7914-11ee-939d-92fbcf53809c.png

RTL 技術(shù)原理圖

8f99577a-7914-11ee-939d-92fbcf53809c.png

仿真代碼

`timescale 1ns / 1ps //1ns的仿真刻度,1ps的仿真精度
//////////////////////////////////////////////////////////////////////////////////
// Company:
// Engineer:
//
// Create Date: 2017/10/22 1058
// Design Name:
// Module Name: simu
// Project Name:
// Target Devices:
// Tool Versions:
// Description:
//
// Dependencies:
//
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
//
//////////////////////////////////////////////////////////////////////////////////


module simu(

);

reg [3:0] a;
reg [3:0] b;
reg cin;

wire cout;
wire [3:0] sum;

reg [4:0] i,j; //中間變量

adder inst(
.a(a),
.b(b),
.cin(cin),
.cout(cout),
.sum(sum)

);

initial begin
a =0; b=0; cin=0;
for(i=1;i<16;i=i+1)
#10 a = i;
end

initial begin
for(j=1;j<16;j=j+1)
#10 b = j;
end

initial begin
$monitor($time,,,"%d + %d + %b = {%b,%d}",a,b,cin,cout,sum);
#160 $finish; //160ns 后仿真結(jié)束
end

endmodule

仿真波形

8fc7290c-7914-11ee-939d-92fbcf53809c.png

打印輸出結(jié)果

8fec7388-7914-11ee-939d-92fbcf53809c.png

審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1629

    文章

    21729

    瀏覽量

    602977
  • Xilinx
    +關(guān)注

    關(guān)注

    71

    文章

    2167

    瀏覽量

    121298
  • 內(nèi)存
    +關(guān)注

    關(guān)注

    8

    文章

    3019

    瀏覽量

    74002
  • Verilog
    +關(guān)注

    關(guān)注

    28

    文章

    1351

    瀏覽量

    110074
  • 狀態(tài)機(jī)
    +關(guān)注

    關(guān)注

    2

    文章

    492

    瀏覽量

    27528

原文標(biāo)題:Xilinx FPGA 學(xué)習(xí)筆記

文章出處:【微信號(hào):zhuyandz,微信公眾號(hào):FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    PLD每周焦點(diǎn)聚焦(11.19-11.25)

    PLD每周焦點(diǎn)聚焦(11.19-11.25):賽靈思(Xilinx)將展示Zynq-7000 All Programmable SoC工業(yè)自動(dòng)化解決方案;Altera Quartus II 12.1版借助高階設(shè)計(jì)流程 加速系統(tǒng)開發(fā);Xilinx
    發(fā)表于 11-25 11:17 ?1618次閱讀

    Xilinx學(xué)習(xí)資料

    哪位大神比較熟悉XilinxFPGA,本人新手一枚,想學(xué)習(xí)FPGA,希望能告知一些XilinxFPG
    發(fā)表于 03-11 01:05

    FPGA學(xué)習(xí)筆記匯總(7.13更新)

    又有好資料跟大家分享了,再次感謝樓主@oldbeginner {:4_114:}FPGA 學(xué)習(xí)筆記01 (LCD 1602,verilog)FPGA
    發(fā)表于 06-20 10:42

    分享一本學(xué)習(xí)xilinx FPGA的好書

    分享一本學(xué)習(xí)xilinx FPGA的好書
    發(fā)表于 07-18 13:44

    入門 Z-turn Board 學(xué)習(xí)筆記(匯總ing)

    不好意思,5555......)。Xilin的 zynq7000平臺(tái)分為PS和PL兩個(gè)部分。PS就是ARM MPU,PL部分就是XilinxFPGA。可以看作PL部分是ARM的一個(gè)高性能的外設(shè),比如當(dāng)你系統(tǒng)需要10個(gè)串口
    發(fā)表于 07-06 11:54

    【Artix-7 50T FPGA申請(qǐng)】FPGA由Altera轉(zhuǎn)Xilinx系列筆記

    申請(qǐng)理由:項(xiàng)目描述:本人之前一直從事Altera FPGA學(xué)習(xí)套件的教程資料研發(fā),如今轉(zhuǎn)向Xilinx,考慮Xilinx現(xiàn)在主推的工具是vivado,而S6系列芯片無(wú)法使用,為了使自
    發(fā)表于 10-11 18:15

    Xilinx FPGA學(xué)習(xí)筆記(1):1602液晶IP核設(shè)計(jì)與實(shí)現(xiàn)

    電子發(fā)燒友網(wǎng)核心提示 :簡(jiǎn)單介紹設(shè)計(jì)的LCD液晶IP核的思路,首先生成100us的時(shí)鐘,然后根據(jù)初始化順序,編寫狀態(tài)機(jī)。最終設(shè)計(jì)效果是在1602液晶屏上可以靜態(tài)顯示16*2的任意字符串(可
    發(fā)表于 11-20 14:22 ?7079次閱讀

    Xilinx_FPGA系列入門教程(一)—如何搭建Xilinx

    Xilinx FPGA系列入門教程(一)——如何搭建Xilinx FPGA開發(fā)環(huán)境
    發(fā)表于 01-18 15:30 ?46次下載

    Xilinx-FPGA-引腳功能詳細(xì)介紹

    FPGA學(xué)習(xí)資料教程之Xilinx-FPGA-引腳功能詳細(xì)介紹
    發(fā)表于 09-01 15:27 ?0次下載

    Xilinx-FPGA高級(jí)開發(fā)工具

    FPGA學(xué)習(xí)資料教程之Xilinx-FPGA高級(jí)開發(fā)工具,感興趣的可以看看。
    發(fā)表于 09-01 15:27 ?0次下載

    Xilinx FPGA如何通過深度學(xué)習(xí)圖像分類加速機(jī)器學(xué)習(xí)

    了解Xilinx FPGA如何通過深度學(xué)習(xí)圖像分類示例來(lái)加速重要數(shù)據(jù)中心工作負(fù)載機(jī)器學(xué)習(xí)。該演示可通過Alexnet神經(jīng)網(wǎng)絡(luò)模型加速圖像(從ImageNet獲得)分類。它可通過開源框架
    的頭像 發(fā)表于 11-28 06:54 ?3804次閱讀

    如何借助Xilinx FPGA和MATLAB技術(shù)加速機(jī)器學(xué)習(xí)應(yīng)用

    本演講將結(jié)合FPGA在機(jī)器學(xué)習(xí)的發(fā)展趨勢(shì)、應(yīng)用和需求,特別介紹在基于MATLAB?完成深度學(xué)習(xí)算法設(shè)計(jì)后,FPGA在機(jī)器學(xué)習(xí)方面的技術(shù)優(yōu)勢(shì)和
    的頭像 發(fā)表于 12-25 07:08 ?2500次閱讀
    如何借助<b class='flag-5'>Xilinx</b> <b class='flag-5'>FPGA</b>和MATLAB技術(shù)加速機(jī)器<b class='flag-5'>學(xué)習(xí)</b>應(yīng)用

    FPGA學(xué)習(xí)教程之硬件設(shè)計(jì)基本概念

    目前在做FPGA移植加速CNN卷積神經(jīng)網(wǎng)絡(luò)Inference相關(guān)的學(xué)習(xí),使用的是Xilinx公司的ZYNQ-7000系列的FPGA開發(fā)板,該博客為記錄相關(guān)
    發(fā)表于 12-25 17:34 ?22次下載
    <b class='flag-5'>FPGA</b><b class='flag-5'>學(xué)習(xí)</b>教程之硬件設(shè)計(jì)基本概念

    Altera FPGA CPLD學(xué)習(xí)筆記

    Altera FPGA CPLD學(xué)習(xí)筆記(肇慶理士電源技術(shù)有限)-Altera FPGA CPLD學(xué)習(xí)
    發(fā)表于 09-18 10:54 ?82次下載
    Altera <b class='flag-5'>FPGA</b> CPLD<b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>筆記</b>

    Xilinx FPGA學(xué)習(xí)筆記:原語(yǔ)BUFIO的理解

    我一直沒搞明白BUFIO是干嘛用的。
    的頭像 發(fā)表于 05-08 15:20 ?2938次閱讀
    <b class='flag-5'>Xilinx</b> <b class='flag-5'>FPGA</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>筆記</b>:原語(yǔ)BUFIO的理解
    RM新时代网站-首页