完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
求教各位大佬,最近在做一个基于FPGA的PPM调制系统,根据网上找到的代码编写了一段Verilog程序 其中输入的待调制信号是自己编写的用状态机生成的一段二维序列,综合没有问题,烧录到板子上后 外接示波器,示波器上显示不出波形,不知是哪方面出了问题。代码如下:
`timescale 1us/1us module PPMtz(clk_in,rst_n,data_in,ppmdata,FPGA_TEST2); input clk_in; input rst_n; output ppmdata; output data_in; output FPGA_TEST2; reg [1:0] count; reg [1:0] xreg; reg [1:0] yreg; reg data_in; reg ppmdata; reg q; reg [2:0] pre_state,next_state; wire clk_out; clk_out clk_out_inst ( .inclk0 ( clk_in ), .c0 ( clk_out ) ); parameter s0=3'b000,s1=3'b001,s2=3'b010,s3=3'b011,s4=3'b100,s5=3'b101; always @(posedge clk_out or negedge rst_n) begin if(!rst_n) pre_state <= s0; else pre_state <= next_state; end always @(pre_state) begin case(pre_state) s0: begin data_in = 1'b0; next_state <= s1; end s1: begin data_in = 1'b0; next_state = s2; end s2: begin data_in = 1'b1; next_state = s3; end s3: begin data_in = 1'b0; next_state = s4; end s4: begin data_in = 1'b1; next_state = s5; end s5: begin data_in = 1'b1; next_state = s0; end default: next_state = s0; endcase end always@(posedge clk_out or negedge rst_n) if(!rst_n) begin count<=2'b11; q<=0; yreg<=0; ppmdata<=1; end else begin if(count==2'b11) begin yreg<=xreg; q<=~q; count<=count+1; end else begin q<=~q; count<=count+1; end if(yreg[0]==1'b0 && count==yreg) begin ppmdata<=q; end else if(yreg[0]==1'b1 && count==yreg) begin ppmdata<=~q; end else ppmdata<=0; end always@(posedge clk_out or negedge rst_n) if(!rst_n) xreg<=2'b00; else if(count[0]==1'b1) xreg<={xreg[0],data_in}; else xreg<=xreg; assign FPGA_TEST2 = clk_out; endmodule 其中 FPGA_TEST2是我板子上的FPGA的测试引脚,我用来观看我的分频时钟了
|
|
相关推荐
2个回答
|
|
代码没有问题,查一下例化的clk_out模块设置是否有问题。
我仿真了一下,跳过了clk_out模块(不清楚你想怎么设置),信号有输出,FPGA_TEST2也有输出。 另外,建议查硬件。首先排查时钟。 //------------------------ sim_v1.0跳过了clk_out模块 sim(改)_v2.0状态机代码做了小的修改,与sim_v1.0仿真结果相同。
最佳答案
|
|
|
|
没有错误提醒吗
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1779 浏览 1 评论
1518 浏览 0 评论
矩阵4x4个按键,如何把识别结果按编号01-16(十进制)显示在两个七段数码管上?
1735 浏览 0 评论
954 浏览 0 评论
2525 浏览 0 评论
1572 浏览 39 评论
5804 浏览 113 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-3 00:23 , Processed in 0.520290 second(s), Total 47, Slave 38 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号