首页 > 其他分享 >16位数据转128位数据

16位数据转128位数据

时间:2024-07-04 10:59:27浏览次数:16  
标签:16 数据 rst valid 127 128 data reg out

输入数据:data_in[15:0]   valid_in

输出数据:data_out[127:0]  valid_out

思维逻辑很简单,看仿真。valid_out计数到7的时候拉高一次即可。


module data_16_128(
input                  clk,
input                  rst_n,
input                  valid_in,
input        [15:0]    data_in,

output                valid_out,
output   [127:0]       data_out
);

reg   [3:0]    data_cnt;
reg   [127:0]  data_out_r;
reg   [0:0]    valid_out_r ;


assign  data_out=data_out_r;
assign  valid_out=valid_out_r;
         
always@(posedge   clk or negedge  rst_n)
      begin  
        if(!rst_n)
          begin
             valid_out_r <=1'd0;
             data_out_r<=128'd0;
             data_cnt   <=4'd0;
         end
     else
        if(valid_in)
          begin
             
             data_cnt<=(data_cnt<7?data_cnt+1:0);
             data_out_r<={data_in[15:0], data_out_r[127:16]};
                if(data_cnt==4'd7)
                    valid_out_r<=1'b1;
                else
                    valid_out_r<=1'b0;                   
           end
      end 

endmodule

仿真代码输入数据产生随机数据对比数据转换是否正确。

module testbench();

reg            clk;
reg            rst_n;
reg  [15:0]    data_in;
reg            valid_in;

wire           valid_out;
wire [127:0]    data_out;

initial
    begin
       clk=1'b0;
       rst_n=1'b0;
    #20
       rst_n=1'b1;

   repeat(13)begin      
       #20
         valid_in<=1;
       #1000
         valid_in<=0;
     end
   $stop;
 end

always #10  clk=!clk;


       
integer seed;



initial  
  begin 
   seed = 0;
   end

always @(posedge clk) 
  begin data_in <= $random(seed);
 end


data_16_128 data_16_128_inst(
.clk      (clk      ),
.rst_n    (rst_n    ),
.data_in  (data_in  ),
.valid_in (valid_in ),        
.data_out (data_out ),
.valid_out(valid_out)
);


endmodule

仿真结果如下:

标签:16,数据,rst,valid,127,128,data,reg,out
From: https://blog.csdn.net/baiqiang744/article/details/140170521

相关文章

  • 一个简单的对数据库单表进行crud操作的持久层框架
    一个简单的持久层框架1.简单概述1.1什么是持久层框架与数据库交互的一层称为持久层(一般指的是dao层),用于完成orm操作。orm指什么?o:(Object对象)r:(relative关系)m:(mapping映射)。实体类—数据库表属性–表的字段实体类对象–一条记录集合—表中多条记录。......
  • Python实现基于先验MASK的视频问答(先验注意力机制的视频问答即之江数据集问答方案)
    !!!有需要的小伙伴可以通过文章末尾名片咨询我哦!!! ......
  • 基于卷积神经网络的交通标志识别系统(通过TensorFlow构建LeNet-5模型,并使用GTSRB德国交
    完成程序下载点此下载1、资源项目源码均已通过严格测试验证,保证能够正常运行;2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通;3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业......
  • 【uniapp】使用举例 radio控件与data()内数据绑定
     page.vue<template><checkbox-group@change="checkboxChange"><labelclass="flex-container"v-for="iteminitems":key="item.value"style="align-items:center;">......
  • Windows上实现jdk、Mysql(含数据)整体环境和配置以及数据迁移复用(Bat中实现jdk、mysq
    场景若依前后端分离版手把手教你本地搭建环境并运行项目:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/108465662前后端分离的系统,需要部署在windows服务器上,若后期需要部署的机器较多,则每台机器都需要安装jdk、配置jdk环境变量、安装mysql、配置mysql环境变量......
  • Pandas数据分析
    Pandas数据分析1.基本统计函数函数说明sum()求和count()统计个数max()求最大值min()求最小值median()求中位数mean()求平均值mode()求众数var()求方差std()求标准差quantile()求分位数(1)sum()df.sum(axis=0或1,numeric_onl......
  • 硬核解读,WeTune是如何提升数据库查询重写性能?
    近日,上海交通大学软件学院副院长王肇国和高斯实验室GaussDB数据库优化器专家Ethan联手开展了一场以《智能优化揭秘——GaussDB数据库查询重写的自动挖掘与生成》为主题的技术对谈,深入探讨了WeTune2.0的重写规则与GaussDB的合作落地。直播过程包含对WeTune2.0的项目背景、WeTune......
  • 横截面数据回归
    一些笔记观测值一定要比参数值多p值<0.05,拒绝H0.参数显著,不能说明模型对AIC与BIC准则,越小越好的指标值AIC回归分析一定要进行残差的正态性检验。所有的残差都大于0,小于0,都不正常。残差正常应该是分布在0的附近,有正有负,它应该是随机的残差的正态性检验:检验统计量,是否复合正......
  • EXCEL中20个数据处理类函数公式应用实例
    在Excel中,数据处理类函数是进行数据分析和报告制作的重要工具。以下列举了另外20个数据处理类函数及其应用实例,这些函数涵盖了一系列高级的数据处理需求,包括统计分析、财务计算、工程计算以及更复杂的文本和日期时间操作。数据统计与分析STDEV.S函数:用于计算样本标准差。例......
  • IDA7.7 使用IDAPython搜索指定模式的二进制数据方法
    新版的ida弃用了idc.find_binary推荐使用ida_bytes.bin_search方法。ida_bytes.bin_search需要和ida_bytes.parse_binpat_str配合使用。ida_bytes.parse_binpat_str的功能类似于对正则表达式进行编译。ida_bytes.parse_binpat_str官方文档importida_bytesimportidaapiimpo......