完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
网络可以时序仿真,但出现有规律的毛刺。输出加寄存器虽然去除了毛刺,但输出延迟了一个时钟,我共用了一个时钟信号。是不是要加一个和原来电路不同的时钟呢?或者代码中有问题?是不是代码的问题。 代码如下: module pcnn(clk,rst,S,Y,KF,KE,VE,F,E); input clk,rst; input[15:0] S; input[15:0] KF; input[15:0] KE; input[15:0] VE; output[15:0] F; output[15:0] E; output Y; reg[15:0] F; reg[15:0] E; reg[15:0] F_reg; reg[15:0] E_reg; reg[31:0] MUL_F; reg[31:0] MUL_E; ///////////////zuhe assign Y = (F>E_reg)? 1'b1 : 1'b0;//E_reg:number of the last time,not E. always@(KF,F_reg,S) begin MUL_F = KF * F_reg; F = MUL_F[23:8] + S; end always@(Y,VE,KE,E_reg) begin MUL_E = KE * E_reg; if(Y) //E=VE + MUL_E[23:8]; E=VE; else E=MUL_E[23:8]; end always@(posedge clk) //shixu begin if(!rst) begin F_reg <= 0; E_reg <= 0; end else begin F_reg <= F; E_reg <= E; end end endmodule RTL视图 |
|
相关推荐
3个回答
|
|
这不是毛刺,只是你在仿真时,软件是把你的顶层实体输入输出口当成实际的IO管脚,
即使这只是你的一个模块 这时候每一位的数据到达管脚的时间都是不一样的,根据实际电路有先后顺序 你把数据展开就可以看到了。 如果你想要看起来没什么毛刺,数据几乎同时到达的话,你可以约束一下TCO |
|
|
|
看了下,输出端口有Y和E和F,这个仿真图应该是时序仿真图吧,如果是时序仿真图,这个是正常的。
要保证在时钟沿的窗口内数据是稳定。输出的数据可以用时钟打一拍,一个时钟的延时在最初的时序设计上考虑的。 |
|
|
|
功能仿真,后仿真可能有差别,这是时序仿真,包含了器件和线的延时,基本和实际电路运行情况一致。
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1367 浏览 1 评论
助力AIoT应用:在米尔FPGA开发板上实现Tiny YOLO V4
1046 浏览 0 评论
2442 浏览 1 评论
2146 浏览 0 评论
矩阵4x4个按键,如何把识别结果按编号01-16(十进制)显示在两个七段数码管上?
2408 浏览 0 评论
1896 浏览 50 评论
6018 浏览 113 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 23:24 , Processed in 1.123965 second(s), Total 73, Slave 56 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号