Chip123 科技應用創新平台

標題: Verilog用for語法寫合成,不可行嗎? [打印本頁]

作者: walltsou    時間: 2008-9-15 11:22 AM
標題: Verilog用for語法寫合成,不可行嗎?
開發程式使用for語法寫出可合成單元,在主管知道後下令不准用。因為此事件我也離開此部門。我想知道的是for語法合成會有問題嗎?
6 y" p9 X% j1 Y5 a) O, z此事已經多年,我就純技術上想知道結果。
作者: jinkun    時間: 2008-9-15 12:54 PM
標題: Verilog用for語法寫合成,不可行嗎?
以我的看法是可行的,但是for的使用會大量消耗你的FPGA硬體資源以及速度,所以不建議使用!
作者: walltsou    時間: 2008-9-15 01:52 PM
我是認為合成的出來,只要驗證有穩就行了。無奈人事之間的問題並非技術可解,他要你走就是用這種理由,上層也信。後來我轉部門,還封殺我碰硬體。今年他終於離開公司,那個演算法公司仍無人解。我只是做個準備,問問有無問題吧了。
作者: waynez    時間: 2008-9-22 10:15 PM
這是絕對可以的,synthesis只是把妳寫的for給展開來而已
作者: masonchung    時間: 2008-9-22 10:19 PM
很多公司都有這種欺下瞞上的小主管阿
作者: lkbinbin    時間: 2008-10-23 11:19 AM
for语句太占资源,假如你用for来循环100次,综合出来的结果就有100个相同的硬件 资源,我是这样理解的,请各位大大们指点迷津!!
作者: addn    時間: 2008-10-23 12:35 PM
您好
, W) G& z) R  X6 a, J/ t你的設計,本來不就是會有100個相同的硬件嗎# r, d0 N3 Z0 E5 g1 x3 f7 H
那麼用for可以簡化描述,用for 寫出的源碼可以比較簡潔
/ a3 }1 y' X0 B# @8 a" P$ U4 y0 B  x1 n! @0 Z' W
假設你的設計會佔50% 的資源* Q. Z7 @8 V8 ~- F( i. Q
那麼用for的寫法,要100行的源碼+ \! j  M+ M; b' Q2 L5 f
不用for可能要1000行+ e* f' M$ f# u6 b5 L8 V" h
: g% T* v& k+ U) F
一樣的功能,佔相同的資源
作者: walltsou    時間: 2008-10-29 09:35 AM
認同。& M" S) d8 T7 b6 G' k( ?) N' ?; l
之前那件事,主管確實就是我要用if寫。
+ x6 y3 q+ x, Y% g! w可是我是覺得那是無重覆使用的程式碼。可以改為具有規則性的for描述。- i0 L3 C. r$ G1 Y7 ^
不過,個人認知是:6 g! Z' y; U9 V) d
每天都在用Compiler,不管是C/C++或是Verilog/VHDL,都只是在用Compiler。# `9 m2 K* G6 A6 {' j
Compiler不好,不能限定人的思考。被語法限定了,那就被束縛了。) {0 P# b, u# R
只要一天用電腦,就不可能不用電腦語言。要善用電腦,就要了解Compiler原理。+ d# Z( j2 N) G& V
這是我做電子時的認知,只是當時不被認同。
作者: michael6172    時間: 2008-11-4 09:28 AM
但是Verilog屬硬體描述語言,所以要以硬體的想法去寫,若把Verilog當成程式語言來寫,只會多出一堆不必要的邏輯,因此才發展出DSP for VLSI 阿....,所以禁用for,改以DSP來設計for的硬體" ~+ n( @8 R* o2 W4 G) K
9 s& g8 [) V9 [! I5 k7 B4 y. U
p.s. 此DSP 為 Digital signal processing
作者: walltsou    時間: 2008-11-6 05:21 PM
標題: 唉!又是一個把Compiler和電腦程式混起來的人。
Compiler只是把程式轉成可以執行的機器碼。轉成電晶體結構檔,也是一種機器碼。只是電晶體結構檔無法像電腦程式一樣載入執行,要經由電子程序實現。, l; m$ v+ w8 {% D
只是HDL主要是描述平行處理結構的語言,而Verilog僅採用C的語法表示。確實很多生手以為是電腦C語言。
4 F: c( T, F; ~$ n- Y以電腦一次執行一個指令的方法來寫HDL,一定是寫不好。/ _: f6 m& G6 t) c
for對我來說,只是一個具索引描述。又不會一行行執行,本就是處理平行結構的事。6 |7 ^: Y6 t0 j+ U, {
如果對for有意見,請提出會出問題的地方,像是容易誤用等等的例子。6 k( ?" a. }+ Y: q
不然只是一再重覆"工具限定人之思考"的框框中。




歡迎光臨 Chip123 科技應用創新平台 (http://free.vireal.world/chip123_website/innoingbbs/) Powered by Discuz! X3.2