当前位置: 首页 > news >正文

ODDR实现多bit单边沿采样数据转为多bit双沿采样数据

ODDR实现多bit单边沿采样数据转为多bit双沿采样数据
https://bbs.elecfans.com/m/jishu_2030303_1_1.html

module ddr_16to8_output_alt (
input wire clk,
input wire rst,
input wire [15:0] data_in,
input wire data_valid,
output wire [7:0] ddr_out,
output wire busy
);

// 内部信号
reg [3:0] bit_counter;
reg [15:0] data_reg;
reg busy_reg;

// 状态控制
always @(posedge clk) begin
if (rst) begin
bit_counter <= 4'b0;
busy_reg <= 1'b0;
data_reg <= 16'b0;
end else begin
if (data_valid && !busy_reg) begin
data_reg <= data_in;
bit_counter <= 4'b0;
busy_reg <= 1'b1;
end else if (busy_reg) begin
if (bit_counter == 4'd7) begin
busy_reg <= 1'b0;
end
bit_counter <= bit_counter + 1;
end
end
end

// 生成8个ODDR原语
genvar i;
generate
for (i = 0; i < 8; i = i + 1) begin : oddr_gen
// 为每个ODDR选择适当的数据位
wire rise_bit = data_reg[bit_counter * 2 + (i % 2 ? 0 : 1)];
wire fall_bit = data_reg[bit_counter * 2 + (i % 2 ? 1 : 0)];

ODDR #(
.DDR_CLK_EDGE("OPPOSITE_EDGE"),
.INIT(1'b0),
.SRTYPE("SYNC")
) ODDR_inst (
.Q(ddr_out[i]),
.C(clk),
.CE(1'b1),
.D1(rise_bit),
.D2(fall_bit),
.R(rst),
.S(1'b0)
);
end
endgenerate

assign busy = busy_reg;

endmodule

http://www.dtcms.com/a/343001.html

相关文章:

  • 前端-Vue笔记(核心语法)
  • linux内核 - 内存分配机制介绍
  • MySQL 8.4.6 LTS 安装教程 windows
  • 如何在mac玩windows游戏?3个工具推荐,不用换电脑!
  • MiniGPT-4
  • 在Excel和WPS表格中合并多个单元格这样最快
  • 第14章 结构和其他数据形式
  • 数据分类分级的关键难点以及应对之道
  • Go1.25的源码分析-src/runtime/runtime1.go(GMP)g
  • U盘安装 CentOS Stream 10 实战复盘:三大常见问题与解决方法
  • 通义千问VL-Plus:当AI“看懂”屏幕,软件测试的OCR时代正式终结!
  • Java 项目中 MySQL 数据向 Redis 迁移的技术实践与深度剖析
  • JVM 性能监控工具全解析:从命令行到可视化全方位指南
  • 图像形态学:膨胀、腐蚀和边缘检测与绘制
  • Java后端面试场景题大全:2025年高频考点深度解析
  • 大模型部署
  • 造成云手机闪退的原因有哪些?
  • 使用VBA宏批量修改Word中表格题注格式
  • HYPE分布式水文模型建模方法与案例分析实践技术应用
  • AI 时代的数字伦理选择题
  • Mac 电脑 IDEA 执行 Maven 出现 No route to host 问题
  • Django REST框架核心:GenericAPIView详解
  • 【力扣 买股票的最佳时机II Java/Python】
  • rt-thread使用sfud挂载spi flash, 并使用spi驱动st7789 lcd的trace分析(使用spi dma)
  • 生信分析自学攻略 | R语言函数与参数介绍
  • kylin v10只允许kylin用户登录解决办法
  • 雅菲奥朗SRE知识墙分享(四):『AI已开始重塑劳动力市场,美国年轻科技从业者首当其冲』
  • 数据结构-HashSet
  • 黑马程序员jbdc笔记
  • 迅为R3568开发板OpeHarmony学习开发手册-配置远程访问环境