搜索
bottom↓
回复: 8

关于VHDL语言中的赋值的问题!

[复制链接]

出0入0汤圆

发表于 2010-5-26 21:14:24 | 显示全部楼层 |阅读模式
p6: process(clk,speed)
begin
if (clk'event and clk='1') then
    if speed ='1' then
        clk1<=not clk1;       
    else
        clk1<=clk;
     end if;
end if;
end process;
这是我的一个进程,意思是一个拨动开关“speed”拨到有效(1)时,对clk信号二分频给clk,如果是0的话,就直接把clk信号赋值给clk1。
剩下的进程都是以clk1的上升沿为条件发生的。
现在的问题是,我在试验中看到了clk二分频后的实验结果,然后另一种情况就是没有任何现象,对于clk信号直接赋值给clk1的语句,理论上是没错的。仿真显示
“speed=‘0’”时,clk1没有方波信号!
原VHD程序ourdev_557241.txt(文件大小:7K) (原文件名:caideng.txt)
这难道就是信号的赋值语句在进程结束后才赋值的原因?
期待高手的解答!!!

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2010-5-26 21:23:05 | 显示全部楼层
如果speed是0的话,就直接把clk信号赋值给clk1--------因为你事件clk'event and clk='1'才处理clk1输出,此时clk=1,显然输出一直为1。

出0入0汤圆

 楼主| 发表于 2010-5-26 22:21:24 | 显示全部楼层
谢谢楼上的回复!!!
那对于我的程序而言,怎样实现clk1<=clk信号的赋值呢?
可能这个问题有点不可理喻,呵呵~~

出0入0汤圆

 楼主| 发表于 2010-5-26 22:25:03 | 显示全部楼层
看这样行不行:在clk的上升沿和下降沿,把clk1<=clk。

出0入0汤圆

发表于 2010-5-26 22:25:25 | 显示全部楼层
回复【2楼】woshiyean
谢谢楼上的回复!!!
那对于我的程序而言,怎样实现clk1&lt;=clk信号的赋值呢?
可能这个问题有点不可理喻,呵呵~~
-----------------------------------------------------------------------

不想麻烦就这样:分两部分,一个是2分频,一个是数据选择器。当然也能写到一个进程

出0入4汤圆

发表于 2010-5-27 09:04:36 | 显示全部楼层
p6: process(clk,speed)
begin
if( speed ='0' ) then
    clk1 <= clk;
elsif (clk'event and clk='1') then
    clk1 <= not clk1;
end if;
end process;

出0入0汤圆

 楼主| 发表于 2010-5-27 21:31:12 | 显示全部楼层
回复【5楼】qinxg  
-----------------------------------------------------------------------

这样是最佳的答案了呵!

出0入0汤圆

发表于 2010-5-27 21:57:33 | 显示全部楼层
回复【6楼】woshiyean
回复【5楼】qinxg   
-----------------------------------------------------------------------
这样是最佳的答案了呵!
-----------------------------------------------------------------------

你那时钟用在有的场合要注意,因为相对输入时钟两种输出时钟有不一致的延迟。最好还是根据SEPPD,使用一个速度比你目前高一倍的时钟(一个节拍或两个节拍)来做动作

出0入0汤圆

 楼主| 发表于 2010-5-28 20:14:40 | 显示全部楼层
回复【7楼】888888888888  
-----------------------------------------------------------------------

我现在的设计要求还没有那么严格的时序,不过,谢谢888888888888 的提醒,我会作为把一个问题考虑周密的习惯听取你的意见的!谢谢,呵呵~~~
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-6-15 05:02

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表