完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
module single_pulse(pulse_out1,pulse_out2,width1,delay,clk,rst,start);
output pulse_out1; output pulse_out2; input clk,rst,start; input [7:0] width1; input [7:0] width2; input [15:0] delay; reg load; reg pulse_out1; reg [7:0] count1; reg [7:0] count2; reg [15:0] count3; reg [3:0] cnt; always@(posedge clk or negedge rst) begin if(~rst) begin cnt<=4'd10; load<=1'd0; end else begin cnt<=cnt-1'd1; if(cnt==1'd0) begin cnt<=3'd5; load<=1'd1; end end end always@(posedge clk or negedge rst) begin if(~rst) begin count1 <= width1; count2 <= width2; count3 <= delay; pulse_out1<= 1'd0; pulse_out2<= 1'd1; end else if(load == 1'd1) begin if(start == 1'd1 ) begin if(count1) begin count1 <= count1-8'd1; pulse_out1 <= 1'd1; end else begin pulse_out1 <= 1'd0; end if(count3) begin count1 <= count1-8'd1; pulse_out2 <= 1'd1; end else begin if(count2) begin count2<=count2-8'd1; pulse_out2<=1'd0; end else begin pulse_out2<=1'd1; end end end end endmodule 这段编译结果Error (10170): Verilog HDL syntax error at single_pulse.v(75) near text "endmodule"; expecting "end",不知道怎么改了,我是为了产生两个可调脉冲,相隔一定时间的。 |
|
相关推荐
4个回答
|
|
还有就是这第二个pulse_out2输出该如何实现延时可调呢
|
|
|
|
语法问题,不是end用多了就是用少了
|
|
|
|
楼上正解。没有缩进,错误都不好找
|
|
|
|
楼主,你少写了一个end
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1333 浏览 1 评论
助力AIoT应用:在米尔FPGA开发板上实现Tiny YOLO V4
1041 浏览 0 评论
2408 浏览 1 评论
2113 浏览 0 评论
矩阵4x4个按键,如何把识别结果按编号01-16(十进制)显示在两个七段数码管上?
2376 浏览 0 评论
1872 浏览 49 评论
6009 浏览 113 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 12:28 , Processed in 0.561282 second(s), Total 79, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号