阅读:1114回复:10
时钟为什么不能这么用?
(1)
process(clk) begin if(clk\'event and clk=\'0\')then b<=\'0\'; elsif(clk\'event and clk=\'1\')then b<=\'1\'; end if; end process; (2) process(clk1,clk2) begin if(clk1\'event and clk1=\'0\')then b<=\'0\'; elsif(clk2\'event and clk2=\'1\')then b<=\'1\'; end if; end process; 编译时并不出错,可是仿真时b总是0,或者干脆没有任何显示,怎么回事? [编辑 - 12/18/03 by dswei] |
|
沙发#
发布于:2003-12-19 11:20
在一个进程里不能同时有上升和下降沿
|
|
板凳#
发布于:2003-12-18 23:47
CLK1:11100111
CLK2:11000011 B: 11100011 clk1&clk2:11000011 |
|
地板#
发布于:2003-12-18 23:43
不行, 不懂 |
|
地下室#
发布于:2003-12-18 23:42
不行
[编辑 - 12/18/03 by dswei] |
|
5楼#
发布于:2003-12-18 22:43
并且只能对一个信号的边沿操作? 94 |
|
6楼#
发布于:2003-12-18 22:25
并且只能对一个信号的边沿操作?
|
|
7楼#
发布于:2003-12-18 22:21
我想完成的是第二个程序:
clk1下降沿b=0, clk2上升沿b=1, 我更想知道对这问题有没有什么一般的规则 |
|
8楼#
发布于:2003-12-18 22:20
一个进程里面要么上跳沿触发要么下降沿触发
|
|
9楼#
发布于:2003-12-18 22:19
b<=clk?
|
|
10楼#
发布于:2003-12-18 22:18
时钟不可以这样用的。
你把要实现的东西说明白一点 我看看怎么解决 |
|