首页 > 其他分享 >m基于FPGA的数据串并并串转换系统verilog实现,包含testbench,可以配置并行数量

m基于FPGA的数据串并并串转换系统verilog实现,包含testbench,可以配置并行数量

时间:2023-06-27 15:12:52浏览次数:55  
标签:10 din FPGA 并行 b0 b1 testbench 移位 verilog

1.算法仿真效果

 

本系统进行了两个平台的开发,分别是:

 

Vivado2019.2

 

Quartusii18.0+ModelSim-Altera 6.6d  Starter Edition

 

其中Vivado2019.2仿真结果如下:

 

分别进行2路,4路,8路,16路并行串行转换

 

 

 

 

 

 

Quartusii18.0+ModelSim-Altera 6.6d  Starter Edition的测试结果如下:

 

 

 

 

 

2.算法涉及理论知识概要

 

       串并转换是将串行数据转换为并行数据的过程,即将一串数据按位拆分成多个并行数据。串并转换器的输入为串行数据流,输出为并行数据流。在串并转换器中,需要使用移位寄存器来存储串行数据,并使用多路选择器来选择数据位,将其输出到并行总线上。

       并串转换是将并行数据转换为串行数据的过程,即将多个并行数据合并成一串数据。并串转换器的输入为并行数据流,输出为串行数据流。在并串转换器中,需要使用多路选择器来选择数据位,并使用移位寄存器来存储并行数据,将其按位合并成串行数据。

 

2.1 串并转换的FPGA实现

 

串并转换器的FPGA实现需要使用移位寄存器和多路选择器来实现。具体步骤如下:

      设计移位寄存器:根据输入数据位数和输出数据位数,设计移位寄存器的大小,并将输入数据流存储到移位寄存器中。

      设计多路选择器:根据输出数据位数和移位寄存器的大小,设计多路选择器的大小,并使用多路选择器选择数据位,将其输出到并行总线上。

设计时序逻辑:设计时钟控制电路和移位控制电路,控制数据的移位和选择。

设计输出接口:设计并行输出总线和输出接口,将并行数据输出到外部设备。

 

2.2 并串转换的FPGA实现

 

       并串转换器的FPGA实现需要使用移位寄存器和多路选择器来实现。具体步骤如下:

       设计移位寄存器:根据输入数据位数和输出数据位数,设计移位寄存器的大小,并将输入数据存储到移位寄存器中。

      设计多路选择器:根据输入数据位数和输出数据位数,设计多路选择器的大小,并使用多路选择器选择数据位,将其合并成串行数据。

       设计时序逻辑:设计时钟控制电路和移位控制电路,控制数据的移位和选择。

设计输入接口:设计并行输入总线和输入接口,将并行数据输入到移位寄存器中。

 

3.Verilog核心程序

 

`timescale 1ns / 1ps
//
// Company: 
// Engineer: 
// 
// Create Date: 2023/05/07 19:40:52
// Design Name: 
// Module Name: TEST
// Project Name: 
// Target Devices: 
// Tool Versions: 
// Description: 
// 
// Dependencies: 
// 
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
// 
//
 
 
module TEST();
 
reg i_clk;
reg i_rst;
reg i_din;  
wire[15:0]o_datp;  
wire     o_dats;  
s2p s2pu1(  
             .i_clk  (i_clk),
             .i_rst  (i_rst),
             .i_sel  (2'b00),//00锛?路01:4路10鈥?路11锛?6路
             .i_din  (i_din),
 
             .o_datp (o_datp)          
             );
    
p2s p2su2(
             .i_clk  (i_clk),
             .i_rst  (i_rst),
             .i_sel  (2'b00),//00锛?路01:4路10鈥?路11锛?6路
             .i_din  (o_datp),
             .o_dats (o_dats)         
             );
             
             
initial
begin
i_clk=1'b1;
i_rst=1'b1;
#1000
i_rst=1'b0;
end
always #5 i_clk=~i_clk;
initial
begin
i_din=1'b0;
#1000
i_din=1'b1;
#10
i_din=1'b1;
#10
i_din=1'b0;
#10
i_din=1'b1;
#10
i_din=1'b1;
#10
i_din=1'b0;
#10
i_din=1'b1;
#10
i_din=1'b1;
#10
i_din=1'b0;
#10
i_din=1'b1;
#10
i_din=1'b1;
#10
i_din=1'b0;
#10
i_din=1'b1;
#10
i_din=1'b1;
#10
i_din=1'b0;
#10
i_din=1'b1;
 
 
 
 
#10
i_din=1'b1;
#10
i_din=1'b0;
#10
i_din=1'b0;
#10
i_din=1'b1;
#10
i_din=1'b0;
#10
i_din=1'b0;
#10
i_din=1'b1;
#10
i_din=1'b0;
#10
i_din=1'b1;
#10
i_din=1'b0;
#10
i_din=1'b0;
#10
i_din=1'b1;
#10
i_din=1'b1;
#10
i_din=1'b1;
#10
i_din=1'b1;
#10
i_din=1'b0;
 
#500
$stop();
 
 
end
 
endmodule

 

  

 

标签:10,din,FPGA,并行,b0,b1,testbench,移位,verilog
From: https://www.cnblogs.com/51matlab/p/17508909.html

相关文章

  • 基于xilinx的FPGA在线升级程序,仅7系列以上支持
    基于xilinx的FPGA在线升级程序,仅7系列以上支持涉及的知识点和领域范围:1.FPGA(现场可编程门阵列):FPGA是一种可编程的硬件设备,可以根据需要重新配置其内部电路,以实现不同的功能和任务。2.Xilinx:Xilinx是一家知名的FPGA制造商,提供各种型号和系列的FPGA芯片。3.在线升级程序:在线升......
  • Verilog 呼吸灯学习心得体会
    2023-06-25 呼吸灯设计思路:系统时钟25MHz→20us定时器→20ms定时器→2s定时器/占空比计数器→输出设计流程:1.设置时间单位、全局参数和input/output端口定义;2.设置本模块参数3.设置reg变量;4.设置wire型变量5.设置assign赋值语句4.always语句实现功能:......
  • SystemVerilog总结
    SystemVerilog总结过了两个月的时间,把这本《SystemVerilogforDesign(Edition2)》基本上读完了。对SystemVerilog也建立了一些认识。本书一共十二章,除去第一章是比较笼统的介绍,最后两章主要是设计实例以外,第二章到第十章都是很干货的语法讲解。本书的特色是比较深入的讲了一......
  • 基于FPGA的FSK调制解调通信系统verilog实现,包含testbench
    1.算法仿真效果vivado2019.2仿真结果如下:   2.算法涉及理论知识概要       频移键控是利用载波的频率变化来传递数字信息。数字频率调制是数据通信中使用较早的一种通信方式,由于这种调制解调方式容易实现,抗噪声和抗衰减性能较强,因此在中低速数字通信系统中得......
  • 基于FPGA的DDS开发和实现,可修改输出正弦的频率和相位,包含testbench
    1.算法仿真效果vivado2019.2仿真结果如下:输出2个不同频率的正弦信号:修改相位,得到如下所示。2.算法涉及理论知识概要直接数字频率合成技术(DirectDigitalSynthesis)完全不同于我们己经熟悉的直接频率合成技术和锁相环频率合成技术。直接数字频率合成技术(简称DDS)的理论早......
  • 基于FPGA的FSK调制解调通信系统verilog实现,包含testbench
    1.算法仿真效果vivado2019.2仿真结果如下:2.算法涉及理论知识概要频移键控是利用载波的频率变化来传递数字信息。数字频率调制是数据通信中使用较早的一种通信方式,由于这种调制解调方式容易实现,抗噪声和抗衰减性能较强,因此在中低速数字通信系统中得到了较为广泛的应用。......
  • 基于FPGA的DDS开发和实现,可修改输出正弦的频率和相位,包含testbench
    1.算法仿真效果vivado2019.2仿真结果如下: 输出2个不同频率的正弦信号:  修改相位,得到如下所示。 2.算法涉及理论知识概要     直接数字频率合成技术(DirectDigitalSynthesis)完全不同于我们己经熟悉的直接频率合成技术和锁相环频率合成技术。直接数字频率合......
  • SystemVerilog for Design Edition 2 Chapter 10
    SystemVerilogforDesignEdition2Chapter10SystemVerilogextendstheVeriloglanguagewithapowerfulinterfaceconstruct.Interfacesofferanewparadigmformodelingabstraction.Theuseofinterfacescansimplifythetaskofmodelingandverifying......
  • FPGA加速技术在人机交互界面中的应用及优化
    目录引言随着人工智能、云计算、大数据等技术的发展,人机交互界面的重要性也越来越凸显。作为用户与计算机之间的桥梁,人机交互界面的性能和效率直接影响用户的体验和使用效果。为了优化人机交互界面的性能,我们需要考虑很多因素,其中FPGA加速技术是一个比较新兴的话题。在本文中,......
  • 【资料分享】Zynq-7010/7020工业评估板规格书(双核ARM Cortex-A9 + FPGA,主频766MHz)
    1评估板简介创龙科技TLZ7x-EasyEVM是一款基于XilinxZynq-7000系列XC7Z010/XC7Z020高性能低功耗处理器设计的异构多核SoC评估板,处理器集成PS端双核ARMCortex-A9+PL端Artix-7架构28nm可编程逻辑资源,评估板由核心板和评估底板组成。核心板经过专业的PCBLayout和高低温测试验证......