Chip123 科技應用創新平台
標題:
quartus II 使用問題
[打印本頁]
作者:
happpyend
時間:
2008-4-30 10:40 PM
標題:
quartus II 使用問題
請問在quartusII上面, 假設小弟希望寫一個ring oscillator請問該怎麼實現???
! S; |: \2 \* s7 x5 R t
/ o# Z) l8 v; b' [) B
因為不管我用stucture或schematic方法, 經過tool compiler後, 它都會自動幫我把串接的inverter
, t7 D/ Z* k- C0 ?; A
/ x5 z5 \! g$ W* l5 L5 H
給消除掉, 請問該怎麼辦? 有什麼辦法能夠讓我的電路完整的不被tool給最佳化呢?
: \% s* r I8 ]8 W1 b2 v [) o
* S& x4 G v6 a" w
如果說在DV上我會使用dont touch的指令, 可是在quartus2上我就不會了, 煩請各位大大解惑
4 Q3 W, X- c$ V1 c9 F
# Q* z& _" _ l+ \- H p) j. t
感激不盡
作者:
sieg70
時間:
2008-5-2 10:56 AM
標題:
回復 1# 的帖子
可以用 keep 的attribute把 NAND gate間的node給保留下來.
+ H5 r: ~- P: l& q @
+ W( c; v: n2 |/ ^
在FPGA上實現 ring osc 不是不能作, 但不會像 asic製程那樣容易分析, 以FPGA的習慣用法來說, 並不鼓勵這樣作.
: Z: N C0 {$ D7 M0 u
; |8 l4 G- K/ }# k) @! t) ?0 v' _$ e
[
本帖最後由 sieg70 於 2008-5-2 11:03 AM 編輯
]
作者:
happpyend
時間:
2008-5-2 12:44 PM
標題:
回覆
比如說我的code如下:
+ K) \7 l& z. J! O6 ?: [) L% r
3 L) ^% z7 r1 N1 K
module firo( run, Dout);
U: k) v! e4 T5 ]( s- |+ g
! p9 |; F P4 I/ b7 h0 t
input run;
+ M" j$ n/ I, J8 a: n( `, s0 r+ B
output Dout;
* r5 ]' e+ w2 y
2 D+ U: _# X. d% Y& F
wire run, Dout, w2, w3, w4, w5, w6, w7, w8, w9, w10, w11, w12;
: n; Z I( Q# p8 }+ ?
wire w13, w14, w15, w16, w17, w18, w19, w20, w21;
# K: @3 k! p+ U# P
: I* u& \+ j; K7 K8 `( @7 ]
nand na1(w2, run, Dout);
, j7 ~* t8 u. U/ P! k3 r
xor x1(w3, w2, Dout);
9 v- m% f( U+ I
not n1(w4, w3);
/ A+ W% s% G: a& |
not n2(w5, w4);
& @9 ^* }$ w! N( R
not n3(w6, w5);
0 p& u1 W; A- z" H2 \/ O
not n4(w7, w6);
* `$ u4 Q) d; H7 ?0 h
not n5(w8, w7);
+ q; v# w$ e& z, J: P
not n6(w9, w8);
5 Q! \ p4 Q, F2 e8 b! a
not n7(w10, w9);
7 l! v, M( Q% J# g+ j& I6 R
xor x2(w11, w10, Dout);
/ p% v, |" W! F' d" W* ` D- q! ]
not n8(w12, w11);
# ~- N U/ o" B# e
xor x3(w13, w12, Dout);
- U. x3 h/ \5 R* T5 M" z1 b& l; u
not n9(w14, w13);
3 m1 x+ K" L) p5 z
xor x4(w15, w14, Dout);
8 @ k( Q7 J4 N
not n10(w16, w15);
0 M: p' Z2 \3 G! V% y& L
xor x5(w17, w16, Dout);
) O+ N% k( d: Y3 t4 Y& S
not n11(w18, w17);
4 D; g+ L6 A! e- A1 M
not n12(w19, w18);
& Y: ]2 U9 K7 c9 \- G
xor x6(w20, w19, Dout);
3 Y2 {8 j( v) C0 J6 q3 f. q
not n13(w21, w20);
+ q, L% O# w% h- ?
not n14(Dout, w21);
! ~2 E) j D; ~3 n4 R) U; y7 T) O
( x: I2 [( c7 b6 l1 p) h
endmodule
3 k) s+ C5 F, H9 b& `5 O
/ H0 s$ k! t" x- O- v/ ?
那我要怎麼加所謂的attribute 才能夠keep我的電路呢?
! _' X) S- |- C6 |2 D
不好意思,因為對此不甚熟析,希望大大能夠做個範例指導,這樣對初學者的我能夠較快上手
$ t1 S2 K% s0 E. B" g
* o3 S9 k6 o! m& c. v
感激
作者:
jason_lin
時間:
2008-12-19 11:18 PM
keep語法,你試看看吧!
' \, E% b' s; t! C- I. }0 E5 w
Example 8–43. Verilog HDL Code: keep Attribute
1 f' t( B- v8 s' J7 N2 w( l& @% `
wire my_wire /* synthesis keep = 1 */;
. W# x$ T; c; s8 E; d
8 Z/ H" R- v9 B1 I/ s1 z4 E# b
Example 8–44. Verilog-2001 Code: keep Attribute
$ J# s6 z* P: l( r, U& Y
(* keep = 1 *) wire my_wire;
: F# }% m# q6 U3 r# E+ f Q
! p+ |6 b4 H9 _5 r5 h; m8 k+ T% @! U
Example 8–45. VHDL Code: syn_keep Attribute
3 k6 `/ h- a5 W/ U) }/ w
signal my_wire: bit;
, p1 H5 H- X+ }
attribute syn_keep: boolean;
$ W% M7 I! a. i
attribute syn_keep of my_wire: signal is true;
* b: {5 J0 N3 R
; p8 d/ F- c% L2 b, t( j
附上Quartus II的handbook片段,如下:
歡迎光臨 Chip123 科技應用創新平台 (http://chip123.com/)
Powered by Discuz! X3.2