打印

帮我解释一句流水灯程序。

[复制链接]
1513|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
logokfu|  楼主 | 2012-5-20 17:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这个是流水灯程序,很简单,我看不懂,红色部分我看不明白,懂得的朋友帮我解释下。谢谢!


LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY shift8 IS
PORT(clk: IN STD_LOGIC;  
     q: BUFFER STD_LOGIC_VECTOR (5 DOWNTO 0));
END shift8;

ARCHITECTURE fun OF shift8 IS
SIGNAL b:STD_LOGIC_VECTOR (5 DOWNTO 0):="100000";
BEGIN
    PROCESS(clk)
    BEGIN
  IF(clk'EVENT AND clk='1')
  THEN
   b<=b(0)&b(5 DOWNTO 1);
   q<=b;

  END IF;
    END PROCESS;
END fun;

相关帖子

沙发
GoldSunMonkey| | 2012-5-20 23:51 | 只看该作者
每次在时钟上升沿的时候把b的最低位提到最高位。
比方该例子中b=100000, 下一个上升沿变成了010000,然后下一个上升沿变成了001000,这个就可看见灯不停变换闪耀。

使用特权

评论回复
板凳
GoldSunMonkey| | 2012-5-26 18:17 | 只看该作者
:)谢谢分数~

使用特权

评论回复
地板
gkb986| | 2012-5-26 22:18 | 只看该作者
用b的高5位(5 DOWNTO 1)与b相与,即第一次10000&000000=010000,第二次01000&000000=001000,低位对齐,PS:还是学verilog吧!VHDL太麻烦!

使用特权

评论回复
5
wangweidgv| | 2012-5-31 14:32 | 只看该作者
只会Verilog的飘过、、、

使用特权

评论回复
6
GoldSunMonkey| | 2012-5-31 22:46 | 只看该作者
:)

使用特权

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

本版积分规则

76

主题

2646

帖子

7

粉丝