在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2409|回复: 5

谁能回答我的问题?

[复制链接]
发表于 2006-9-4 09:44:57 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
请看下面的两段代码有什么区别??
感觉读写地址的数据类型不一样,但下面的代码是非同步读而上面的代码是同步读RAM,那位能告诉我为甚么???

Example 6–12. VHDL Single-Clock Synchronous RAM Without Read-Through-Write Behavior
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
ENTITY ram IS
PORT (
clock: IN STD_LOGIC;
data: IN STD_LOGIC_VECTOR (2 DOWNTO 0);
write_address: IN INTEGER RANGE 0 to 31;
read_address: IN INTEGER RANGE 0 to 31;
we: IN STD_LOGIC;
q: OUT STD_LOGIC_VECTOR (2 DOWNTO 0)
);
END ram;

ARCHITECTURE rtl OF ram IS
TYPE MEM IS ARRAY(0 TO 31) OF STD_LOGIC_VECTOR(2 DOWNTO 0);
SIGNAL ram_block: MEM;
BEGIN
PROCESS (clock)
BEGIN
IF (clock'event AND clock = '1') THEN
       IF (we = '1') THEN
              ram_block(write_address) <= data;
       END IF;
       q <= ram_block(read_address);
-- VHDL semantics imply that q doesn't get data
-- in this clock cycle
END IF;
END PROCESS;
END rtl;

------------------------------------

Example 6–18. VHDL Single-Clock Synchronous RAM with Asynchronous Read Address
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
USE ieee.numeric_std.ALL;
ENTITY ram IS
GENERIC (
ADDRESS_WIDTH: integer := 4;
DATA_WIDTH: integer := 8
);
PORT (
clock: IN std_logic;
data: IN STD_LOGIC_VECTOR(DATA_WIDTH - 1 DOWNTO 0);
write_address IN STD_LOGIC_VECTOR (ADDRESS_WIDTH - 1 DOWNTO 0);
read_address IN STD_LOGIC_VECTOR(ADDRESS_WIDTH - 1 DOWNTO 0);
we: IN STD_LOGIC;
q: OUT STD_LOGIC_VECTOR(DATA_WIDTH - 1 DOWNTO 0)
);
END ram;
ARCHITECTURE rtl OF ram IS
TYPE RAM IS ARRAY(0 TO 2 ** ADDRESS_WIDTH - 1) OF std_logic_vector(DATA_WIDTH - 1
DOWNTO 0);
SIGNAL ram_block: RAM;
BEGIN
PROCESS (clock)
BEGIN
IF (clock'event AND clock = '1') THEN
         IF (we = '1') THEN
               ram_block(TO_INTEGER(UNSIGNED(write_address))) <= data;
         END IF;
         q <= ram_block(TO_INTEGER(UNSIGNED(read_address)));
END IF;
END PROCESS;
END rtl;
发表于 2006-9-4 14:56:01 | 显示全部楼层

感觉是一样的

仿真一下看看
 楼主| 发表于 2006-9-4 17:12:02 | 显示全部楼层
哈哈。。。。。这是ALTERA手册上的一段代码!!!!
发表于 2006-9-5 11:08:01 | 显示全部楼层
没看出有什么区别!
发表于 2006-9-5 14:14:26 | 显示全部楼层
没区别啊
发表于 2006-9-6 09:23:48 | 显示全部楼层
有点难啊 刚看了VHDL 基础 不好~和
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

X

小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-6-19 21:46 , Processed in 0.019680 second(s), 9 queries , Gzip On, MemCached On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表