verilog能生产这么快速执行的代码么

[复制链接]
1781|8
 楼主| magic_yuan 发表于 2014-5-18 00:40 | 显示全部楼层 |阅读模式
各位大神,
  刚学VERILOG,有问题如下请教:
     如用 always @(posedge clk)  即CLK的上升沿会触发always语句内部的动作,但有个问题很担心----
     问题:always语句里如果有比较复杂的操作,从而在触发后由于动作复杂还消耗时间太长,导致在一个周期内没有执行完,但下一个时钟周期又来了,这样不是“死”在里面了?   
       我是这么想的,或许综合的时候会通不过?目前我只会用modelsim仿真,多谢啊!
llf021421 发表于 2014-5-18 11:02 | 显示全部楼层
你要把组合逻辑和时序逻辑分开来做
always@(posedge clk)用来描述的是时序逻辑电路,就是给触发器赋值,时间是很快的
always@(*)是用来描述组合逻辑,如果组合逻辑的传播延时太长的吧,就加入流水线或修改组合逻辑,这样会提高时钟频率
huangxz 发表于 2014-5-19 16:03 | 显示全部楼层
硬件不会死的,放心吧,最多产生逻辑混乱
luyaker 发表于 2014-5-19 18:21 | 显示全部楼层
这就是你要解决的所谓时序问题了,要满足建立时间和保持时间,具体你要深入学习,内容比较多
ococ 发表于 2014-5-19 18:51 | 显示全部楼层
楼上正解。
感觉你还是用的软件思维。硬件描述语言没有所谓的死在里面。
要用正确的描述方式也就是代码风格加合适的时序约束来保证你的设计能达到预期的频率。
Magina_xm 发表于 2014-5-21 15:07 | 显示全部楼层
完全是软件的思维,还是得了解下数字电路啊!
haitaox 发表于 2014-5-23 15:16 | 显示全部楼层
你的意思是不是频率太高了,导致时序不满足了
以马内利3005 发表于 2014-5-24 13:16 | 显示全部楼层
学习并行执行的思路~
neufeifatonju 发表于 2014-6-6 15:02 | 显示全部楼层
综合速度上不去,出现不定太呗,硬件不死机的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:发到3000帖时,生活大概完成了一种转折。

359

主题

2770

帖子

7

粉丝
快速回复 在线客服 返回列表 返回顶部