来试试:看真值表,用verilog或vhdl描述

[复制链接]
5439|4
 楼主| liwensir 发表于 2007-12-1 16:44 | 显示全部楼层 |阅读模式
    大伙帮忙看看下面这个真值表如何用verilog或者vhdl描述:
yimaoqian 发表于 2007-12-2 19:44 | 显示全部楼层

不好意思temp2 改成temp

  
 楼主| liwensir 发表于 2007-12-6 14:40 | 显示全部楼层

好像有点问题哦

&nbsp;&nbsp;&nbsp;&nbsp;楼上大哥,谢了阿,但你的做法还有问题,你只在脉冲的上升沿更新寄存器的值好像还不行吧,你看看下面这个图,t3时刻temp的值应该是“1”,但按你的程序是“0“,<br /><br />
 楼主| liwensir 发表于 2007-12-11 09:34 | 显示全部楼层

难道没人会写吗?

&nbsp;&nbsp;自己顶一下先!
 楼主| liwensir 发表于 2007-12-19 15:16 | 显示全部楼层

参考答案之一

module&nbsp;easy(f8,f7,f6,f5,f4,f3,f2,f1,O6,O7,O8,pl,cp,ds);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />input&nbsp;f8,f7,f6,f5,f4,f3,f2,f1;<br />input&nbsp;pl,cp,ds;<br />output&nbsp;O6,O7,O8;&nbsp;<br />reg&nbsp;[7:0]&nbsp;fifo;<br />reg&nbsp;[7:0]&nbsp;buff;<br />reg&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;state1;<br />///////////////////////<br />assign&nbsp;&nbsp;&nbsp;O6=&nbsp;pl?&nbsp;f6:&nbsp;(&nbsp;state1?buff[5]:(fifo[5])&nbsp;);<br />assign&nbsp;&nbsp;&nbsp;O7=&nbsp;pl?&nbsp;f7:&nbsp;(&nbsp;state1?buff[6]:(fifo[6])&nbsp;);<br />assign&nbsp;&nbsp;&nbsp;O8=&nbsp;pl?&nbsp;f8:&nbsp;(&nbsp;state1?buff[7]:(fifo[7])&nbsp;);&nbsp;<br />/////////////////////////<br />always@(posedge&nbsp;pl&nbsp;or&nbsp;posedge&nbsp;cp)<br />if(pl)<br />&nbsp;&nbsp;&nbsp;&nbsp;state1&lt=1;<br />else<br />&nbsp;&nbsp;&nbsp;&nbsp;state1&lt=0;<br />//////////////////////////<br />always&nbsp;@(negedge&nbsp;pl)<br />buff&lt={f8,f7,f6,f5,f4,f3,f2,f1};<br />/////////////////////////<br />always@(posedge&nbsp;cp)<br />if(state1)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fifo&lt={buff[6:0],ds};<br />else&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fifo&lt={fifo[6:0],ds};&nbsp;<br />////////////////////////<br />&nbsp;<br />endmodule
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

6

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部