4307|11

198

帖子

0

TA的资源

纯净的硅(初级)

楼主
 

请教一些FPGA的问题 [复制链接]

请教一些FPGA的问题:

1.大家在写程序的时候,信号的赋值延时一般设多少,例如 S_1<=S_2 afer 2 ns

2.看了网上的一个代码,在定义输出时用到:

   port(

......

out_1:out buffer std_logic

......

 

这个buffer在这里是什么用途?

此帖出自FPGA/CPLD论坛

最新回复

基本上要理解这句话!   FPGA/CPLD 程序是设计出来的,而不是仿出来的!  详情 回复 发表于 2011-4-22 14:24
点赞 关注
 

回复
举报

6892

帖子

0

TA的资源

五彩晶圆(高级)

沙发
 

信号延时语句,用于仿真. 对于综合器是不识别的.buffer 表示该输出变量可以用于做内部寄存器使用!

此帖出自FPGA/CPLD论坛
个人签名一个为理想不懈前进的人,一个永不言败人!
http://shop57496282.taobao.com/
欢迎光临网上店铺!
 
 

回复

198

帖子

0

TA的资源

纯净的硅(初级)

板凳
 
恩,我的疑问是问设置多少延迟时间,才是比较贴近实际的。
此帖出自FPGA/CPLD论坛
 
 
 

回复

198

帖子

0

TA的资源

纯净的硅(初级)

4
 

buffer我试过了,就是可以在entity内部可以回读的out

entity test_buffer is
    Port ( clk : in  STD_LOGIC;
           in1 : in  STD_LOGIC;
           out1 :  buffer STD_LOGIC);
end test_buffer;

architecture Behavioral of test_buffer is

begin
p_reg1: process (clk)
begin
 if rising_edge (clk) then
  out1<= not out1;
 else
  null;
 end if;
 
end process p_reg1;

end Behavioral;

 

和下面的代码生成的硬件是一样的

entity test_buffer is
    Port ( clk : in  STD_LOGIC;
           in1 : in  STD_LOGIC;
           out1 :  out STD_LOGIC);
end test_buffer;

architecture Behavioral of test_buffer is

begin

signal S_out1: std_logic:='0';
p_reg1: process (clk)
begin
 if rising_edge (clk) then
  S_out1<= not S_out1;
 else
  null;
 end if;
end process p_reg1;

out1<=S_out1;

end Behavioral;

此帖出自FPGA/CPLD论坛
 
 
 

回复

996

帖子

0

TA的资源

一粒金砂(高级)

5
 
VHDL我只是懂理论,实际延时多少我没有经验1~
此帖出自FPGA/CPLD论坛
 
 
 

回复

198

帖子

0

TA的资源

纯净的硅(初级)

6
 

呵呵,看来还是verilog的高手多啊。

我也想改,但是目前的项目已经写了5000多行的vhdl了,思维也是在VHDL上,只好先将就了,以后有机会再说吧。

 

延时那个问题和语言无关吧?在verilog中为了仿真也是要加延时的,请问一般加多少可以让仿真更接近实际?抑或是先看一下后仿真再确定?

请指教!

此帖出自FPGA/CPLD论坛
 
 
 

回复

2734

帖子

0

TA的资源

裸片初长成(初级)

7
 

回复 6楼 qd0090 的帖子

verilog里边一个机器时钟就可以了吧。。。
此帖出自FPGA/CPLD论坛
个人签名我爱电子!
 
 
 

回复

6892

帖子

0

TA的资源

五彩晶圆(高级)

8
 

信号DELAY, 靠时钟周期的记数, 而不是靠语句的!

此帖出自FPGA/CPLD论坛
个人签名一个为理想不懈前进的人,一个永不言败人!
http://shop57496282.taobao.com/
欢迎光临网上店铺!
 
 
 

回复

198

帖子

0

TA的资源

纯净的硅(初级)

9
 

回复 8楼 eeleader 的帖子

呵呵,我是为了行为仿真更接近真实情况。
例如:
if rising_edge (clk) then
S_1<= not S_1;
end if;
在前仿真的时候,S_1是和clk上升沿一起变化的,这显然在硬件上是不可能的,为了让前仿真更贴近真实情况,有人会这样写:S_1<= not S_1 after 2 ns;
我想问的是:
1.这种方法常用么?
2.如果常用,信号的赋值延迟多长时间好呢?
此帖出自FPGA/CPLD论坛
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(中级)

10
 
我的想法是无论你怎么设置都会与实际的贴近程度一样,这个和布局布线的位置有关。一般只是通过添加赋值延迟来模拟寄存器输出延迟,这个延迟有利于我们分析信号传递层次,特别是控制信号。(我的理解可能是错误的)

[ 本帖最后由 stepan 于 2011-4-20 14:21 编辑 ]
此帖出自FPGA/CPLD论坛
 
 
 

回复

104

帖子

0

TA的资源

一粒金砂(中级)

11
 
综合器是不识别的.buffer 表示该输出变量
此帖出自FPGA/CPLD论坛
 
 
 

回复

6892

帖子

0

TA的资源

五彩晶圆(高级)

12
 

基本上要理解这句话!

  FPGA/CPLD 程序是设计出来的,而不是仿出来的!

此帖出自FPGA/CPLD论坛
个人签名一个为理想不懈前进的人,一个永不言败人!
http://shop57496282.taobao.com/
欢迎光临网上店铺!
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表