FPGA應(yīng)用開(kāi)發(fā)實(shí)戰(zhàn)技巧精粹

出版時(shí)間:2009-4  出版社:人民郵電出版社  作者:楊躍 編著  頁(yè)數(shù):365  

前言

FPGA(Field Programmable GateArray)是1984年由Xilinx公司發(fā)明的一類(lèi)半定制的通用器件。用戶(hù)可以通過(guò)對(duì)FPGA器件的編程來(lái)實(shí)現(xiàn)所需的邏輯功能。FPGA設(shè)計(jì)電路有以下幾個(gè)優(yōu)點(diǎn):電路執(zhí)行速度快、上市時(shí)間短、成本低廉、可靠性高、易于維護(hù)升級(jí)。近年來(lái),隨著FPGA規(guī)模越來(lái)越大、速度越來(lái)越快,并且成本也不斷降低,在許多應(yīng)用中:FPGA已經(jīng)開(kāi)始取代ASIC,使FPGA的應(yīng)用領(lǐng)域不斷擴(kuò)大。目前FPGA廣泛應(yīng)用于通信、信號(hào)處理、嵌入式處理器、圖像處理和工業(yè)控制等領(lǐng)域。學(xué)習(xí)掌握FPGA的開(kāi)發(fā)和使用是實(shí)踐性很強(qiáng)的活動(dòng)。針對(duì)這個(gè)特點(diǎn),作者從實(shí)踐出發(fā)并結(jié)合多年的開(kāi)發(fā)經(jīng)驗(yàn)編寫(xiě)了本書(shū)。書(shū)中總結(jié)了許多使用:FPGA設(shè)計(jì)電路的技巧,這些技巧包括。Xilinx開(kāi)發(fā)工具ISE和Altera開(kāi)發(fā)工具Quatus的使用技巧,仿真工具M(jìn)odel Sim的使用技巧,綜合工具Synplif3,的使用技巧,以及電路設(shè)計(jì)的基本技巧。本書(shū)主要內(nèi)容本書(shū)共分6章,各章的內(nèi)容如下。第1章介紹FPGA的基礎(chǔ)知識(shí),包括FPGA的基本結(jié)構(gòu)、FPGA的基本應(yīng)用,介紹了FPGA的設(shè)計(jì)開(kāi)發(fā)流程和常用的開(kāi)發(fā)工具,最后展望了其發(fā)展趨勢(shì)。本書(shū)要求讀者具有一定的FPGA設(shè)計(jì)基礎(chǔ),通過(guò)這一章的介紹,讀者可以掌握。FPGA的基礎(chǔ)知識(shí),并且能掌握FPGA的基本設(shè)計(jì)流程,為后面章節(jié)的學(xué)習(xí)做個(gè)鋪墊。第2章介紹了Xilinx開(kāi)發(fā)工具ISE的使用技巧。通過(guò)這一章的學(xué)習(xí),讀者可以使用ISE進(jìn)行完整的Xilinx FPGA設(shè)計(jì)。如果讀者已經(jīng)會(huì)使用ISE,也可以參考本章的技巧以便更加熟練地使用ISE。第3章介紹了Altera開(kāi)發(fā)工具Quartus的使用技巧。通過(guò)這一章的學(xué)習(xí),讀者可以使用Quartus設(shè)計(jì)完整的Altera FPGA。這一章中的技巧也可以作為設(shè)計(jì)者的參考手冊(cè),供那些掌握了Quartus的讀者查閱相關(guān)技巧。

內(nèi)容概要

本書(shū)著眼于實(shí)踐,介紹了FPGA設(shè)計(jì)開(kāi)發(fā)的大量技巧,內(nèi)容包括Xilinx開(kāi)發(fā)軟件ISE的使用技巧、Altera開(kāi)發(fā)軟件Quartus的使用技巧、仿真工具M(jìn)odelSim的使用技巧、綜合工具Synplify的使用技巧以及設(shè)計(jì)數(shù)字電路的一般技巧?! ”緯?shū)立足于實(shí)際,介紹的技巧都是在實(shí)際開(kāi)發(fā)中經(jīng)常使用到的,作者結(jié)合多年的工作經(jīng)驗(yàn)組織編寫(xiě)了本書(shū),書(shū)中總結(jié)了各種使用技巧并且提供了具體的使用方法和實(shí)例。讀者可以參考書(shū)中的技巧,通過(guò)實(shí)際動(dòng)手操作掌握各個(gè)技巧的使用方法,并且在實(shí)際開(kāi)發(fā)工作中運(yùn)用?! ”緯?shū)可以作為高等院校電子工程、通信工程、計(jì)算機(jī)、自動(dòng)化等專(zhuān)業(yè)的教材,也可以作為電子工程師的參考手冊(cè)。

書(shū)籍目錄

第1章 基礎(chǔ)知識(shí) 1.1 FPGA簡(jiǎn)介 1.2 FPGA基本結(jié)構(gòu)  1.2.1 FPGA的基本結(jié)構(gòu)  1.2.2 Altera FPGA基本結(jié)構(gòu)  1.2.3 Xilinx FPGA基本結(jié)構(gòu) 1.3 FPGA的應(yīng)用 1.4 FPGA設(shè)計(jì)流程 1.5 FPGA的常用開(kāi)發(fā)工具 1.6 FPGA設(shè)計(jì)技術(shù)展望  1.6.1 未來(lái)可編程器件的發(fā)展趨勢(shì)  1.6.2 未來(lái)EDA設(shè)計(jì)方法的發(fā)展趨勢(shì)第2章 Xilinx FPGA設(shè)計(jì)技巧 2.1 ISE基本使用技巧  2.1.1 新建項(xiàng)目的技巧  2.1.2 新建HDL文件的技巧  2.1.3 添加HDL文件的技巧  2.1.4 新建原理圖設(shè)計(jì)的技巧  2.1.5 在原理圖中調(diào)用模塊的技巧  2.1.6 編輯原理圖的技巧  2.1.7 用Constraints Editor設(shè)置約束的技巧  2.1.8 用PACE設(shè)置引腳與區(qū)域約束的技巧  2.1.9 使用XST進(jìn)行綜合的技巧  2.1.10 設(shè)計(jì)實(shí)現(xiàn)的技巧  2.1.11 生成下載文件的技巧  2.1.12 下載FPGA的技巧 2.2 仿真驗(yàn)證技巧  2.2.1 新建測(cè)試平臺(tái)的技巧  2.2.2 圖形化編輯激勵(lì)信號(hào)的技巧  2.2.3 在ISE中仿真的技巧  2.2.4 在ISE中調(diào)用Model Sim的技巧  2.2.5 使用ModelSim行為仿真的技巧 2.3 命令行方式使用ISE的技巧  2.3.1 調(diào)用命令行的技巧  2.3.2 命令行的語(yǔ)法技巧  2.3.3 NGDBUILD命令使用技巧  2.3.4 MAP命令使用技巧  2.3.5 PAR命令使用技巧  2.3.6 BITGEN命令使用技巧  2.3.7 TRACE命令使用技巧  2.3.8 DATA2MEM命令使用技巧  2.3.9 自動(dòng)執(zhí)行命令行的技巧 2.4 CORE Generator使用技巧  2.4.1 新建CORE Generator 項(xiàng)目的技巧  2.4.2 新建IP的技巧  2.4.3 修改已有IP的參數(shù)的技巧  2.4.4 Architecture Wizard使用技巧  2.4.5 在設(shè)計(jì)中例化IP的技巧  2.4.6 選擇不同版本IP的技巧 2.5 使用Xilinx硬件資源的技巧  2.5.1 DCM使用技巧  2.5.2 PMCD使用技巧  2.5.3 BLOCK RAM使用技巧  2.5.4 分布式RAM使用技巧  2.5.5 FIFO使用技巧  2.5.6 IDDR使用技巧  2.5.7 ODDR使用技巧 2.6 設(shè)置約束的技巧  2.6.1 使用UCF文件的技巧  2.6.2 編寫(xiě)UCF文件的語(yǔ)法技巧  2.6.3 設(shè)置TNM_NET分組約束的技巧  2.6.4 設(shè)置TNM分組約束的技巧  2.6.5 設(shè)置TIMESPEC時(shí)序約束的技巧  2.6.6 設(shè)置AREA_GROUP 約束的技巧  2.6.7 設(shè)置DRIVE約束的技巧  2.6.8 設(shè)置IBUF_DELAY_VALUE約束的技巧  2.6.9 設(shè)置IFD_DELAY_VALUE約束的技巧  2.6.10 設(shè)置IOBDELAY 約束的技巧  2.6.11 設(shè)置KEEP約束的技巧  2.6.12 設(shè)置IOSTANDARD約束的技巧  2.6.13 設(shè)置KEEP_HIERARCHY約束的技巧  2.6.14 設(shè)置IOB約束的技巧  2.6.15 設(shè)置LOC約束的技巧  2.6.16 設(shè)置OFFSET約束的技巧  2.6.17 設(shè)置PERIOD約束的技巧  2.6.18 設(shè)置PIN約束的技巧  2.6.19 設(shè)置TIMEGRP約束的技巧 2.7 Chipscope調(diào)試技巧  2.7.1 使用Chipscope Inserter的技巧  2.7.2 生成ChipScope下載文件的技巧  2.7.3 使用ChipScope下載FPGA的技巧  2.7.4 使用ChipScope Analyzer的技巧  2.7.5 直接從ISE調(diào)用Chip Scope的技巧  2.7.6 使用ICON Core的技巧  2.7.7 使用ILA Core的技巧第3章 Altera FPGA設(shè)計(jì)技巧 3.1 使用Altera 器件的技巧  3.1.1 PLL的使用技巧  3.1.2 LVDS的使用技巧  3.1.3 FIFO的使用技巧  3.1.4 Embedded RAM的使用技巧  3.1.5 Shift Register的使用技巧  3.1.6 動(dòng)態(tài)相位對(duì)準(zhǔn)(DPA)的使用技巧  3.1.7 Virtual JTAG的使用技巧  3.1.8 DSP塊的使用技巧 3.2 使用Quartus開(kāi)發(fā)的基本技巧  3.2.1 運(yùn)行新項(xiàng)目向?qū)У募记伞 ?.2.2 設(shè)置項(xiàng)目參數(shù)的技巧  3.2.3 添加HDL設(shè)計(jì)的技巧  3.2.4 新建HDL設(shè)計(jì)的技巧  3.2.5 運(yùn)行時(shí)序向?qū)гO(shè)置時(shí)序約束的技巧  3.2.6 編譯設(shè)計(jì)的技巧  3.2.7 配置FPGA的技巧 3.3 使用Quartus輸入設(shè)計(jì)的技巧  3.3.1 使用版本兼容的設(shè)計(jì)的技巧  3.3.2 使用Block Editor的技巧  3.3.3 使用Text Editor的技巧  3.3.4 使用Symbol Editor的技巧  3.3.5 使用Megafunction的技巧  3.3.6 使用語(yǔ)言模板的技巧 3.4 使用Quartus綜合的技巧  3.4.1 設(shè)置綜合屬性的技巧  3.4.2 綜合VHDL和Verilog設(shè)計(jì)的技巧  3.4.3 使用編譯指令和屬性的技巧  3.4.4 使用邏輯選項(xiàng)的技巧  3.4.5 優(yōu)化綜合網(wǎng)表的技巧  3.4.6 檢查設(shè)計(jì)可靠性的技巧  3.4.7 查看狀態(tài)機(jī)綜合結(jié)果的技巧  3.4.8 查看綜合報(bào)告的技巧  3.4.9 使用增量綜合的技巧 3.5 使用Quartus布局布線的技巧  3.5.1 配置編譯器的技巧  3.5.2 創(chuàng)建引腳分配的技巧  3.5.3 查看編譯結(jié)果的技巧  3.5.4 設(shè)置布局布線選線的技巧  3.5.5 使用資源優(yōu)化向?qū)У募记伞?.6 時(shí)序分析的技巧  3.6.1 查看時(shí)序分析結(jié)果的技巧  3.6.2 執(zhí)行多時(shí)鐘時(shí)序分析的技巧  3.6.3 設(shè)定多周期路徑的技巧  3.6.4 查看特殊路徑時(shí)序結(jié)果的技巧  3.6.5 使用時(shí)序優(yōu)化器的技巧  3.6.6 使用LogicLock改善時(shí)序要求的技巧  3.6.7 使用漸進(jìn)式編譯改善時(shí)序的技巧 3.7 使用Quartus仿真的技巧  3.7.1 設(shè)置仿真工具的技巧  3.7.2 創(chuàng)建波形文件的技巧  3.7.3 生成仿真輸出文件的技巧  3.7.4 生成仿真庫(kù)的技巧  3.7.5 分析仿真結(jié)果的技巧  3.7.6 使用仿真器工具的技巧 3.8 使用Quartus下載的技巧  3.8.1 創(chuàng)建下載文件的技巧  3.8.2 加載文件格式轉(zhuǎn)換的技巧  3.8.3 使用Programmer配置器件的技巧  3.8.4 建立輔助下載文件的技巧 3.9 SignalTap II調(diào)試技巧  3.9.1 設(shè)置和運(yùn)行Logic Analyzer的技巧  3.9.2 增量式編譯使用Signal TapII的技巧  3.9.3 使用外部邏輯分析儀的技巧  3.9.4 使用SignalProbe的技巧    3.9.5 使用RTL查看器的技巧  3.9.6 使用技術(shù)映射查看器的技巧  3.9.7 使用芯片編輯器的技巧 3.10 使用Altera IP Core的技巧  3.10.1 啟動(dòng)MegaWizard Plug-In的技巧  3.10.2 充分利用IP宏功能的技巧  3.10.3 生成所需IP的技巧  3.10.4 例化IP的技巧  3.10.5 推斷IP宏功能的技巧    3.10.6 使用黑盒子方式例化宏功能的技巧  3.10.7 按推斷進(jìn)行例化的技巧  3.10.8 使用Clear-Box的技巧  3.11 設(shè)置約束的技巧  3.11.1 設(shè)置引腳約束的技巧  3.11.2 使用Assignment Editor的技巧  3.11.3 設(shè)置時(shí)間約束的技巧  3.11.4 設(shè)置位置約束的技巧  3.11.5 設(shè)置區(qū)域的技巧  3.11.6 導(dǎo)出和導(dǎo)入約束文件的技巧  3.11.7 驗(yàn)證引腳分配的技巧第4章 邏輯電路設(shè)計(jì)技巧 4.1 FPGA設(shè)計(jì)的基本技巧  4.1.1 Top-Down方式的設(shè)計(jì)技巧  4.1.2 Bottom-Up方式的設(shè)計(jì)技巧  4.1.3 VHDL設(shè)計(jì)FPGA的技巧  4.1.4 Verilog HDL設(shè)計(jì)FPGA的技巧  4.1.5 狀態(tài)機(jī)設(shè)計(jì)的技巧 4.2 數(shù)字系統(tǒng)設(shè)計(jì)技巧  4.2.1 同步電路設(shè)計(jì)技巧  4.2.2 異步時(shí)鐘域數(shù)據(jù)同步的技巧  4.2.3 亞穩(wěn)態(tài)  4.2.4 系統(tǒng)原則的技巧  4.2.5 硬件設(shè)計(jì)原則的技巧  4.2.6 選擇if語(yǔ)句與case語(yǔ)句的技巧  4.2.7 分離組合電路與時(shí)序電路的技巧  4.2.8 乒乓操作的技巧  4.2.9 串并轉(zhuǎn)換的技巧  4.2.10 流水線操作設(shè)計(jì)的技巧 4.3 代碼風(fēng)格技巧  4.3.1 VHDL的編碼風(fēng)格技巧  4.3.2 Verilog HDL的編碼風(fēng)格技巧  4.3.3 命名的技巧  4.3.4 添加注釋的技巧  4.3.5 模塊劃分的技巧  4.3.6 模塊重用的技巧  4.3.7 編寫(xiě)可綜合代碼的技巧 4.4 提高速度的技巧  4.4.1 設(shè)置速度約束的技巧  4.4.2 專(zhuān)用資源提高速度的技巧  4.4.3 分配關(guān)鍵路徑的技巧  4.4.4 進(jìn)行特殊約束的技巧  4.4.5 減少邏輯級(jí)數(shù)的技巧  4.4.6 分割組合邏輯的技巧  4.4.7 轉(zhuǎn)移組合邏輯的技巧 4.5 降低面積的技巧  4.5.1 模塊劃分的技巧  4.5.2 復(fù)用模塊的技巧  4.5.3 利用代碼風(fēng)格降低面積的技巧  4.5.4 使用分布式RAM的技巧  4.5.5 布局布線的技巧  4.5.6 面積和速度的平衡與互換技巧第5章 ModelSim仿真技巧 5.1 ModelSim介紹 5.2 圖形界面使用技巧  5.2.1 使用Wizard創(chuàng)建工程的技巧  5.2.2 編譯文件的技巧  5.2.3 啟動(dòng)仿真的技巧  5.2.4 產(chǎn)生信號(hào)激勵(lì)的技巧  5.2.5 查看波形的技巧 5.3 編譯ModelSim仿真庫(kù)的技巧  5.3.1 在ModelSim中編譯Xilinx仿真庫(kù)的技巧  5.3.2 在ISE中編譯Xilinx仿真庫(kù)的技巧  5.3.3 使用腳本編譯Xilinx仿真庫(kù)的技巧  5.3.4 在ModelSim中編譯Altera仿真庫(kù)的技巧 5.4 使用FPGA開(kāi)發(fā)工具調(diào)用ModelSim的技巧  5.4.1 在ISE中調(diào)用Model Sim的技巧  5.4.2 在Quartus中調(diào)用ModelSim的技巧 5.5 命令行方式仿真技巧  5.5.1 VLIB命令使用技巧  5.5.2 VMAP命令使用技巧  5.5.3 VCOM命令使用技巧  5.5.4 VLOG命令使用技巧  5.5.5 VSIM命令使用技巧  5.5.6 FORCE命令使用技巧  5.5.7 ADD WAVE命令使用技巧  5.5.8 RUN命令使用技巧  5.5.9 DO文件使用技巧 5.6 ModelSim腳本仿真技巧  5.6.1 Testbench的創(chuàng)建技巧  5.6.2 ModelSim DO腳本文件編寫(xiě)技巧  5.6.3 運(yùn)行ModelSim DO 腳本的技巧第6章 Synplify綜合工具使用技巧 6.1 Synplify Pro基本使用技巧  6.1.1 新建HDL源文件的技巧  6.1.2 使用文本編輯器的技巧  6.1.3 檢查HDL源文件的技巧  6.1.4 使用外部文本編輯器的技巧  6.1.5 設(shè)置工程參數(shù)的技巧  6.1.6 綜合及查看綜合結(jié)果的技巧  6.1.7 混合語(yǔ)言綜合的技巧  6.1.8 新建設(shè)計(jì)實(shí)現(xiàn)的技巧 6.2 分析綜合結(jié)果的技巧  6.2.1 使用日志觀察窗口的技巧  6.2.2 使用信息查看器的技巧  6.2.3 分析關(guān)鍵路徑時(shí)序的技巧  6.2.4 使用Stand-alone時(shí)序分析的技巧 6.3 利用腳本運(yùn)行Synplify的技巧  6.3.1 使用add_file命令的技巧  6.3.2 使用assign_to_region命令的技巧  6.3.3 指定constraint_file命令的技巧  6.3.4 使用create_region命令的技巧  6.3.5 使用gen_env命令的技巧  6.3.6 使用impl命令的技巧  6.3.7 使用project命令的技巧  6.3.8 使用project_file命令的技巧 6.4 綜合屬性Attribute  6.4.1 添加綜合屬性的技巧  6.4.2 使用SCOPE窗口的技巧  6.4.3 使用altera_chip_pin_lc屬性的技巧  6.4.4 使用black_box_pad_pin屬性的技巧  6.4.5 使用black_box_tri_pins屬性的技巧  6.4.6 使用syn_allow_retiming屬性的技巧  6.4.7 使用syn_black_box屬性的技巧  6.4.8 使用syn_encoding屬性的技巧  6.4.9 使用syn_hier屬性的技巧  6.4.10 使用syn_netlist_hierarchy屬性的技巧  6.4.11 使用syn_ramstyle屬性的技巧  6.4.12 使用syn_loc屬性的技巧  6.4.13 使用syn_noclockbuf屬性的技巧  6.4.14 使用syn_keep屬性的技巧    6.4.15 使用syn_noprune屬性的技巧  6.4.16 使用syn_preserve屬性的技巧  6.4.17 使用translate_off/translate_on屬性的技巧 6.5 Synplify的高級(jí)綜合技巧  6.5.1 共享資源的技巧  6.5.2 使用流水線的技巧  6.5.3 使用Retiming的技巧  6.5.4 插入探針Probes的技巧  6.5.5 使用推論RAM的技巧  6.5.6 使用推論移位寄存器的技巧

章節(jié)摘錄

插圖:(7)板級(jí)仿真與驗(yàn)證。在有些高速設(shè)計(jì)中還需要使用第三方的板級(jí)驗(yàn)證工具進(jìn)行仿真與驗(yàn)證。(8)加載配置與在線調(diào)試。設(shè)計(jì)開(kāi)發(fā)的最后步驟就是在線調(diào)試或者將生成的配置文件寫(xiě)入芯片中進(jìn)行測(cè)試。示波器和邏輯分析儀是邏輯設(shè)計(jì)的主要調(diào)試工具。傳統(tǒng)的邏輯功能板級(jí)驗(yàn)證手段是用邏輯分析儀分析信號(hào),設(shè)計(jì)時(shí)要求.FPGA和PCB設(shè)計(jì)人員保留一定數(shù)量的FPGA引腳作為測(cè)試引腳,編寫(xiě)FPGA代碼時(shí)需要觀察的信號(hào)作為模塊的輸出信號(hào),在綜合實(shí)現(xiàn)時(shí)再把這些輸出信號(hào)鎖定到測(cè)試引腳上,然后將邏輯分析儀的探頭連接到這些測(cè)試腳,設(shè)定觸發(fā)條件,進(jìn)行觀測(cè)。邏輯分析儀的優(yōu)點(diǎn)是專(zhuān)業(yè)、高速、觸發(fā)邏輯可以相對(duì)復(fù)雜,缺點(diǎn)是價(jià)格昂貴、靈活性。PCB布線后測(cè)試腳的數(shù)量有限,不能靈活增加,當(dāng)測(cè)試腳不夠用時(shí)影響測(cè)試,如果測(cè)試腳太多又影響PCB布局布線。對(duì)于相對(duì)簡(jiǎn)單一些的設(shè)計(jì),使用QuartusII內(nèi)嵌的SignalTapII和Xilinx提供的ChipScope工具,對(duì)設(shè)計(jì)進(jìn)行在線邏輯分析可以較好地解決上述矛盾。它們的主要功能是通過(guò)JTAG口,在線、實(shí)時(shí)地讀出FPGA的內(nèi)部信號(hào)?;驹硎抢肍PGA中未使用的BlockRAM,根據(jù)用戶(hù)設(shè)定的觸發(fā)條件將信號(hào)實(shí)時(shí)地保存到這些BlockRAM中,然后通過(guò)JTAG口傳送到計(jì)算機(jī),最后在計(jì)算機(jī)屏幕上顯示出時(shí)序波形。任何仿真或者驗(yàn)證步驟出現(xiàn)問(wèn)題,就需要根據(jù)錯(cuò)誤的定位返回到相應(yīng)的步驟更改或者重新設(shè)計(jì)。

編輯推薦

《FPGA應(yīng)用開(kāi)發(fā)實(shí)戰(zhàn)技巧精粹》特點(diǎn):內(nèi)容全面:240個(gè)FPGA應(yīng)用開(kāi)發(fā)常用技巧,覆蓋FPGA應(yīng)用開(kāi)發(fā)的方方面面。步驟清晰:詳細(xì)列出每個(gè)操作步驟,按步驟操作即可得出相應(yīng)結(jié)果。團(tuán)隊(duì)創(chuàng)作:FPGA開(kāi)發(fā)團(tuán)隊(duì)多年開(kāi)發(fā)經(jīng)驗(yàn)的總結(jié)。

圖書(shū)封面

評(píng)論、評(píng)分、閱讀與下載


    FPGA應(yīng)用開(kāi)發(fā)實(shí)戰(zhàn)技巧精粹 PDF格式下載


用戶(hù)評(píng)論 (總計(jì)3條)

 
 

  •   說(shuō)的全是應(yīng)用手冊(cè),基本的工具使用方法,根本沒(méi)什么技巧可言
  •   感覺(jué)很一般,既不是實(shí)戰(zhàn),也沒(méi)有技巧,只是一些知識(shí)點(diǎn)的羅列,講得很淺。
  •   原理太少,基本都是操作,這些操作基本能在網(wǎng)上搜到
 

250萬(wàn)本中文圖書(shū)簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書(shū)網(wǎng) 手機(jī)版

京ICP備13047387號(hào)-7