Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

搜索
1 2 3 4
查看: 6366|回復: 3

[問題求助] quartus II 使用問題

  [複製鏈接]
發表於 2008-4-30 22:40:03 | 顯示全部樓層 |閱讀模式
請問在quartusII上面, 假設小弟希望寫一個ring oscillator請問該怎麼實現???( P7 o, X3 [) J3 o5 }! j% k
/ E0 U. I$ u% S% P- x/ p
因為不管我用stucture或schematic方法, 經過tool compiler後, 它都會自動幫我把串接的inverter: I9 q& S  }  [1 m! c
/ C( t* w5 j$ Y4 ^5 b& l1 Y/ ^
給消除掉, 請問該怎麼辦? 有什麼辦法能夠讓我的電路完整的不被tool給最佳化呢?6 t$ F4 U7 s+ a3 K0 Z! @: A

+ t5 n1 q1 |% O6 a2 c1 z) R如果說在DV上我會使用dont touch的指令, 可是在quartus2上我就不會了, 煩請各位大大解惑
1 g; f2 M- D5 ?7 }) B# U2 g% F8 p( X& Z  U5 ~$ O. }
感激不盡
發表於 2008-5-2 10:56:16 | 顯示全部樓層

回復 1# 的帖子

可以用 keep 的attribute把 NAND gate間的node給保留下來.% Q" e, r' m3 X$ h! Y0 r" d3 [

% b) v! A& F  z3 O" Z! {在FPGA上實現 ring osc 不是不能作, 但不會像 asic製程那樣容易分析, 以FPGA的習慣用法來說, 並不鼓勵這樣作.
6 {) Q3 Q- l" M. u* _
4 _( y2 ]; m& t[ 本帖最後由 sieg70 於 2008-5-2 11:03 AM 編輯 ]
 樓主| 發表於 2008-5-2 12:44:58 | 顯示全部樓層

回覆

比如說我的code如下:
3 h7 s7 q# h7 Y" U/ |- {* u( I. m- V- A* `: k  H( F
module firo( run, Dout);
$ O3 V8 V+ _% ]( G9 W4 _1 C, p& q' |9 r) `
input        run;
5 L' ]/ f  }! _$ X6 Y/ [0 |5 c) Poutput        Dout;" b* F* j! A  a# z( Z+ D
) Q# r; u/ F* z2 D6 q
wire run, Dout, w2, w3, w4, w5, w6, w7, w8, w9, w10, w11, w12;$ @/ E) G9 |1 h
wire w13, w14, w15, w16, w17, w18, w19, w20, w21;
" N/ e5 `" _; u4 [
% F" u* z9 j! ^3 ^. l5 ^nand na1(w2, run, Dout);
. ^& W6 J4 j- yxor x1(w3, w2, Dout);
) l( @$ }2 D& g4 H1 V; rnot n1(w4, w3);9 C' p( B: |1 I6 }! u8 v5 Z
not n2(w5, w4);
- B% A, f& a9 Y; C# F( Bnot n3(w6, w5);; f3 V+ ], X& C% p- i% _7 c
not n4(w7, w6);" M: G3 X: C; k- s& d1 A
not n5(w8, w7);
4 J/ @9 A/ F7 tnot n6(w9, w8);
/ D- i2 c& J4 B% q7 Knot n7(w10, w9);
6 @9 _/ r) i4 v8 W' _, Kxor x2(w11, w10, Dout);
" H' Y: w4 z: A4 r1 Q( Inot n8(w12, w11);% g0 M, Z0 A5 o" F( C& s
xor x3(w13, w12, Dout);+ ^& A/ ^1 A% }; a# A8 Q
not n9(w14, w13);
$ I8 Q* v  v/ f: d, Yxor x4(w15, w14, Dout);
7 g6 u4 k9 n, \/ f4 ~not n10(w16, w15);
9 Z: O) J" b( x# A* }( txor x5(w17, w16, Dout);
  F; c: ]& ]: {; q# f* Anot n11(w18, w17);- W8 _8 q4 r0 K8 u% h
not n12(w19, w18);' L5 l5 l  A) }$ e
xor x6(w20, w19, Dout);2 a/ \+ e; W3 |( f
not n13(w21, w20);
: [7 X* [" R& X' l. x+ wnot n14(Dout, w21);
) ~# ~9 l" j6 a8 i, h) a7 O3 s
. u9 e* s1 p" Q$ Z9 `4 Nendmodule
( k$ j' [9 l5 C0 i2 L9 f! v6 ?3 Z4 i( B4 n0 k& R8 x
那我要怎麼加所謂的attribute 才能夠keep我的電路呢?# I6 |: o# }- r2 v# v. p
不好意思,因為對此不甚熟析,希望大大能夠做個範例指導,這樣對初學者的我能夠較快上手8 i& r3 ~7 h. s2 V

5 \7 h8 A/ ?' e感激
發表於 2008-12-19 23:18:22 | 顯示全部樓層
keep語法,你試看看吧!. H3 D' @$ t# V
Example 8–43. Verilog HDL Code: keep Attribute
9 \6 A( [# n* U# lwire my_wire /* synthesis keep = 1 */;
* W7 a2 F% \. q' O6 w6 r# Q( e1 G9 u9 p1 N1 \
Example 8–44. Verilog-2001 Code: keep Attribute1 j: W8 Q1 B; W" ?+ P
(* keep = 1 *) wire my_wire;" u, i3 N; d2 Z, u/ K/ J6 j

/ p/ p5 b+ T: h! c0 a  MExample 8–45. VHDL Code: syn_keep Attribute: z7 _9 G, M2 `% ]) d& b
signal my_wire: bit;
  z; ]" \5 l$ Oattribute syn_keep: boolean;5 M: o" S$ A7 e5 t8 b/ }7 ]
attribute syn_keep of my_wire: signal is true;$ T8 s3 }' S0 H7 c1 _9 h
& L2 R  i8 y7 t) U* K
附上Quartus II的handbook片段,如下:

本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有帳號?申請會員

x
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-8 07:33 PM , Processed in 0.108006 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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