Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

搜索
1 2 3 4
查看: 16828|回復: 9
打印 上一主題 下一主題

[問題求助] Verilog用for語法寫合成,不可行嗎?

[複製鏈接]
跳轉到指定樓層
1#
發表於 2008-9-15 11:22:16 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
開發程式使用for語法寫出可合成單元,在主管知道後下令不准用。因為此事件我也離開此部門。我想知道的是for語法合成會有問題嗎?
+ h5 p2 F8 M" E+ k1 ^+ G9 X此事已經多年,我就純技術上想知道結果。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
2#
發表於 2008-9-15 12:54:10 | 只看該作者

Verilog用for語法寫合成,不可行嗎?

以我的看法是可行的,但是for的使用會大量消耗你的FPGA硬體資源以及速度,所以不建議使用!
3#
 樓主| 發表於 2008-9-15 13:52:14 | 只看該作者
我是認為合成的出來,只要驗證有穩就行了。無奈人事之間的問題並非技術可解,他要你走就是用這種理由,上層也信。後來我轉部門,還封殺我碰硬體。今年他終於離開公司,那個演算法公司仍無人解。我只是做個準備,問問有無問題吧了。
4#
發表於 2008-9-22 22:15:00 | 只看該作者
這是絕對可以的,synthesis只是把妳寫的for給展開來而已
5#
發表於 2008-9-22 22:19:54 | 只看該作者
很多公司都有這種欺下瞞上的小主管阿
6#
發表於 2008-10-23 11:19:35 | 只看該作者
for语句太占资源,假如你用for来循环100次,综合出来的结果就有100个相同的硬件 资源,我是这样理解的,请各位大大们指点迷津!!
7#
發表於 2008-10-23 12:35:59 | 只看該作者
您好
' f, i/ m4 e8 t& U你的設計,本來不就是會有100個相同的硬件嗎
- U5 s) `  U: S那麼用for可以簡化描述,用for 寫出的源碼可以比較簡潔
  [6 C2 B5 Q& z
% V$ U4 p3 ^0 @3 h3 f假設你的設計會佔50% 的資源) l/ h$ c/ S0 [# A* s3 t( F9 P, M
那麼用for的寫法,要100行的源碼
1 M" Y- j; m9 m$ u2 X, d& j2 _不用for可能要1000行
, b4 @- \5 @2 L9 t  h1 _9 n6 g+ Q3 b. C2 m1 Q& v
一樣的功能,佔相同的資源
8#
 樓主| 發表於 2008-10-29 09:35:42 | 只看該作者
認同。
# x5 Y3 v/ D' @6 F6 U& E. O) |+ q8 a, o之前那件事,主管確實就是我要用if寫。9 N8 Z, t2 G/ @' B8 h- z
可是我是覺得那是無重覆使用的程式碼。可以改為具有規則性的for描述。
; E8 w3 G+ V; m4 V+ a4 N* G不過,個人認知是:3 k  ?0 a; e: L" p+ u+ Q( s
每天都在用Compiler,不管是C/C++或是Verilog/VHDL,都只是在用Compiler。
3 j: Y- e0 ?5 W, K7 U' H( ?Compiler不好,不能限定人的思考。被語法限定了,那就被束縛了。
7 Q9 ], S0 o8 \# F, L, ]5 R只要一天用電腦,就不可能不用電腦語言。要善用電腦,就要了解Compiler原理。
1 f5 d5 ^( n# |1 S: F這是我做電子時的認知,只是當時不被認同。
9#
發表於 2008-11-4 09:28:42 | 只看該作者
但是Verilog屬硬體描述語言,所以要以硬體的想法去寫,若把Verilog當成程式語言來寫,只會多出一堆不必要的邏輯,因此才發展出DSP for VLSI 阿....,所以禁用for,改以DSP來設計for的硬體/ T# r% S& h6 N" Q1 |. N4 s

/ j6 q2 M! z& n& W" V  T3 V# op.s. 此DSP 為 Digital signal processing
10#
 樓主| 發表於 2008-11-6 17:21:54 | 只看該作者

唉!又是一個把Compiler和電腦程式混起來的人。

Compiler只是把程式轉成可以執行的機器碼。轉成電晶體結構檔,也是一種機器碼。只是電晶體結構檔無法像電腦程式一樣載入執行,要經由電子程序實現。
9 ^$ G# L' K3 {. J6 p( q$ o. E! u只是HDL主要是描述平行處理結構的語言,而Verilog僅採用C的語法表示。確實很多生手以為是電腦C語言。& K- f# R* |7 ]( c
以電腦一次執行一個指令的方法來寫HDL,一定是寫不好。- h2 A: y' L. Y+ x2 z' g: D9 F
for對我來說,只是一個具索引描述。又不會一行行執行,本就是處理平行結構的事。2 a+ ]3 c( b4 G# g8 F! Y: ?
如果對for有意見,請提出會出問題的地方,像是容易誤用等等的例子。
/ j- v+ H9 S9 Q- W: a( C" \不然只是一再重覆"工具限定人之思考"的框框中。
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

首頁|手機版|Chip123 科技應用創新平台 |新契機國際商機整合股份有限公司

GMT+8, 2024-6-13 07:57 PM , Processed in 0.123016 second(s), 18 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表