1. 程式人生 > >使用Modelsim進行簡單模擬

使用Modelsim進行簡單模擬

這裡記載一下使用modelsim進行簡單的模擬,方便以後使用的時候進行檢視。所謂的簡單的模擬,就是沒有IP核、只用圖形介面不用tcl指令碼進行的模擬。簡單的模擬步驟為:

1、改變路徑到工作環境下的路徑下面,建立工程。

2、新增模擬的原始檔(.v檔案等)。

3、編譯原始檔。

4、啟動模擬,新增模擬訊號。

5、除錯、檢視模擬波形。

這裡就使用一個簡單的例子——8分頻電路,進行演示和講解:

1、改變路徑到工作環境下的路徑下面,建立工程:

  ①開啟modelsim後如果有工程,則先關掉工程:

        

關掉工程:

         

  ②改變工作路徑:

 

   ③建立工程

         

        

OK之後,在當前的工作目錄下面就建立了一個“work”的資料夾,這也就是物理庫:

      

2、新增模擬原始檔

            

或者右擊空白處:

       

然後進行選擇新增:

      

        

        

3、編譯原始檔

    

或者:

         

編譯成功後:

      

如果編譯不成功的,根據提示的資訊,進行修改程式碼,然後對不成功的模組進行部分編譯:

     

(如果modelsim看到的中文是亂碼,那麼可以在編輯器中進行模式轉換,如從ASC轉換成xxx編碼模式),然後修改再編譯(注意,所有的目錄都應該放在英文路徑中)。

4、啟動模擬,新增模擬訊號。

  ①切換到庫選項卡,點開work,啟動模擬

  在資訊欄上面有兩個選項卡:library和project兩個選項卡,編譯完之後,檔案被編譯到work目錄下(library上面有work的選項,點開可以看到設計和模擬的.v檔案),work資料夾裡面包含此次工程編譯庫的資訊;用modelsim開啟的是.mpf檔案,也就是.mpf是modelsim的工程檔案。

                   

右擊tb檔案(如下圖所示),選中測試模組的檔案,右擊,選擇第二個simulation without optimistic(不進行優化程式碼再模擬,因為優化程式碼可能會把一些訊號給優化掉),然後就啟動了模擬:

           

  ②進行新增模擬訊號

啟動模擬後,資訊欄上面的選項卡會增加一個選項:sim;也就是總共有三個選項卡在資訊欄上面(Library,project,sim)sim選項中,左邊是模組的整體結構;右擊例化的設計檔案,選擇 ADD wire,就可以新增訊號到波形視窗

      

然後就彈出了波形視窗:

      

5、除錯、檢視模擬波形。

  ①點選執行

         

就可以看到波形了:

    

Run是每點選一次執行固定的時間(如100ns);

Continuerun是一直執行,直到點選break,點選break後顯示波形;

runall是執行所有,直到點選break,點選break後顯示波形。

  ②看波形,發現不對;修改程式碼後,需要在project區進行重新編譯,然後回到sim區,點選重新開始,然後根據①的步驟就可以繼續完成簡單的模擬工作了。

注:新增模擬訊號可以直接把訊號拖到波形視窗區:

       

然後可以除錯檢視波形。關於其他除錯、檢視波形的技巧,以後學習了、用到了再進行記錄。

相關推薦

使用Modelsim進行簡單模擬

這裡記載一下使用modelsim進行簡單的模擬,方便以後使用的時候進行檢視。所謂的簡單的模擬,就是沒有IP核、只用圖形介面不用tcl指令碼進行的模擬。簡單的模擬步驟為: 1、改變路徑到工作環境下的路徑下面,建立工程。 2、新增模擬的原始檔(.v檔案等)。 3、編譯原始檔。 4、啟動模擬,新增模擬訊號。

php 使用curl 進行簡單模擬提交表單

8.0 bin field this class chrom 提交表單 bsp alt //初始化curl $ch = curl_init(); $url = ‘xxx‘; $option = [ CURLOPT_URL => $url, CURLO

Quatus II13.0連結Altera-Modelsim進行功能模擬

step1:首先要設定altera-modelsim的執行路徑,即指定altera-modelsim的安裝路徑,開啟Quartusii  (1)Tools ->Option  (2)點選EDA Tool Options, 出現左邊的介面,點選紅框2 裡的 “…

用Mathematica對足球賽進行簡單模擬

(我的本科Mathematica課程論文) 足球賽是一項非常複雜的運動,現今FIFA實況的AI對足球賽的模擬還挺不錯的。大學裡我把足球變成了自己的第二專業,這裡我試著用一些儘量簡單的規則來對一場足球賽進行還大致像回事的模擬。 一、基本模型 攻方: 1、攻方球員向對方球門

python 爬蟲 如何通過scrapy簡單模擬登陸豆瓣網,手動進行圖形驗證碼的驗證

1.建立scrapy爬蟲程式,在terminal命令列輸入’scrapy startproject douban_login’ 2.建立爬蟲主程式,主要步驟都在這裡實現,以douban_login.py命名 程式程式碼如下: import scrapy from

使用ModelSim與Quartus結合進行時序模擬

檢視Quartus 6.0的幫助檔案,試驗了一下可以進行時序模擬,以前看到過一些相關文章,但都沒有成功,關鍵的一個問題就是沒有編譯庫檔案,總結步驟如下(本人用Verilog,括號中給出了用VHDL時的相關提示: [注]Quartus版本為 6.0,ModelSim為 6.

java壓縮 GZIP進行簡單壓縮,ZIP進行多文件保存

div ade test ipo fill pop str tput rac java壓縮 GZIP進行簡單壓縮,ZIP進行多文件保存 package org.rui.io.compress; import java.io.BufferedOutputStrea

OpenGL進行簡單的通用計算實例

不容易 gen 繪制 精度 vs2013 names 行處理 sub 技術分享 博主作為OpenGL新手,最近要用OpenGL進行並行的數據計算,突然發現這樣的資料還是很少的,大部分資料和參考書都是講用OpenGL進行渲染的。好不容易找到一本書《GPGPU編程技術,從Ope

python簡單模擬:把樹存儲在數據表中

數據庫 __main__ __name__ com clas list lis 數據表 name 在數據庫中建立一個表,有Id, fatherId, value 三個字段,就可以存儲一個樹。 如何把該表中的數據以樹的形式呈現出來,下面小弟用python簡單模擬一下。 初學p

多線程練習(簡單模擬火車站多窗口同時售票)

火車 thread art this 模擬 練習 lis span 對象 模擬火車站售票窗口同時售票 public class xianchenglianxi { public static void main(String arg[]){

Unity3D 使用XML進行簡單的配置文件改動

convert tar gui red 綠色 更新 會有 tap watermark 1、首先是看看效果圖: 開始執行項目例如以下圖所看到的 2、點擊綠色button改動配置文件再點擊改動button成功改動方塊顏色 3、接了下是實現的過程: 首

JMeter進行簡單的數據庫(mysql)壓力測試

點擊 監聽器 ati 命名 -1 lib conn java-5 logs 1、點擊測試計劃,再點擊“瀏覽”,把JDBC驅動添加進來: 註:JDBC驅動一般的位置在java的安裝地址下,路徑類似於: \java\jre\lib\ext 文件為:m

大魚吃小魚(簡單模擬

一個 入棧 nco http spa println code tar pre 題目:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1289 從左往右將數字壓入棧裏(想象成一個水平向右的棧),如果

通過JDBC進行簡單的增刪改查(以MySQL為例)

mage ron end main exce javax xtend 探索 rman 通過JDBC進行簡單的增刪改查(以MySQL為例) 目錄 前言:什麽是JDBC 一、準備工作(一):MySQL安裝配置和基礎學習 二、準備工作(二):下載數據庫對應的jar包並

在ROS中使用OpenCV進行簡單的圖像處理

共享指針 works 文件夾 catch 使用 取圖 hand pack process 實例:從ROS中讀取圖象,轉換後將彩色圖象變成灰度圖象,並返回灰度圖象,轉換後在ROS下輸出。 正文 1. 在ROS下創建工作空間 工作空間(work space)是RO

WPF基礎之StackPanel面板進行簡單布局

垂直 stack 像素 ati -- 垂直居中 寬度 進行 alignment <Border BorderThickness="2" Padding="5" CornerRadius="15"> 邊框寬度2 ,內邊距(邊框和內部內容之間的距離)5,圓角15像

HihoCoder1052基因工程(簡單模擬題)

修改方法 ace lib stream 方法 div 最小 mes 大寫 描述 小Hi和小Ho正在進行一項基因工程實驗。他們要修改一段長度為N的DNA序列,使得這段DNA上最前面的K個堿基組成的序列與最後面的K個堿基組成的序列完全一致。 例如對於序列"ATCGA

7-18 銀行業務隊列簡單模擬(25 分)

時間間隔 int fin scanf 就是 偶數 static log 辦理 設某銀行有A、B兩個業務窗口,且處理業務的速度不一樣,其中A窗口處理速度是B窗口的2倍 —— 即當A窗口每處理完2個顧客時,B窗口處理完1個顧客。給定到達銀行的顧客序列,請按業務完成的順序輸出

用python進行簡單的畫圖操作

line 51cto imp spin osi style data gen ott 我用python的matplotlib模塊進行簡單的畫圖操作,作為入門參考,下面直接上代碼:#coding:utf-8 import numpy as np import matplotl

Python3網絡爬蟲(一):利用urllib進行簡單的網頁抓取

robot 資源 urlopen 解碼 支付寶 編碼方式 只需要 服務器 net 一、預備知識 1.Python3.x基礎知識學習: 可以在通過如下方式進行學習: (1)廖雪峰Python3教程(文檔): URL:http://www.liaoxue