国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

一種基于移位寄存器的CAM的Verilog HDL實現(xiàn)

發(fā)布時間:2010-7-15 15:40    發(fā)布者:zealot
關鍵詞: CAM , HDL , verilog , 移位寄存器
CAM(Content ADDRessable Memory,內容可尋址存儲器)是一種特殊的存儲陣列。它通過將輸入數(shù)據(jù)與CAM中存儲的所有數(shù)據(jù)項同時進行比較,迅速判斷出輸入數(shù)據(jù)是否與CAM中的存儲數(shù)據(jù)項相匹配,并給出匹配數(shù)據(jù)項的對應地址和匹配信息。CAM以其高速查找、大容量等特點而被廣泛地應用于電訊、網(wǎng)絡等領域。   
本文介紹一種用Verilog HDL設計CAM的方案。該方案以移位寄存器為核心,具有可重新置改變字長、易于擴展、匹配查找速度快等特點。
  
1 CAM功能描述
  
CAM的基本框圖如圖1所示。


與RAM相似,CAM是將數(shù)據(jù)項存儲在一個陣列中。每個數(shù)據(jù)項的位數(shù)叫做字寬,CAM中所有數(shù)據(jù)項的條數(shù)叫做CAM的深度。通過字寬和深度可以表征CAM中容量。
  在寫CAM模式(配置)時,WRITE_E信號有效,MATCH_E信號無效,此時通過地址線ADDR選擇DATA_IN輸入的數(shù)據(jù)將要被寫放哪一個單元;在讀CAM模式(查找匹配)時,WRITE_E信號無效,MATCH_E信號有效,CAM將不使用地址線,而是直接將DATA_IN讀入的數(shù)據(jù)與CAM中存儲的各條數(shù)據(jù)項進行并行比較。如果CAM中含有與此時輸入數(shù)據(jù)相匹配的存儲數(shù)據(jù)項,CAM將從MATCH_ADDR輸出此存儲數(shù)據(jù)項的地址,并且通過MATH_OK輸出匹配成功的信息。在查找匹配模式時,由于CAM是將輸入數(shù)據(jù)與存儲數(shù)據(jù)項并行比較,所以速度極快。同時,由于不需要通過地址線來尋址數(shù)據(jù)項,CAM將不受地址線寬度的限制,容易擴展。
  
2 基于移位寄存器的CAM的設計
  
為了說明設計方案,以一個寬度為4位、深度為1的基本CAM存儲單元為例。利用這樣一個基本存儲單元,通過適當級聯(lián),可以構成任意字寬和深度的CAM。該基本單元采用一個16位的移位寄存器、一個4位的比較器,外加16位的計數(shù)器和一個"二選一"的選擇器構成。如圖2所示。


在寫CAM模式時,WRITE_E信號有效,DATA_IN輸入的是將要寫入數(shù)據(jù)存儲項的4位數(shù)據(jù)。計數(shù)器進行從"1111"到"0000"的減計數(shù),并將計數(shù)輸出值與DATA_IN輸入值進行比較。若二者相同,比較器輸出"1"到移位寄存器中;不同則輸出"0"到移位寄存器中。在16個時鐘周期之后,將完成DATA_IN輸入數(shù)據(jù)與計數(shù)器輸出的所有情況的比較。這樣,移位寄存器中將存入15個"0"和一個"1"。
  
在讀CAM模式時,MATCH_IN為"1",此時,DATA_IN輸入的數(shù)據(jù)直接送到移位寄存器的地址端,它將決定移位寄存器輸出其16個位中的哪一位。如果該位輸出"1",則表示此時DATA_IN與原來寫入該單元的數(shù)據(jù)相同,即發(fā)生匹配;反之則輸出"0",表示無匹配項。
  
以上討論只是針對4位字寬的數(shù)據(jù)項的讀寫,而對于更長字寬的數(shù)據(jù)項,必須進行字寬擴展。可用多個比較器和移位寄存器組成的存儲數(shù)據(jù)項并聯(lián)在一起,組成一個字結構,即把輸入的數(shù)據(jù)按每4位分為一組,每組對應一套比較器和移位寄存器,每組只產生一個最終的MTACH_OUT信號。例如,對于16位的數(shù)據(jù)項,就需要4組這樣的結構。這4組基本結構中的讀和寫可以同時完成。只有4組都產生匹配信號,最終的MATCH_OUT輸出才有"1",表明讀入的16位DATA_IN數(shù)據(jù)與存儲的數(shù)據(jù)項匹配。
  
CAM只需要存儲多個數(shù)據(jù)項,因此需要多個字結構的深度擴展。將這些字結構中的比較器和移位寄存器分別組合在一起,構成比較器陣列和移位寄存器陣列。為了在寫CAM時進行寫入數(shù)據(jù)的定位,還需要一個地址譯碼模塊來指出是對哪一個數(shù)據(jù)項進行寫操作。在讀CAM時,得到輸入數(shù)據(jù)與各個存儲數(shù)據(jù)項的匹配信息之后,還要對這些匹配信息進行編碼,得到最后要輸出的相匹配的存儲數(shù)據(jù)項的地址MATCH_ADDR和是否發(fā)生匹配的信息MATCH_OK。
 
完整的CAM結構框圖見圖3。
  

3 基于移位寄存器的CAM的Verilog HDL實現(xiàn)

  
硬件描述語言VerilogHDL是一種應用于電路設計的描述語言,具有行為級、寄存器傳輸級、邏輯門級和開關級等多層次描述。它簡單易讀,描述與工藝無關,并且得到許多EDA工具的支持。利用Verilog HDL語言進行電路設計可以大大節(jié)省設計時間和成本。

  
本設計以一個數(shù)據(jù)項字寬為16位、深度為8的CAM為例,進行Verilog HDL設計,并利用Xilinx Virtex系列中XCV1000器件進行綜合。綜合后的仿真分析表明,該方案是合理可行的。


圖4為匹配查找的時序仿真結果,CAM中預先放入了0019H,001AH,…,001DH五個數(shù)據(jù)。CLK為系統(tǒng)時鐘,DATA_IN為數(shù)據(jù)輸入,MATCH_ENABLE為讀CAM(查找)允許信號,GLOBAL_RST為全局清零信號,R_MATCH_ADDR為匹配地址輸出信號,R_MATCH_OK為是否發(fā)生匹配信號。從仿真波形可以看出,輸入數(shù)據(jù)經(jīng)過兩個時鐘周期,輸出匹配信息,包括是否匹配和相匹配的存儲數(shù)據(jù)項的地址。如果不匹配,是否匹配的信號為0,而輸出地址線不變。

  
本方案以移位寄存器設計CAM,在寫模式下需要16個時鐘周期完成一個數(shù)據(jù)項的寫入;讀模式僅需一個時鐘周期。它具有速度快、易于重新配置、易于擴展等特點。本方案中的CAM利用Xilinx Virtex系列器件實現(xiàn),時鐘最高頻率可達80MHz以上。以本方案為基礎,擴展到32位、36位的實用化CAM已運用于網(wǎng)絡協(xié)處理器的仿真測試中,并取得了較好的效果。
本文地址:http://m.qingdxww.cn/thread-15308-1-1.html     【打印本頁】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據(jù)著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區(qū)
  • 使用SAM-IoT Wx v2開發(fā)板演示AWS IoT Core應用程序
  • 使用Harmony3加速TCP/IP應用的開發(fā)培訓教程
  • 集成高級模擬外設的PIC18F-Q71家族介紹培訓教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿澤電子(Mouser)專區(qū)

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲色图 欧美| 日韩国产一区二区| 青青青视频免费线看 视频| 日韩精品一二三区| 四虎影院精品| 2020久久精品永久免费| 老湿司午夜爽爽影院榴莲视频| 直插下身完整的欧美版| 午夜美女视频| 三级在线看| 午夜在线精品不卡国产| 亚洲日韩国产有码| 国产又粗又黄又爽的大片| 亚洲三级视频| 天堂色区| 一级十八以 下岁女子毛片| 亚洲国语| 国产精品免费观看视频| 秋霞午夜理论理论福利无码| 永久免费在线视频| 欧美视频一区| 伊人久久中文| 一级毛片免费播放视频| 动漫美女性侵| 亚洲成人免费看| 色婷婷伊人| 夜久久| 在线看视频的网站大全| 秘密教学26我们在做一次吧免费| 天天操人人射| 日韩亚洲欧美在线| 性派对videos18party| 国产精品国产三级国产an| 亚洲国产综合另类视频| 亚洲资源在线| 越南一级淫片高清视频| 97视频视频人人碰视频| 日本妈妈xxxx| 午夜一级毛片免费视频| 亚洲第三区| 中文在线视频观看|