ISE中verilog代码的warnings

//一个带清零置位的D触发器。moduleflipflopcs(inputwireclk,inoutwireD,inputwireset,inputwireclr,out... //一个带清零置位的D触发器。
module flipflopcs(
input wire clk,
inout wire D,
input wire set,
input wire clr,
output q,
output notq );

wire f1,f2,f3,f4,f5,f6;
assign #5 f1 = ~ (f4 & f2 & ~set); //#5表示与门加5个单位时间的传输延时

assign #5 f2 = ~(f1 & f5 & ~clr);
assign #5 f3 = ~(f6 & f4 & ~set);
assign #5 f4 = ~(f3 & clk & ~clr);
assign #5 f5 = ~(f4 & clk & f6 & ~set);
assign #5 f6 = ~(f5 & D & ~clr);
assign q = f1;

assign notq = f2;

endmodule
我想知道为什么assign语句中要加5个单位的时间延时。我试过把#5去掉,ISE在编译的时候会出现如下警告:Xst:2170 - Unit flipflopcs : the following signal(s) form a combinatorial loop: f1_clr_AND_4_o, f4_set_AND_2_o, q. 但是如果把程序烧写到板子上的话,功能依旧可以实现。求大神予以解答……
展开
 我来答
kyo4749
2013-12-10 · TA获得超过433个赞
知道小有建树答主
回答量:294
采纳率:100%
帮助的人:188万
展开全部
先要理解那句assign的意思,假设assign #5 a=~a;假设a的初始值是0,这句话就是开始a是0持续5个clk之后a等于not a也就是1,在持续5个clk。。。。。如果去掉前面的数字呢?就是a一直等于~a,这样在同一个时刻a会一直不断的等于1和0么?这显然是不可能的
追问
谢谢您。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
威孚半导体技术
2024-08-19 广告
威孚(苏州)半导体技术有限公司是一家专注生产、研发、销售晶圆传输设备整机模块(EFEM/SORTER)及核心零部件的高科技半导体公司。公司核心团队均拥有多年半导体行业从业经验,其中技术团队成员博士、硕士学历占比80%以上,依托丰富的软件底层... 点击进入详情页
本回答由威孚半导体技术提供
匿名用户
2013-12-09
展开全部
不加延时,电路会形成组合电路反馈回路,即输出接到输入,这种电路在设计中是不允许的,所以编译的时候会报警告,但是FPGA中自动综合出来的与非门必然是会带延时的(实际的MOS管),编译烧写到板子上,仍然可以成功。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式