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+ Boutput        Dout;* r5 ]' e+ w2 y

2 D+ U: _# X. d% Y& Fwire 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 rxor 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 hnot n5(w8, w7);
+ q; v# w$ e& z, J: Pnot n6(w9, w8);
5 Q! \  p4 Q, F2 e8 b! anot n7(w10, w9);
7 l! v, M( Q% J# g+ j& I6 Rxor x2(w11, w10, Dout);
/ p% v, |" W! F' d" W* `  D- q! ]not n8(w12, w11);
# ~- N  U/ o" B# exor x3(w13, w12, Dout);
- U. x3 h/ \5 R* T5 M" z1 b& l; unot n9(w14, w13);
3 m1 x+ K" L) p5 zxor x4(w15, w14, Dout);8 @  k( Q7 J4 N
not n10(w16, w15);
0 M: p' Z2 \3 G! V% y& Lxor x5(w17, w16, Dout);) O+ N% k( d: Y3 t4 Y& S
not n11(w18, w17);
4 D; g+ L6 A! e- A1 Mnot n12(w19, w18);
& Y: ]2 U9 K7 c9 \- Gxor x6(w20, w19, Dout);
3 Y2 {8 j( v) C0 J6 q3 f. qnot 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
endmodule3 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 wExample 8–43. Verilog HDL Code: keep Attribute1 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) }/ wsignal 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