Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

[複製鏈接]
跳轉到指定樓層
1#
發表於 2008-9-15 11:22:16 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
開發程式使用for語法寫出可合成單元,在主管知道後下令不准用。因為此事件我也離開此部門。我想知道的是for語法合成會有問題嗎?
( g) `6 {4 d- j* `& J) y此事已經多年,我就純技術上想知道結果。
分享到:  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 | 只看該作者
您好; i. j' b, W+ z
你的設計,本來不就是會有100個相同的硬件嗎
( ~1 H  `) z& @8 m% p7 x那麼用for可以簡化描述,用for 寫出的源碼可以比較簡潔  ?$ N0 F) v; `5 S) A

" Z) u$ |5 A" N! G+ }假設你的設計會佔50% 的資源% M$ O, l$ ^9 @% e" ~
那麼用for的寫法,要100行的源碼; K0 d; T6 J* R4 N5 s" k6 J4 g  ~+ q
不用for可能要1000行
* r' s2 v- e" R( d  D9 C0 z* F2 f1 W: Y! A, O; J
一樣的功能,佔相同的資源
8#
 樓主| 發表於 2008-10-29 09:35:42 | 只看該作者
認同。' m( o( m+ |# S  ]1 @
之前那件事,主管確實就是我要用if寫。2 ^+ u# w. v. l6 R" p4 p
可是我是覺得那是無重覆使用的程式碼。可以改為具有規則性的for描述。) ~0 s: n. ^+ |, X7 B* o: Y
不過,個人認知是:; h* v/ x9 ]) f  h& T  t; w( q9 y
每天都在用Compiler,不管是C/C++或是Verilog/VHDL,都只是在用Compiler。
+ H2 y( D- ~4 h* [$ ?; {8 S/ r4 hCompiler不好,不能限定人的思考。被語法限定了,那就被束縛了。* Q2 e3 L  F% R) W1 e0 \6 A- L9 W
只要一天用電腦,就不可能不用電腦語言。要善用電腦,就要了解Compiler原理。
6 Z- y+ C( E% ?, d6 K這是我做電子時的認知,只是當時不被認同。
9#
發表於 2008-11-4 09:28:42 | 只看該作者
但是Verilog屬硬體描述語言,所以要以硬體的想法去寫,若把Verilog當成程式語言來寫,只會多出一堆不必要的邏輯,因此才發展出DSP for VLSI 阿....,所以禁用for,改以DSP來設計for的硬體: W% _6 ^9 o4 m2 `* B9 p. Z
/ S' n  c1 a4 s2 m% F/ f0 X
p.s. 此DSP 為 Digital signal processing
10#
 樓主| 發表於 2008-11-6 17:21:54 | 只看該作者

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

Compiler只是把程式轉成可以執行的機器碼。轉成電晶體結構檔,也是一種機器碼。只是電晶體結構檔無法像電腦程式一樣載入執行,要經由電子程序實現。; |+ y) e# ?6 R' j' g  ]
只是HDL主要是描述平行處理結構的語言,而Verilog僅採用C的語法表示。確實很多生手以為是電腦C語言。
: D* @/ N) d* O4 I& e' S4 i以電腦一次執行一個指令的方法來寫HDL,一定是寫不好。0 S, g( R7 U( c* ?
for對我來說,只是一個具索引描述。又不會一行行執行,本就是處理平行結構的事。
- [3 g/ R0 r# y如果對for有意見,請提出會出問題的地方,像是容易誤用等等的例子。0 W* V& p/ [: Y6 U  K4 ~6 Q2 q  k( x
不然只是一再重覆"工具限定人之思考"的框框中。
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-6-4 05:51 PM , Processed in 0.138018 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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