Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2008-4-30 22:40:03 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
請問在quartusII上面, 假設小弟希望寫一個ring oscillator請問該怎麼實現???
  i" I! ~# p# F2 ~6 d0 |' k% J+ R$ a8 }% ]5 R2 K1 p0 B( O+ C
因為不管我用stucture或schematic方法, 經過tool compiler後, 它都會自動幫我把串接的inverter( ]) E3 g4 E7 J) e9 @4 Q2 S& T

, a- B% R( t8 R& ^' {給消除掉, 請問該怎麼辦? 有什麼辦法能夠讓我的電路完整的不被tool給最佳化呢?. x  a& @1 n$ u+ |3 H8 ?0 z
* ?+ d& B1 L% }: k
如果說在DV上我會使用dont touch的指令, 可是在quartus2上我就不會了, 煩請各位大大解惑- f  L9 k; H" }* P  @) a3 R& r
1 D' a6 J4 L( v- q) R/ s' I
感激不盡
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂2 踩 分享分享
2#
發表於 2008-5-2 10:56:16 | 只看該作者

回復 1# 的帖子

可以用 keep 的attribute把 NAND gate間的node給保留下來.
8 p$ R  c* \3 ?/ v0 U$ Y4 `5 }
. l3 U' ^3 z5 E  A: \  i/ S在FPGA上實現 ring osc 不是不能作, 但不會像 asic製程那樣容易分析, 以FPGA的習慣用法來說, 並不鼓勵這樣作.1 G1 i7 l1 ~+ q8 W9 M
4 Z; F* w7 q0 K" H
[ 本帖最後由 sieg70 於 2008-5-2 11:03 AM 編輯 ]
3#
 樓主| 發表於 2008-5-2 12:44:58 | 只看該作者

回覆

比如說我的code如下:  V# l4 a& p, w9 g
) b) G: t4 H2 b4 C1 ~, C& v5 P. X
module firo( run, Dout);7 G# F- ~' t9 A- E

! E1 O; X, U; f/ M+ k* r" ~7 e: @input        run;- ]2 f$ S0 c- c+ R
output        Dout;
$ [( h' |* k2 L( j, [# e4 {
, x. ?2 t, v  F# T, S# ywire run, Dout, w2, w3, w4, w5, w6, w7, w8, w9, w10, w11, w12;. I8 Y6 r. G: w
wire w13, w14, w15, w16, w17, w18, w19, w20, w21;
, A5 t; A) N$ J4 \" ]* e1 b. v" Z1 o2 ~0 S! ^7 ~& h
nand na1(w2, run, Dout);
1 P1 E8 N# ~$ r, w' }7 S: uxor x1(w3, w2, Dout);
' {" v: H0 Z# R3 D& b9 Wnot n1(w4, w3);& r5 `+ T, M. j) B5 u- J# ~2 M
not n2(w5, w4);
  b4 A3 w: f$ S5 X9 \, cnot n3(w6, w5);8 |7 c+ W' u" X6 [: Q, }- H8 t
not n4(w7, w6);
5 h; M% e: g- Nnot n5(w8, w7);
/ \5 N1 q# V* h) i+ ~not n6(w9, w8);/ ?" R1 g- |8 v* S* y0 `
not n7(w10, w9);& ~: i" E5 H' t' t% R
xor x2(w11, w10, Dout);  M& j4 w8 ?) c' _
not n8(w12, w11);
- ^+ G6 Q6 u( Q6 E, m( `  gxor x3(w13, w12, Dout);
7 M& ]+ ~4 T; X. c) ^not n9(w14, w13);7 v5 [9 f7 w, ^0 T: F, f" G
xor x4(w15, w14, Dout);& C  o( t7 d: h6 ]: m
not n10(w16, w15);
: t0 R9 c5 L0 Y" D3 Z  q2 qxor x5(w17, w16, Dout);+ ^0 e/ Y( H! t# }
not n11(w18, w17);
. b' e6 d' R1 r3 O7 ~$ xnot n12(w19, w18);
0 R/ H) K! L  g& p* c( Qxor x6(w20, w19, Dout);+ r/ N4 O! h; z' p
not n13(w21, w20);
2 s* \$ ?' `3 b+ L3 ~4 dnot n14(Dout, w21);
/ Z! @2 W# c* _* ], j2 W9 T# _
, S8 V% L+ l/ [% W/ \9 \& Bendmodule5 O( d. H+ v# M3 T( j

$ }/ u/ @& \9 Z: O( b那我要怎麼加所謂的attribute 才能夠keep我的電路呢?
1 }: g2 U5 i$ I) a6 a5 S不好意思,因為對此不甚熟析,希望大大能夠做個範例指導,這樣對初學者的我能夠較快上手
, G7 Z8 U: u0 `" H4 G$ {2 M9 r; `! `  N: }7 m( C
感激
4#
發表於 2008-12-19 23:18:22 | 只看該作者
keep語法,你試看看吧!  e6 F% M0 ^* d) U
Example 8–43. Verilog HDL Code: keep Attribute
- x4 }  a# k8 {) r  bwire my_wire /* synthesis keep = 1 */;
4 G* R. K, i1 j7 H4 }2 [$ Z* o# A, i' @: c8 i6 L) @# i
Example 8–44. Verilog-2001 Code: keep Attribute2 D, ^9 c1 w# ^$ p; @) B
(* keep = 1 *) wire my_wire;
# |) p+ s6 n2 h) U' i' ]+ W% J7 m3 }1 P# R( \+ T' ^, P
Example 8–45. VHDL Code: syn_keep Attribute" K( h' c- a9 `0 X! {/ ]
signal my_wire: bit;* K) o/ ~& i& s+ H2 Y5 _
attribute syn_keep: boolean;# l# s+ z  _+ B! |! _8 w% P" n
attribute syn_keep of my_wire: signal is true;
: ~* u- n$ t. {; \) c/ K1 R, e% Y) g9 p' `" p; [! |
附上Quartus II的handbook片段,如下:

本帖子中包含更多資源

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

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

本版積分規則

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

GMT+8, 2024-9-28 04:54 AM , Processed in 0.180010 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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