打印
[verilog]

一个时序电路的问题

[复制链接]
1571|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
沙发
waiter| | 2016-6-4 22:21 | 只看该作者
你这个只是给个图,太模糊了。。

使用特权

评论回复
板凳
waiter| | 2016-6-4 22:22 | 只看该作者
如果cs、rd是固定就是那种输入波形变化,你直接做个计数器计数,在特定计数器值,输出高电平不就行了?

使用特权

评论回复
地板
waiter| | 2016-6-4 22:35 | 只看该作者
要不你就给出你的设计意图,最好给个真值表。
我理解是,CS上升沿时,如果输出原本是低,就保持为低;如果原本输出为高,就把输出切换到低。
              而RD的下降沿处,如果cs为低,那么就把输出切换到高输出;如果这时cs为高,对输出不产生影响。

感觉你这个是某个芯片的两个控制脚,cs是片选,rd是读使能,两个都是低电平有效。
如果是这样,直接判断:
    always @ (posedge clk)   
        output <= (!cs) & (!rd);
也就是说,你那个“输出”,搞得跟cs、rd那种复杂的关系,完全没有必要。
或者说,你根本无法做到输出的上升沿与rd的下降沿在同一个时钟沿。

使用特权

评论回复
5
jetlin1992|  楼主 | 2016-6-4 22:45 | 只看该作者
waiter 发表于 2016-6-4 22:35
要不你就给出你的设计意图,最好给个真值表。
我理解是,CS上升沿时,如果输出原本是低,就保持为低;如果 ...

这是CPLD与DSP通信的程序;
CS是片选,RD是DSP的读信号,输出信号是打算用来控制三态门的;
有三种可能的情况。
写操作:CS=0的过程中RD一直高,输出不变化;
其他芯片的读操作:RD=0的过程中,CS为高,输出也不变化;
对CPLD进行读操作:当RD下降沿,若CS=0,输出变低;RD上升时,输出不变,当CS上升时,输出变高;

使用特权

评论回复
6
jetlin1992|  楼主 | 2016-6-4 22:50 | 只看该作者
waiter 发表于 2016-6-4 22:35
要不你就给出你的设计意图,最好给个真值表。
我理解是,CS上升沿时,如果输出原本是低,就保持为低;如果 ...

使用特权

评论回复
7
玄德| | 2016-6-5 09:44 | 只看该作者

不难吧,很有规律的。

两个输入同时为低时,
设标志,同时输出反转为高;
标志和CS上升沿同时成立,则输出反转为低,同时标志复位。


使用特权

评论回复
8
mcu5i51| | 2016-6-5 10:12 | 只看该作者
好像RS触发就行,一个引脚置位,一个引脚复位

使用特权

评论回复
9
waiter| | 2016-6-5 12:38 | 只看该作者
这不就很清楚了嘛。七楼正解:
  cs为低,RD为高时,CPLD从总线上采样数据,然后lock住,自己内部去想怎么处理就怎么处理;
  cs为低,RD也为低时,CPLD驱动总线,把数据放到总线上后,在cs或者rd任意一个为高后再释放总线驱动就行了。

always @ (posedge clk , negedge rst_b)
    if (!rst_b)
        cpld_smpl <= 1'b0;
    else
        cpld_smpl <= (!cs & rd) ;

always @ (posedge clk , negedge rst_b)
    if (!rst_b)
        cpld_drive_bus <= 1'b0;
    else
        cpld_drive_bus <= !cs & !rd ;

assign bus_data[WIDTH-1:0] = cpld_drive_bus ? cpld_data_out[WIDTH-1:0] : {(WIDTH){1'bz}} ;

使用特权

评论回复
10
mohanwei| | 2016-6-5 14:49 | 只看该作者
算法:把RD设为下降沿中断,CS设为上升沿中断;
然后在这两个中断里判断对方的电平就可以了:
1-RD下降沿中断时,如果CS为低,则把输出拉高,否则不变;
2-CS上升沿中断时,如果RD为高,则把输出拉低,否则不变;

使用特权

评论回复
11
habc987| | 2016-6-11 11:21 | 只看该作者
waiter 发表于 2016-6-5 12:38
这不就很清楚了嘛。七楼正解:
  cs为低,RD为高时,CPLD从总线上采样数据,然后lock住,自己内部去想怎么 ...

这样做可能会有点问题

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

7

主题

15

帖子

0

粉丝