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

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

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

FPGA學習系列:7. 串并轉(zhuǎn)換

FPGA學習交流 ? 來源:互聯(lián)網(wǎng) ? 作者:佚名 ? 2018-05-31 11:40 ? 次閱讀

設(shè)計背景:

Verilog語法中很多情況都用到了串并轉(zhuǎn)化的思想,旨在與提升運算和芯片運行的速度,串行轉(zhuǎn)并行已經(jīng)成為設(shè)計中不可缺少的一種思維。

設(shè)計原理:

本次的設(shè)計主設(shè)計一個8位的串并轉(zhuǎn)化,意思就是當輸入8個數(shù)據(jù)的時候,我們把這8個串行數(shù)據(jù)轉(zhuǎn)化為8位的并行數(shù)據(jù)然后輸出出來。也就是需要一個8位的寄存器,來一個數(shù)據(jù)存到對應的位上,然后輸出出來就完成了本次設(shè)計。

設(shè)計架構(gòu)圖:

image.png

設(shè)計代碼:

設(shè)計模塊

0modulestudy(clk,rst_n,data,data_out);//端口列表

1

2 inputclk,rst_n;//時鐘,復位輸入

3 inputdata;//輸入數(shù)據(jù)

4

5 outputreg[7:0]data_out;

6

7 reg[3:0]count;

8 reg[7:0]temp;

9

10 always@(posedgeclk)//時序邏輯

11 if(!rst_n)

12 begin

13 data_out <=0;

14 temp <=0;

15 count <=0;

16 end

17 elseif(count <8)//計數(shù)表示只接8個數(shù)據(jù)

18 begin

19 temp <={temp[6:0],data};//移位寄存器

20 count <=count +1'b1;

21 end

22 else

23 begin

24 data_out <=temp;//接到后輸出

25 end

26

27endmodule

測試模塊

0`timescale1ns/1ps//時標

1

2moduletb();

3

4 regclk,rst_n;

5 regdata;

6

7 wire[7:0]data_out;

8

9 study study_dut(//設(shè)計例化

10 .clk(clk),

11 .rst_n(rst_n),

12 .data(data),

13 .data_out(data_out)

14 );

15

16 initialbegin

17 clk =1;

18 rst_n =0;//復位

19 data =0;

20 #200rst_n =1;//不復位

21 data =1;//模擬數(shù)據(jù)輸入

22 #20data =0;

23 #20data =1;

24 #20data =0;

25

26 #20data =0;

27 #20data =1;

28 #20data =0;

29 #20data =1;

30

31 #200$stop;

32 end

33

34 always#10clk =~clk;//模擬晶振時鐘

35

36endmodule

仿真:

image.png

在測試中模擬數(shù)據(jù)輸入時1010 0101,然后輸出是一個并行數(shù)據(jù),那么通過看仿真時序,清楚的看到輸出是8位的并行數(shù)據(jù),本次設(shè)計正確.

同樣大家可以自己推理設(shè)計出并轉(zhuǎn)串的邏輯電路來。

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

    關(guān)注

    1625

    文章

    21625

    瀏覽量

    601245
  • 串并轉(zhuǎn)換
    +關(guān)注

    關(guān)注

    0

    文章

    3

    瀏覽量

    7814
收藏 人收藏

    評論

    相關(guān)推薦

    如何使用其gearbox功能來實現(xiàn)不同的比率的并轉(zhuǎn)換功能

    在SelectIO簡介連載一中介紹了其架構(gòu),本章會繼續(xù)介紹如何使用其gearbox功能來實現(xiàn)不同的比率的并轉(zhuǎn)換功能。7 Series FPGA中LVDS使用了ISERDESE2,SD
    發(fā)表于 08-02 08:03 ?3185次閱讀
    如何使用其gearbox功能來實現(xiàn)不同的比率的<b class='flag-5'>串</b><b class='flag-5'>并轉(zhuǎn)換</b>功能

    LVDS并轉(zhuǎn)換與并轉(zhuǎn)換設(shè)計

    并轉(zhuǎn)換與并轉(zhuǎn)換是高速數(shù)據(jù)流處理的重要技巧之一。其實現(xiàn)方法多種多樣,根據(jù)數(shù)據(jù)的順序和數(shù)量的不同要求,可以選用移位寄存器、雙口RAM(Dual RAM)、SRAM、SDRAM或者FIF
    的頭像 發(fā)表于 11-05 11:11 ?2026次閱讀
    LVDS<b class='flag-5'>串</b><b class='flag-5'>并轉(zhuǎn)換</b>與并<b class='flag-5'>串</b><b class='flag-5'>轉(zhuǎn)換</b>設(shè)計

    FPGA設(shè)計思想與技巧之并轉(zhuǎn)換和流水線操作

    本帖最后由 jiuri1989 于 2012-2-10 11:42 編輯 本系列討論的四種常用FPGA/CPLD設(shè)計思想與技巧:乒乓操作、并轉(zhuǎn)換、流水線操作、數(shù)據(jù)接口同步化,
    發(fā)表于 02-10 11:40

    并轉(zhuǎn)換74hc164

    并轉(zhuǎn)換74hc164{:9:}
    發(fā)表于 10-12 14:20

    1to8并轉(zhuǎn)換

    設(shè)計要求: (內(nèi)部提供50M時鐘)1.依據(jù)需求分析給出的要求,設(shè)計完成串口端(SCLK、DIO、CS)數(shù)據(jù)并轉(zhuǎn)換,并依據(jù)接收到的數(shù)據(jù)切換DIO信方向號。(當DIO接收到讀指令時,DIO為輸出,其余
    發(fā)表于 03-09 17:50

    FPGA并轉(zhuǎn)換實現(xiàn)問題

    各位大神是否能用400個以上I/O口的FPGA芯片,實現(xiàn)并轉(zhuǎn)換,一個串行RS232輸入,將輸入的50個字節(jié)的數(shù)據(jù)轉(zhuǎn)換控制 50個8位并行輸出。具體大概應該怎么做
    發(fā)表于 07-08 17:19

    IO擴展(并轉(zhuǎn)學習

    峰峰說學會IO擴展(并轉(zhuǎn))還是蠻重要;接下來一起看下以下學習點哈~74HC165是8位并行輸入,串行
    發(fā)表于 12-06 06:54

    FPGA/并轉(zhuǎn)換的思想相關(guān)資料推薦

    (18)FPGA/并轉(zhuǎn)換的思想1.1 目錄1)目錄2)FPGA簡介3)Verilog HDL簡介4)FPGA
    發(fā)表于 02-23 07:38

    并轉(zhuǎn)換VHDL代碼

    通過多通道-并轉(zhuǎn)換器將多個同步串行數(shù)據(jù)流轉(zhuǎn)換為并行數(shù)據(jù) xilinx提供 Synthesis  1. Launch synplify  2.
    發(fā)表于 05-20 11:30 ?515次下載

    84調(diào)制解調(diào)程序(包括并轉(zhuǎn)換,判決等等)

    84調(diào)制解調(diào)程序(包括并轉(zhuǎn)換,判決等等): fs=700000000;%樣頻率 f0=70000000;%載頻fd=5000000;n=400;a=[1 0 1 1 0 0 1 1 0 1 0 0 0 1 1 1 0 1 0 0];%//////////
    發(fā)表于 11-28 11:48 ?29次下載

    并轉(zhuǎn)換 通過多通道-并轉(zhuǎn)換器將多個同步串行數(shù)據(jù)流轉(zhuǎn)換為并

    并轉(zhuǎn)換 通過多通道-并轉(zhuǎn)換器將多個同步串行數(shù)據(jù)流轉(zhuǎn)換為并行數(shù)據(jù)(源代碼)   ** Filenames and Descri
    發(fā)表于 06-14 09:24 ?50次下載

    基于FPGA的多路高速串并轉(zhuǎn)換器設(shè)計

    高速串并轉(zhuǎn)換器的設(shè)計是FPGA 設(shè)計的一個重要方面,傳統(tǒng)設(shè)計方法由于采用FPGA 的內(nèi)部邏輯資源來實現(xiàn),從而限制了并轉(zhuǎn)換的速度。該研究以網(wǎng)
    發(fā)表于 09-22 08:29 ?81次下載

    基于CPLD的并轉(zhuǎn)換和高速USB通信設(shè)計

    本內(nèi)容介紹了基于CPLD的并轉(zhuǎn)換和高速USB通信設(shè)計
    發(fā)表于 09-27 16:23 ?37次下載
    基于CPLD的<b class='flag-5'>串</b><b class='flag-5'>并轉(zhuǎn)換</b>和高速USB通信設(shè)計

    轉(zhuǎn)換并轉(zhuǎn)換

    轉(zhuǎn)換并轉(zhuǎn)換,有興趣的同學可以下載學習
    發(fā)表于 04-27 16:18 ?63次下載

    (18)FPGA/并轉(zhuǎn)換的思想

    (18)FPGA/并轉(zhuǎn)換的思想1.1 目錄1)目錄2)FPGA簡介3)Verilog HDL簡介4)FPGA
    發(fā)表于 12-29 19:40 ?2次下載
    (18)<b class='flag-5'>FPGA</b><b class='flag-5'>串</b>/<b class='flag-5'>并轉(zhuǎn)換</b>的思想