我来我网
https://5come5.cn
 
您尚未 登录  注册 | 菠菜 | 软件站 | 音乐站 | 邮箱1 | 邮箱2 | 风格选择 | 更多 » 
 

本页主题: 用Verilog实现五分频 显示签名 | 打印 | 加为IE收藏 | 收藏主题 | 上一主题 | 下一主题

lixunhuan



性别: 帅哥 状态: 该用户目前不在线
等级: 品行端正
发贴: 461
威望: 0
浮云: 1039
在线等级:
注册时间: 2006-11-24
最后登陆: 2018-12-28

5come5帮你背单词 [ universe /'ju:nivə:s/ n. 宇宙 ]


用Verilog实现五分频

如题 那位蝈蝈知道的 请教~~~~~~~~~~~~~~
顶端 Posted: 2007-11-01 19:35 | [楼 主]
tao



性别: 帅哥 状态: 该用户目前不在线
等级: 栋梁之材
发贴: 813
威望: 4
浮云: 1145
在线等级:
注册时间: 2006-04-28
最后登陆: 2009-03-27

5come5帮你背单词 [ highlight /'hailait/ n. 最重要的部分,最精彩的场面;vt. 使显著,使突出,着重 ]


5分频,奇数分频都可以类似这么做,只需要改div1和div2的参数。div1为奇数分频除2的余数。采用上升延和下降延分别触发不同波形,最后叠加的方式产生奇数分频。
module divfreq(clk, clk1x, rst, clk1xpose, clk1xnege, coutpose, coutnege);
input clk;
input rst;
output clk1x;
output clk1xpose;
output clk1xnege;
output[2:0] coutpose;
output[2:0] coutnege;
reg clk1xpose;
reg clk1xnege;
reg[2:0] coutpose;
reg[2:0] coutnege;
parameter div1 = 2 , div2 = 4;  // div1 = 5 / 2, div2 = 5 - 1
assign clk1x = clk1xpose | clk1xnege;
always@(posedge clk or negedge rst)
begin
  if(!rst)
 
    clk1xpose = 0;

  else if(coutpose == div1)
    clk1xpose = ~clk1xpose;
  else if(coutpose == div2)
    clk1xpose = ~clk1xpose;
  else
    clk1xpose = clk1xpose;
end
always@(negedge clk or negedge rst)
begin
  if(!rst)
 
    clk1xnege = 0;

  else if(coutnege == div1)
  clk1xnege = ~clk1xnege;
  else if(coutnege == div2)
  clk1xnege = ~clk1xnege;
  else
  clk1xnege = clk1xnege;
end
always@(posedge clk or negedge rst)
begin
  if(!rst)
  coutpose = 0;
  else if(coutpose == div2)
  coutpose = 0;
  else
  coutpose = coutpose + 1;
end
always@(negedge clk or negedge rst)
begin
  if(!rst)
  coutnege = 0;
  else if(coutnege == div2)
  coutnege = 0;
  else
  coutnege = coutnege + 1;
end
endmodule
本帖最近评分记录:
  • 浮云:10(goldgene) 解答
  • 顶端 Posted: 2007-11-01 22:38 | [1 楼]
    我来我网·5come5 Forum » 电子设计·数学建模

    Total 0.015772(s) query 8, Time now is:12-28 22:16, Gzip enabled
    Powered by PHPWind v5.3, Localized by 5come5 Tech Team, 黔ICP备16009856号