芯片资讯
热点资讯
- FPGA排序-冒泡排序(Verilog版)介绍
- Infineon品牌SLE 4432 C芯片IC EEPROM 256BYTE CHIP的技术和方案应用介绍
- 深度解析索尼的多重曝光HDR技术
- FPGA浮点IP内核究竟有哪些优势呢?
- Microchip微芯半导体AT97SC3205T-X3A1C20B芯片FF COM I2C TPM 4.4MM TSS
- Melexis品牌MLX81113KDC-BAB-000-RE芯片IC LIN RGB CTRLR 32KB 4CH 8
- 聊一聊MEMS先生的微机电系统
- pH传感器的工作原理及应用
- 大疆的低成本高阶智能驾驶方案详解
- Melexis品牌MLX81150LLW-DAA-000-RE芯片IC LIN SLAVE 32K FLASH 32QF
你的位置:EEPROM带电可擦可编程IC存储器芯片大全-亿配芯城 > 芯片资讯 > FPGA排序-冒泡排序(Verilog版)介绍
FPGA排序-冒泡排序(Verilog版)介绍
- 发布日期:2023-12-31 12:31 点击次数:320
在之前的推文中介绍了冒泡排序的实现,但是分享的代码使用的是SpinalHDL,最近有好多小伙伴后台私信问有没有Verilog版的代码。今天就给大家贴出来,具体原理参考FPGA排序--冒泡排序这篇之前的文章。
仍然以8个8bit的数为例来介绍冒泡排序,因此数据的输入和输出位宽均为64bit(8*8bit),使用valid信号来标识数据有效,整个实现采用流水线的方式。
`timescale 1ns / 1ps module bubble( input clk , CMOS图像传感器集成电路芯片 input rst ,芯片交易网IC交易网 input [63:0] data_in , EEPROM带电可擦可编程存储器芯片大全 input data_in_valid , ATMEGA系列ATMEL芯片COM output [63:0] data_out , 电子元器件PDF资料大全 output data_out_valid ); reg [ 3:0] data_in_valid_ff; reg [63:0] data_in_ff[3:0] ; reg v[7:0][7:0] ; reg [ 1:0] sum_1[7:0][3:0] ; reg [ 2:0] sum_2[7:0][1:0] ; reg [ 3:0] sum_3[7:0] ; reg [7:0] data_out_temp[7:0] ; reg data_out_valid_temp; genvar i; genvar j; always @(posedge clk ) begin if(rst == 1'b1)begin data_in_valid_ff = data_in[j*8 +: 8]; v[j][i]在代码中用了大量的生成语句,EEPROM带电可擦可编程存储器芯片大全这样可以降低我们的代码量,这些生成语句帮我们生成了大量的重复性电路,我们并不需要有什么担心。
仿真代码:
`timescale 1ns / 1ps module tb_bubble( ); reg clk; reg rst; reg [7:0] data_in_0; reg [7:0] data_in_1; reg [7:0] data_in_2; reg [7:0] data_in_3; reg [7:0] data_in_4; reg [7:0] data_in_5; reg [7:0] data_in_6; reg [7:0] data_in_7; wire [63:0] data_in; reg data_in_valid; wire [63:0] data_out; wire data_out_valid; initial begin clk = 1'b0; rst = 1'b1; #50 rst = 1'b0; end always #5 clk = !clk; always @(posedge clk ) begin if(rst == 1'b1)begin data_in_0仿真结果:
可以看到每个时钟周期输出8个排好序的数字。
消耗的资源如上。如果我们不需要流水输出的话,使用的资源可以进一步进行压缩,这个就看具体的需求了,资源和性能的平衡。
审核编辑:刘清
相关资讯
- Microchip微芯半导体AT17LV65-10NI芯片IC EEPROM FPGA 64KB 8-SOIC的技术和方案应用介绍2025-05-06
- Microchip微芯半导体AT17LV65-10NC芯片IC EEPROM FPGA 64KB 8-SOIC的技术和方案应用介绍2025-05-05
- Microchip微芯半导体AT17C65-10NI芯片IC EEPROM FPGA 64KB 8-SOIC的技术和方案应用介绍2025-05-04
- Microchip微芯半导体AT17C65-10NC芯片IC EEPROM FPGA 64KB 8-SOIC的技术和方案应用介绍2025-05-03
- Microchip微芯半导体AT17LV256-10NI芯片IC EEPROM FPGA 256KB 8-SOIC的技术和方案应用介绍2025-05-02
- Microchip微芯半导体AT17C256-10NI芯片IC EEPROM FPGA 256KB 8-SOIC的技术和方案应用介绍2025-05-01