linbo411 发表于 2015-12-3 08:33:12

请帮忙分析CPLD综合后生成的8分频电路

CPLD综合以后的电路,有几个地方没看懂4'h1,5'h03,1'h0

yuyu87 发表于 2015-12-3 08:49:36

来个verilog代码,而不是综合图,

linbo411 发表于 2015-12-3 09:43:00

yuyu87 发表于 2015-12-3 08:49
来个verilog代码,而不是综合图,

代码很简单,我就是想看懂这个电路图

sme 发表于 2015-12-3 12:56:43

最左边加法器是实现DIV8加1,然后经过2选1,给DIV8清0重新开始计数,清0条件是计数计到3。这样计数状态共有0/1/2/3 共4种计数值。最后一个触发器用来做二分频。这样先除4再除2,就是除8了。

linbo411 发表于 2015-12-3 13:48:55

sme 发表于 2015-12-3 12:56
最左边加法器是实现DIV8加1,然后经过2选1,给DIV8清0重新开始计数,清0条件是计数计到3。这样计数状态共有 ...

4'h1,5'h03,1'h0 这个是什么东西

daFish 发表于 2015-12-3 14:13:16

linbo411 发表于 2015-12-3 13:48
4'h1,5'h03,1'h0 这个是什么东西

就是“多少位”“什么进制”的“数值多少”{:sweat:}

sme 发表于 2015-12-3 15:52:15

linbo411 发表于 2015-12-3 13:48
4'h1,5'h03,1'h0 这个是什么东西

你这是浪费别人的时间,就好像2+3=5,你不认识2/3/5,然后问为什么这个式子是这么算的。。。

3DA502 发表于 2015-12-3 16:02:39

呵呵哒   你是一页书都不看,净等着问了

linbo411 发表于 2015-12-3 17:41:12

3DA502 发表于 2015-12-3 16:02
呵呵哒   你是一页书都不看,净等着问了

确实没找到哪本书上讲这个内容的,你知道麻烦你推荐一下

linbo411 发表于 2015-12-3 17:48:29

sme 发表于 2015-12-3 15:52
你这是浪费别人的时间,就好像2+3=5,你不认识2/3/5,然后问为什么这个式子是这么算的。。。 ...

我承认我不懂,也没找到书上有讲这个的,麻烦你推荐一个入门级的书籍

Nuker 发表于 2015-12-4 01:08:05

这根本就不是综合之后的电路

YFM 发表于 2015-12-4 04:17:31

linbo411 发表于 2015-12-3 17:48
我承认我不懂,也没找到书上有讲这个的,麻烦你推荐一个入门级的书籍

数字电路基础Verilog HDL基础

linbo411 发表于 2015-12-4 09:08:14

Nuker 发表于 2015-12-4 01:08
这根本就不是综合之后的电路

你这么确定?我有必要拿这个骗你吗

linbo411 发表于 2015-12-4 09:11:03

YFM 发表于 2015-12-4 04:17
数字电路基础Verilog HDL基础

4'h1,5'h03,1'h0 verilog 有这个说明吗? 数字电路看的懂,主要这几个符号。我学的是VHDL没发现这些符号,结果被人嘲笑了

linbo411 发表于 2015-12-4 09:14:08

sme 发表于 2015-12-3 15:52
你这是浪费别人的时间,就好像2+3=5,你不认识2/3/5,然后问为什么这个式子是这么算的。。。 ...

我学的用的VHDL,这个是 Verilog HDL语法里面的吧

wiser803 发表于 2015-12-4 09:41:11

看电路图,这三个输入应该是常量值。第一个好像是预置数,用于与计数器输出相加,若为零计数器复位。第二第三个,应该是比较常量,用于与计数器输出比较,若相等,输出复位。lz你的图太小,看不太清楚,只能大致分析这样了。

Nuker 发表于 2015-12-4 12:33:31

linbo411 发表于 2015-12-4 09:08
你这么确定?我有必要拿这个骗你吗

火气还不小,我读书少,你就算骗我我也没办法。
这是RTL view,不是Netlist view,综合做的事情就是RTL to Netlist

DepravedLucien 发表于 2015-12-4 13:51:21

4'h1 就是计数器不断加1的那个“1”;5'h03我猜想你RTL代码中是不是定义了5位数值用作比较,比如if(div8 == 5'h3),1'h0就是因为比较的是五位,所以添加了1位高位;

jm2011 发表于 2015-12-5 13:27:56

看楼上的吧,感觉说的有道理;

always @(posedge clk)
    if( 5'h3 == count ) en <= 1;
    else                en <= 0;
   
always @(posedge clk)
    if( !en ) count <= A + 4'h1;
    else      count <= 0;
   
always @(posedge clk)
    if( en ) VFCLK <= !VFCLK;

   

jm2011 发表于 2015-12-5 13:47:42

上面的效果不太好,换了一个软件重新画:
页: [1]
查看完整版本: 请帮忙分析CPLD综合后生成的8分频电路