louis_hioe
驱动小牛
驱动小牛
  • 注册日期2003-04-23
  • 最后登录2008-12-18
  • 粉丝0
  • 关注0
  • 积分12分
  • 威望22点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
阅读:1342回复:12

CPLD新手

楼主#
更多 发布于:2003-08-07 21:14
请教:如何在CPLD中实现从8位总线升为32位总线?

最新喜欢:

wwenguangwwengu...
zxw_top
驱动大牛
驱动大牛
  • 注册日期2003-07-18
  • 最后登录2020-04-26
  • 粉丝0
  • 关注0
  • 积分1116分
  • 威望2537点
  • 贡献值0点
  • 好评度202点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2003-08-07 21:47
你定义1个32位寄存器,第一次传低8位,第二次传第2个8位,分4次传输一个32位数据,在一次读出或写入这个32位寄存器。
...
signal  iobuf : std_logic_vector(31 downto 0);
signal  wr_en : std_logic_vector(1 downto 0);
...

process(we,rst)
 begin  if rst=\'0\' then wr_en<=\"00\";
        elsif rising_edge(we) then wr_en<=wr_en+1;
        end if ;
        if rst=\'0\' then iobuf(7 dwonto 0)<=(others=>\'0\');
        elsif rising_edge(we) then
        if wr_en=\"00\" then
        iobuf(7 dwonto 0)<=datain(7 downto 0);
        end if;end if;
       if rst=\'0\' then iobuf(15 dwonto 8)<=(others=>\'0\');
        elsif rising_edge(we) then
        if wr_en=\"01\" then
        iobuf(15 dwonto 8)<=datain(7 downto 0);
        end if;end if;
        if rst=\'0\' then iobuf(23 dwonto 16)<=(others=>\'0\');
        elsif rising_edge(we) then
        if wr_en=\"10\" then
        iobuf(23 dwonto 16)<=datain(7 downto 0);
        end if;end if;
        ....
green_pine
驱动太牛
驱动太牛
  • 注册日期2002-10-22
  • 最后登录2019-06-10
  • 粉丝3
  • 关注0
  • 积分48分
  • 威望599点
  • 贡献值1点
  • 好评度144点
  • 原创分0分
  • 专家分0分
  • 社区居民
板凳#
发布于:2003-08-08 08:19
最好使用一个8位转32位的fifo
louis_hioe
驱动小牛
驱动小牛
  • 注册日期2003-04-23
  • 最后登录2008-12-18
  • 粉丝0
  • 关注0
  • 积分12分
  • 威望22点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-08-08 14:48
论坛老大,推荐一款FIFO吧!
binbinchen
驱动中牛
驱动中牛
  • 注册日期2003-08-05
  • 最后登录2004-08-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-08-08 14:53
成型的fifo没用过,我用fpga做个一个
zxw_top
驱动大牛
驱动大牛
  • 注册日期2003-07-18
  • 最后登录2020-04-26
  • 粉丝0
  • 关注0
  • 积分1116分
  • 威望2537点
  • 贡献值0点
  • 好评度202点
  • 原创分0分
  • 专家分0分
  • 社区居民
5楼#
发布于:2003-08-08 15:02
altera里面的宏库有: lpm_fifo,很好用
louis_hioe
驱动小牛
驱动小牛
  • 注册日期2003-04-23
  • 最后登录2008-12-18
  • 粉丝0
  • 关注0
  • 积分12分
  • 威望22点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-08-08 15:46
请教斑竹,在Max+PlusII平台下,如何更改像电压摆率等这样的设置?
zxw_top
驱动大牛
驱动大牛
  • 注册日期2003-07-18
  • 最后登录2020-04-26
  • 粉丝0
  • 关注0
  • 积分1116分
  • 威望2537点
  • 贡献值0点
  • 好评度202点
  • 原创分0分
  • 专家分0分
  • 社区居民
7楼#
发布于:2003-08-08 20:51
在assign下的golbal project logic synthesis中的define synthesis style 中的 slow slew rate这一项打勾可以选择慢摆率,增加驱动。
louis_hioe
驱动小牛
驱动小牛
  • 注册日期2003-04-23
  • 最后登录2008-12-18
  • 粉丝0
  • 关注0
  • 积分12分
  • 威望22点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2003-08-09 18:59
请教斑竹,更改电压摆率能够使脉冲的边沿变陡吗?如果不行,那么什么方法可以呢?谢谢!
zxw_top
驱动大牛
驱动大牛
  • 注册日期2003-07-18
  • 最后登录2020-04-26
  • 粉丝0
  • 关注0
  • 积分1116分
  • 威望2537点
  • 贡献值0点
  • 好评度202点
  • 原创分0分
  • 专家分0分
  • 社区居民
9楼#
发布于:2003-08-09 23:47
改变摆率只能改变扇入扇出的驱动能力,如果希望时钟的上升时间尽可能短,加外部上拉,或者使用外部驱动器。
也可以优化你的逻辑,使你的输出延迟变小
louis_hioe
驱动小牛
驱动小牛
  • 注册日期2003-04-23
  • 最后登录2008-12-18
  • 粉丝0
  • 关注0
  • 积分12分
  • 威望22点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2003-08-14 19:29
请教斑竹,我的输出脉冲是由计数器实现的,有何优化方法?
zxw_top
驱动大牛
驱动大牛
  • 注册日期2003-07-18
  • 最后登录2020-04-26
  • 粉丝0
  • 关注0
  • 积分1116分
  • 威望2537点
  • 贡献值0点
  • 好评度202点
  • 原创分0分
  • 专家分0分
  • 社区居民
11楼#
发布于:2003-08-14 22:58
输出加缓冲寄存器,可以有效提高速度和波形,同时注意输入的信号,
计数器最好使用宏计数器.
link_bridge
驱动巨牛
驱动巨牛
  • 注册日期2002-11-28
  • 最后登录2011-05-15
  • 粉丝0
  • 关注0
  • 积分31分
  • 威望13点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2003-08-25 11:00
请问

宏计数器.

和一般计数器有可区别呢?
 
游客

返回顶部