阅读:1342回复:12
CPLD新手
请教:如何在CPLD中实现从8位总线升为32位总线?
|
|
最新喜欢:wwengu... |
沙发#
发布于: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; .... |
|
板凳#
发布于:2003-08-08 08:19
最好使用一个8位转32位的fifo
|
|
地板#
发布于:2003-08-08 14:48
论坛老大,推荐一款FIFO吧!
|
|
地下室#
发布于:2003-08-08 14:53
成型的fifo没用过,我用fpga做个一个
|
|
5楼#
发布于:2003-08-08 15:02
altera里面的宏库有: lpm_fifo,很好用
|
|
6楼#
发布于:2003-08-08 15:46
请教斑竹,在Max+PlusII平台下,如何更改像电压摆率等这样的设置?
|
|
7楼#
发布于:2003-08-08 20:51
在assign下的golbal project logic synthesis中的define synthesis style 中的 slow slew rate这一项打勾可以选择慢摆率,增加驱动。
|
|
8楼#
发布于:2003-08-09 18:59
请教斑竹,更改电压摆率能够使脉冲的边沿变陡吗?如果不行,那么什么方法可以呢?谢谢!
|
|
9楼#
发布于:2003-08-09 23:47
改变摆率只能改变扇入扇出的驱动能力,如果希望时钟的上升时间尽可能短,加外部上拉,或者使用外部驱动器。
也可以优化你的逻辑,使你的输出延迟变小 |
|
10楼#
发布于:2003-08-14 19:29
请教斑竹,我的输出脉冲是由计数器实现的,有何优化方法?
|
|
11楼#
发布于:2003-08-14 22:58
输出加缓冲寄存器,可以有效提高速度和波形,同时注意输入的信号,
计数器最好使用宏计数器. |
|
12楼#
发布于:2003-08-25 11:00
请问
宏计数器. 和一般计数器有可区别呢? |
|