谢谢大家!
实现的是QPSK星座映射,代码基本上如下:
input clk;
input rst_n;
input in_valid;
input in_data;
output out_valid;
output [7:0] out_data;
output clk_out;
reg out_valid_temp;
reg rdreq;
wire [1:0] q;
wire [11:0] wrusedw;
map_fifo MapFifo(
.data(in_data), //前端送入的2进制码流
.rdclk(clk), //全局输入时钟
.rdreq(rdreq),
.wrclk(clk),
.wrreq(in_valid),
.q(q), //fifo输出数据
.wrusedw(wrusedw));
//中间还有段根据wrusedw来判断out_valid是0还是1的代码,在此省略
assign out_data={{4{q[0]}},{4{q[1]}}};//模块的输出数据
assign clk_out=clk; //用clk_out作为采样时钟,主要是考虑到FPGA内部走线延时
用的是altera公司的IP(quartus ii 7.1版),输入输出管脚映射后接到逻辑分析仪进行观察,用clk_out作为采样时钟,采输出数据out_data,发现有些数和理论值不等,255错成251了,不知怎么回事?难道不能用clk_out作为采样时钟,或者有些地方设置不对?望达人指点!谢谢! |