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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 1780|回复: 6

[求助] clk timign問題跟判斷條件請教

[复制链接]
发表于 2016-7-5 14:10:42 | 显示全部楼层 |阅读模式

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

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

x
各位大大好 小的最近在練習FPGA
問題A:目前常看到的CLK用法如下方1所示1.  always@(posedge CLOCK_50, negedge reset)  begin
      if(!reset)

      else if(....)
    end

改用方法2 如下所示 則這個always不會正常work 請問各位大大這甚麼原因呢??

2.  always@(posedge CLOCK_50, posedge reset)  begin
      if(reset)

      else if(....)
    end

問題B:if (Y < (duty*movetime/100) )  //其中duty是變數(reg型態)  movetime是常數=50000 以parameter宣告之

請問各位大大 判斷用的條件可以用除法嗎??  因為我改用duty*500   (500=movetime/100) 用modelsim看訊號 可以正常運作


還請各位大大不吝指教 謝謝大家
发表于 2016-7-5 15:30:20 | 显示全部楼层
复位???????????
 楼主| 发表于 2016-7-5 16:40:23 | 显示全部楼层
回复 2# fascinate_lyd98

大大你好 請問大大復位??? 是指CLK用法有誤嗎???
发表于 2016-7-7 17:22:09 | 显示全部楼层
第一个问题:不知道你外围代码是怎样的,仅这里看的话你改变了reset 的有效电平,估计你是外面reset 的电平没有变,逻辑始终处于复位状态,当然不工作啦。
第二个问题:先回答你的问题,简单点说,你这里可以用。具体的话判断条件和除法没啥必然关系。。。对于verilog 和FPGA 来说,语法都是有适用范围和条件的。你这里如果只做仿真也没啥了,如果要最后上FPGA 的话不推荐这样写。如果duty 是常数的话也还好,不是常数的话综合下来要看你软件设置了。
大胆猜测一下感觉你是新手直接上的。。。第一个问题像是没有基本的verilog 语法。第二个问题是没有FPGA 开发的相关概念。没猜错的话楼主加油!做逻辑都是一点点来的。
发表于 2016-7-7 18:14:24 | 显示全部楼层
GREAT
 楼主| 发表于 2016-9-10 19:11:32 | 显示全部楼层
回复 4# iidestiny

謝謝大大的解說呢 了解了
可是問題1部分 我都有用modelsim看訊號過 而改使用法二(輸入測試訊號不變) 則 always的reset不會觸發
而導自else if (...) 內的code不會動作


我reset訊號事先0後1的測試訊號  給一個正緣觸發 這樣子用
always(posedge clk, posedge reset) begin


if (reset)


else if (....)


end  


我覺得應該會觸發if條件式才對?? 還是因為這時候 抓到的reset值是0 所以if的條件是不成立呢??
 楼主| 发表于 2016-9-10 19:12:57 | 显示全部楼层
回复 5# indeeseye

謝謝大大唷~~~~~~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-5-6 07:06 , Processed in 0.025340 second(s), 8 queries , Gzip On, Redis On.

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