在程序里使用一个分频后的时钟信号CLK(从另一片芯片给过来的),但是使用的时候,在某一特定条件下我要拉高或者拉低这条时钟线,想了一下需要定义CLK为inout信号,才能在程序里对其操作。这样会有几个问题:
1.定义某条件拉高时钟线,如果我的CPLD驱动能力没有前面的芯片强,会不会出现拉不上去的情况;
2.定义某条件拉低时钟线的话,如果正好在CLK的高电平周期,会不会灌到CPLD管脚一个比较大的电流,带来一定的风险;
最后再问一下这样写为什么会出现一个奇怪的仿真结果,低电平的半周期是不定的状态:
assign clk=clk_reg;
assign clk_reg=flag?1:clk_reg; (其中flag是触发信号,clk是时钟信号,clk_reg是中间过渡信号)
希望各位大神给解答一下,现在已经逻辑思维混乱了,多谢!!!
此帖出自
小平头技术问答
cpu有没有预留gpio的测试点?实在不行还是飞线反馈吧。不知道你对cpu输出的这个信号是怎么隔离的,如果是光耦那种单向传递的,即便是你把信号拉住了cpu那边也检测不到,起不到反馈作用;如果是把处理器芯片的输出直接拉住可能会导致工作异常。以前用dsp的时候,碰到过把它的输出引脚往相反电平拉,会导致dsp工作异常。
一周热门 更多>