Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

[問題求助] 一些基本語法請教

[複製鏈接]
跳轉到指定樓層
1#
發表於 2007-7-16 22:53:14 | 只看該作者 回帖獎勵 |正序瀏覽 |閱讀模式
終於下定決心買了一本有關VHDL的書
! G) }, m: J" `$ c書名:最新 VHDL 晶片設計 使用ISE、MODELSIM發展系統
( |( B- W: u" h3 k& n      全華出版社  林灶生.劉紹漢 編著7 v) \& g( v* \( \- l6 d
昨天花了一個下午念到第三張有些問題請前輩指導7 Q: |' j# U& E

0 t! Y2 H$ q4 w( F% Z問題1:現在比較大的兩家晶片公司(講錯請見諒)altera(max-pius) and xilinx(ISE)
# U; _, z3 ^, W/ H8 E5 e        所以如果用altera的晶片是不是就一定要用max_plus才燒的進去
; Q7 C- f& [& p! S7 i; d- r              如果用xilinx的晶片是不是就一定要用xilinx才燒的進去7 k$ D- Z8 `/ r! l4 p: W' t
         那這兩個與法都相同嗎...還是有些許不同,還是相同 但是兩個軟體對語法嚴謹度的要求有不同
* v- K' q, Z/ b! y2 L. x         另外,其他網路上還得知有一些編輯軟體,如果我用的都不是這兩家的晶片那需要用什麼軟體  Q7 d6 v& y, T4 F/ y' q
         有沒有一個軟體是可以適用各家公司的晶片呢?為什麼這些公司還要自己出自己的一套系統呢?/ H! u) ^$ F+ d5 a4 W& P5 x, Z+ k
         另外關於硬體描述的好像還有HDL、AHDL、VERILOG 前面兩個由網路資訊已稍微了解9 l7 x: b* t9 ~; e
         但VERILOG語法可以寫進我要用的晶片嗎?
" C" u/ w1 R3 m& {) b& N         另外yahoo知識+上面有討論到好像業界比較常用VERYLOG學術界比較愛好VHDL. x' }& ?/ O' b, X& {
         還有還有一些資訊有提到...有的軟體只能編輯部能模擬...為什麼要分開呢
; k, ~  {( s2 R         對於該選用什麼軟體還學習還有一些編輯軟體上面的困擾請給予指導~
7 A3 C/ \2 B6 l+ v' t' z* i7 H  i+ i/ R# o2 r1 f
問題2.(語法的問題)0 S2 U: Q6 ~8 _" s5 x
        1.std_logic_vector 和 bit_vector,因為我現在初學,看書上都是寫std_logic_vector(xx to xx)
0 E3 D$ ]  v  r& O( n) |           這跟bit_vector(xx to xx)有什麼不一樣?( s) D. u7 g" Z& s" v5 y/ n  j
        2.常看到  xx:='0' ; xx:="00"..請問什麼時候才要用引號..* M' V$ p: l& }/ u, m
          另外 if xx=1 then  為什麼這裡不能用冒號  指定不是要用:= ??. b2 E4 J. N( U- X" i6 g. s
        3.library ieee;
( i0 Q- D4 u/ \: D* \0 b           use ieee.std_logic_1164.all;----這一行後面的package我怎麼知道我寫什麼東西需要加入什麼package,現在都只用1164也不知道
0 u, B1 s% [- S1 m2 z& Y: X+ a* d                                                     正部正確?這方面的資訊書上還網路上的資訊好像比較少?
/ @# m6 u6 U3 _/ z- y6 n        4.constant是一個定值 所以要給他指定一個值  constant abc:=integer:="8";) h6 o( u1 W9 J/ ?- D& S
           singal也可以指定初始值 singal abc:=bit_vector(0 to 6):="001101";
* {) {* a' R: J; K- Z0 G& Y+ s; M           但是variable為什麼有 variable model:bit:='1';書上的說法是"設定成1",但變數不是會變動嗎@@9 e$ i. h7 B9 N0 _  }
       5.if clk'event and clk='1' then  和  if (clk'event and clk='1') then  和 if (clk'event) and (clk='1') then ! Q! `# l" q3 i$ J% U
          都有人寫..什麼時候需要用到(  )  ??, f1 N3 J$ a2 }4 T6 ^

2 s8 D% G- @) j
7 O2 d! ?! L( V$ N; q另外可以給我學習的一些方向和觀念嗎?- n, e+ p4 n# ^
( A- D' A; \7 A1 N# m9 J9 e& J
ps 很感謝版主還有addn前輩 之前那問題的講解,! s6 s' u9 N5 h, A2 J% W& ^7 c
    今天才知道可以給評分..之前沒給到真是不好意思
3 _, B- G3 }( ]9 d# x
0 }: J. }& T7 y# R6 L( n謝謝-
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
7#
發表於 2007-8-6 15:21:09 | 只看該作者
基本上要是書上寫的是跟MAX_plus ][比, 它的資料都有點過時了,
0 C6 ^$ d: \& P0 A2 i2 I  G- ^- H- s可以考慮把書扔了' h( X# g# K, U! P

' w1 t9 i" x% R! L對於各語法的補充, Altera的tool所接受的AHDL是Altera HDL,( Y( S/ k  E2 l& x: A  K% T2 ?$ O
而Xilinx所接受的AHDL是ABEL HDL, 0 {9 _! K: M/ ^

7 W. X0 {- F3 }1 |8 [+ S$ u若是對tools所接受的語法格式有不確定的地方, 可以參考* T; |0 e" R  P/ F) ?
Quartus ][跟ISE自己的template
6#
發表於 2007-7-29 19:35:21 | 只看該作者
也...少回了問題1了4 n/ j, M* s: b2 T- `- k0 ^  c+ F
6 X0 ~0 [9 u6 w! s" p
簡單的講, 如果你選擇了ISE當然只能在Xilinx單片下跑, 反之如果你選擇了Quartus II的話就只能在altera的晶片上面跑.5 v4 k; ^, M% V
compiler tool的問題, 我建議你把語法寫的嚴謹一點, 這樣子的話不只在以上二套tool可以跑, 在很多不同的tool也都可以用
5#
發表於 2007-7-29 19:30:54 | 只看該作者
bosscck大大, 你真真真的太過獎
4#
發表於 2007-7-26 00:17:51 | 只看該作者
tommywgt 哇靠老大你真猛
3#
發表於 2007-7-21 03:56:51 | 只看該作者
好多的問題~~~
% [3 N- B2 \( G( `, s* z$ f5 Z
5 N# a7 t7 z  H1 I4 @4 ^  ]1. std_logic_vector 跟bit_vector都可以宣告一維變數或信號, 只是
+ ^  H2 {* X( o3 s% E8 Istd_logic_vector 可支援unknow, don't care, weak high, weak low, 1, 0, tri-state...
+ T4 x7 S/ `" \* E) s4 Ebit_bector好像只能支援, '1', '0' , 'X', 'Z'的樣子, 有點忘了, 不過差不多是這個樣子" @  d# }; H& u# O/ T  m  B
這些東東都宣告在1164 package內
/ _- v- x# s) q. b, Q2 A
7 G/ R+ g/ w% J/ J/ Y& w2. 1個bit時請用單引號, 超過1個bit時請用雙引號! j3 N) I* k) A# e2 I

& m5 x" ~! Z6 }# f. l9 W3. 1164宣告了信號的基本屬性, 所以引用這個package是最基本的.
  _/ ]3 Q) u0 R3 K' d
3 A1 c! _% [, x: L; U4. constant宣告了常數, signal跟variable宣告了設計中wire (reg)的信號, 在宣告時給veriable跟signal初始值意義不太, 只能在模擬時使用, 對合成沒有幫助: V# c6 @: Z# O  I/ e) P" \! w4 l; r

. P5 H/ m6 p7 r( d0 |9 D  ]% X6 F5. ()只會影響合成時的優先順序, 有時為了增加程式可讀性或者不確定合成結果時會用(), 會好一些# @* ^) y! q( w- N: t- G: g

% h% x) p; Q7 t0 P4 a以上, 希望有幫助

評分

參與人數 1 +5 收起 理由
canoe1114 + 5 感謝啦!

查看全部評分

2#
 樓主| 發表於 2007-7-17 23:29:13 | 只看該作者

回復 #1 canoe1114 的帖子

有前輩可以幫我解答嗎..
0 e" e, H' N# o$ g1 V是問題問的不好...太多太雜
6 T" u! |; _: t4 o還是太簡單...
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2025-2-24 05:23 AM , Processed in 0.163009 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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