使用OSERDESE2原语实现7bit并行数据转为1bit串行数据,根据手册配置之后,发现串行数据无输出,经过参考其他设计,发现RST需要置地,可以修改为~rst_n,或者!rst_n,即可以正常输出;尝试修改为1’b0,输出异常,因为该port默认为高复位;初次使用时,容易在这个地方卡壳;下边是仿真ok的代码
`timescale 1ns / 1ps
module generate_for(
input sys_clk_i,
input ext_rst_n, //复位信号,低电平有效
output tx_clk_out
);
wire clk70m;
wire clk10m;
wire rst_n;
wire [6:0] clk_pattern = 7’b1100001;
clk_wiz_0 instance_name
(
// Clock out ports
.clk_out1(clk70m), // output clk_out1
.clk_out2(clk10m), // output clk_out2
// Status and control signals
.resetn(ext_rst_n), // input resetn
.locked(rst_n), // output locked
// Clock in ports
.clk_in1(sys_clk_i)); // input clk_in1
OSERDESE2 #(
.DATA_RATE_OQ(“SDR”), // DDR, SDR
.DATA_RATE_TQ(“SDR”), // DDR, BUF, SDR
.DATA_WIDTH(7), // Parallel data wi