0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

FPGA学习系列:7. 串并转换

FPGA学习交流 来源:互联网 作者:佚名 2018-05-31 11:40 次阅读

设计背景:

Verilog语法中很多情况都用到了串并转化的思想,旨在与提升运算和芯片运行的速度,串行转并行已经成为设计中不可缺少的一种思维。

设计原理:

本次的设计主设计一个8位的串并转化,意思就是当输入8个数据的时候,我们把这8个串行数据转化为8位的并行数据然后输出出来。也就是需要一个8位的寄存器,来一个数据存到对应的位上,然后输出出来就完成了本次设计。

设计架构图:

image.png

设计代码:

设计模块

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

1

2 inputclk,rst_n;//时钟,复位输入

3 inputdata;//输入数据

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)//计数表示只接8个数据

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(//设计例化

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;//模拟数据输入

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

在测试中模拟数据输入时1010 0101,然后输出是一个并行数据,那么通过看仿真时序,清楚的看到输出是8位的并行数据,本次设计正确.

同样大家可以自己推理设计出并转串的逻辑电路来。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1624

    文章

    21608

    浏览量

    601079
  • 串并转换
    +关注

    关注

    0

    文章

    3

    浏览量

    7814
收藏 人收藏

    评论

    相关推荐

    如何使用其gearbox功能来实现不同的比率的并转换功能

    在SelectIO简介连载一中介绍了其架构,本章会继续介绍如何使用其gearbox功能来实现不同的比率的并转换功能。7 Series FPGA中LVDS使用了ISERDESE2,SD
    发表于 08-02 08:03 3165次阅读
    如何使用其gearbox功能来实现不同的比率的<b class='flag-5'>串</b><b class='flag-5'>并转换</b>功能

    LVDS并转换与并转换设计

    并转换与并转换是高速数据流处理的重要技巧之一。其实现方法多种多样,根据数据的顺序和数量的不同要求,可以选用移位寄存器、双口RAM(Dual RAM)、SRAM、SDRAM或者FIF
    的头像 发表于 11-05 11:11 2002次阅读
    LVDS<b class='flag-5'>串</b><b class='flag-5'>并转换</b>与并<b class='flag-5'>串</b><b class='flag-5'>转换</b>设计

    FPGA设计思想与技巧之并转换和流水线操作

    本帖最后由 jiuri1989 于 2012-2-10 11:42 编辑 本系列讨论的四种常用FPGA/CPLD设计思想与技巧:乒乓操作、并转换、流水线操作、数据接口同步化,
    发表于 02-10 11:40

    并转换74hc164

    并转换74hc164{:9:}
    发表于 10-12 14:20

    1to8并转换

    设计要求: (内部提供50M时钟)1.依据需求分析给出的要求,设计完成串口端(SCLK、DIO、CS)数据并转换,并依据接收到的数据切换DIO信方向号。(当DIO接收到读指令时,DIO为输出,其余
    发表于 03-09 17:50

    FPGA并转换实现问题

    各位大神是否能用400个以上I/O口的FPGA芯片,实现并转换,一个串行RS232输入,将输入的50个字节的数据转换控制 50个8位并行输出。具体大概应该怎么做
    发表于 07-08 17:19

    IO扩展(并转学习

    峰峰说学会IO扩展(并转)还是蛮重要;接下来一起看下以下学习点哈~74HC165是8位并行输入,串行
    发表于 12-06 06:54

    FPGA/并转换的思想相关资料推荐

    (18)FPGA/并转换的思想1.1 目录1)目录2)FPGA简介3)Verilog HDL简介4)FPGA
    发表于 02-23 07:38

    并转换VHDL代码

    通过多通道-并转换器将多个同步串行数据流转换为并行数据 xilinx提供 Synthesis  1. Launch synplify  2.
    发表于 05-20 11:30 515次下载

    84调制解调程序(包括并转换,判决等等)

    84调制解调程序(包括并转换,判决等等): 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];%//////////
    发表于 11-28 11:48 29次下载

    并转换 通过多通道-并转换器将多个同步串行数据流转换为并

    并转换 通过多通道-并转换器将多个同步串行数据流转换为并行数据(源代码)   ** Filenames and Descri
    发表于 06-14 09:24 50次下载

    基于FPGA的多路高速串并转换器设计

    高速串并转换器的设计是FPGA 设计的一个重要方面,传统设计方法由于采用FPGA 的内部逻辑资源来实现,从而限制了并转换的速度。该研究以网
    发表于 09-22 08:29 81次下载

    基于CPLD的并转换和高速USB通信设计

    本内容介绍了基于CPLD的并转换和高速USB通信设计
    发表于 09-27 16:23 37次下载
    基于CPLD的<b class='flag-5'>串</b><b class='flag-5'>并转换</b>和高速USB通信设计

    转换并转换

    转换并转换,有兴趣的同学可以下载学习
    发表于 04-27 16:18 63次下载

    (18)FPGA/并转换的思想

    (18)FPGA/并转换的思想1.1 目录1)目录2)FPGA简介3)Verilog HDL简介4)FPGA
    发表于 12-29 19:40 2次下载
    (18)<b class='flag-5'>FPGA</b><b class='flag-5'>串</b>/<b class='flag-5'>并转换</b>的思想