微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 怎样合成这样一个信号!

怎样合成这样一个信号!

时间:10-02 整理:3721RD 点击:
一个时钟信号SCK1=2M,另一个时钟信号SCK2=27M,我要得到这样一个信号SCK3为:在SCK1的一个时钟周期中只取一个SCK2信号并且只在SCK1的上升沿开始取

怎样合成这样一个信号!
用SCK2提取SCK1的上升沿
其结果与SCK2相与

怎样合成这样一个信号!
谢谢板主的回答
能否提供一个VHDL实现例子

怎样合成这样一个信号!
verilog可以不

怎样合成这样一个信号!
可以,非常感谢!

怎样合成这样一个信号!
[这个贴子最后由atuhappy在 2004/05/19 11:00am 第 1 次编辑]
俺没仿真
module edge_detector(SCK1, SCK2, CLR, PULSE);
input SCK1, SCK2, CLR;
output PULSE;
wire PULSE;
reg [1:0] q;
assignPULSE = ( q[0] & ~q[1] ) & SCLK2;
always@(posedge SCLK2 or CLR)
begin
if(!CLR)
q <= 2'b00;
else
q[1:0] <= {q[0],SCK1};
end
endmodule

怎样合成这样一个信号!
感谢!
always@(posedge SCK2 or CLR)中将posedg SCK2 和CLR放在一起不能仿真
将CLR去掉就可以仿真了,请问何故

怎样合成这样一个信号!
异步清零
应该是可以的

怎样合成这样一个信号!
always@(posedge SCLK2 or CLR)
应该是:
always@(posedge SCLK2 or negedge CLR)

怎样合成这样一个信号!
可是该文件编译的结果是:0单元啊?不能综合吗?

把SCLK2改成SCK2,使命名一致

怎样合成这样一个信号!
怎么这么多错误:(

怎样合成这样一个信号!
编译结束之后,发现它编译结果为0啊!是不是不能综合啊?这是为什么啊?

怎样合成这样一个信号!
在fpga没问题

怎样合成这样一个信号!
为什么用不同的器件仿真的波形不一样,我用FLEX10KE系列仿真波形中每个周期有两个脉冲,而用ACEX1K系列则波形符合要求。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top