• xilinx和ise的互联仿真


    xilinx和ise的互联仿真

    欢迎使用 赛灵思(xilinx)编辑器

    1.设置modelsim为ise的默认仿真工具

    在xilinx的工程中, 点击右键,选择图中红色选框中的选项。

    1-1工程选项

    1-1工程选项

    弹出如图1-2对话框

    1-2 工程属性

    1-2 工程属性

    在simulator中选择modelsim-se mixed选项,点击ok,完成设置。

    1-3 设置完成

    1-3 设置完成

    2.设置ISE 调用modelsim路径

    点击editpreferences

    2-1 设置路径

    2-1 设置路径

    弹出如图对话框

    enter description here

    2-2 设置路径2

    点击integerated tools选项,在model tech simulator选项中点击红色选项框,

    enter description here

    2-3 设置路径3

    modelsim的安装目录下找到modelsim.exe文件,双击

    enter description here

    2-4 设置路径4

    点击ok,设置完成。

    3.仿真

    下面已led为例,给出verilog源代码以及testbench源码。

    1.  
    2. `timescale 1ns/1ns 
    3. module led_addr_display 
    4. #( 
    5. parameter LED_WIDTH = 8 


    6. //global clock 
    7. input clk, 
    8. input rst_n, 
    9.  
    10. //user led output 
    11. output reg [LED_WIDTH-1:0] led_data 
    12. ); 
    13.  
    14. //----------------------------------- 
    15. //Delay for 0.3s 
    16. //localparam DELAY_TOP = 24'hff_ffff; 
    17. localparam DELAY_TOP = 24'hf; //Just for test 
    18. reg [23:0] delay_cnt; 
    19. always@(posedge clk or negedge rst_n) 
    20. begin 
    21. if(!rst_n) 
    22. delay_cnt <= 0; 
    23. else if(delay_cnt < DELAY_TOP) 
    24. delay_cnt <= delay_cnt + 1'b1; 
    25. else 
    26. delay_cnt <= 0
    27. end 
    28. wire delay_done = (delay_cnt == DELAY_TOP) ? 1'b1 : 1'b0; 
    29.  
    30. //----------------------------------- 
    31. always@(posedge clk or negedge rst_n) 
    32. begin 
    33. if(!rst_n) 
    34. led_data <= 0
    35. else if(delay_done) 
    36. led_data <= led_data + 1'b1; 
    37. else 
    38. led_data <= led_data; 
    39. end 
    40. endmodule 
    41.  

    测试代码如下

    1.  
    2. `timescale 1ns/1ns 
    3. module LED_Display_TB; 
    4.  
    5. //------------------------------------------ 
    6. //clock generate module 
    7. reg clk;  
    8. reg rst_n; 
    9. localparam PERIOD = 20; //50MHz 
    10. initial  
    11. begin 
    12. clk = 0; 
    13. forever #(PERIOD/2)  
    14. clk = ~clk; 
    15. end 
    16.  
    17. task task_reset; 
    18. begin 
    19. rst_n = 0; 
    20. repeat(2) @(negedge clk); 
    21. rst_n = 1; 
    22. end 
    23. endtask 
    24.  
    25. //---------------------------------------------- 
    26. //the target component instantiation 
    27. //---------------------------- 
    28. //led display for addr 
    29. wire [7:0] led_data; 
    30. led_addr_display 
    31. #( 
    32. .LED_WIDTH (8) 
    33. ) 
    34. led_addr_display 
    35. ( 
    36. //global clock 
    37. .clk (clk), 
    38. .rst_n (rst_n), 
    39.  
    40. //user led output 
    41. .led_data (led_data) 
    42. ); 
    43.  
    44.  
    45. //--------------------------------------- 
    46. //system initialization 
    47. task task_sysinit; 
    48. begin 
    49.  
    50. end 
    51. endtask 
    52.  
    53. //---------------------------------------- 
    54. //testbench of the RTL 
    55. initial 
    56. begin 
    57. task_sysinit; 
    58. task_reset; 
    59. end 
    60.  
    61. endmodule 
    62.  

    在ise中建立工程,在工程导航中选中红色选框中的选项

    enter description here

    3-1 仿真1

    双击下图中的选项

    enter description here

    3-2 仿真2

    弹出下列选框,点击图中红色框的运行按钮

    enter description here

    3-3 仿真3

    然后等待一会点击stop,在wave视图中点击zoom full

    enter description here

    3-4 仿真4

    点击图中的放大按钮到合适的视图。

    enter description here

    3-5 仿真5

    到这,ise关联modelsim的内容结束。谢谢

  • 相关阅读:
    使用JQuery实现延迟加载UserControl
    VisualStudio中的列选择
    SQL SERVER 2008 CTE生成结点的FullPath
    woocommerce独立站建站
    Java NIO使用及原理分析(二)
    java.io学习总结 转载
    java io与装饰器模式
    函数式思维: 不变性
    函数式思维: 运用函数式思维,第2 部分
    maven添加非官方jar包到本地库(maven: install an external jar into local maven repository)
  • 原文地址:https://www.cnblogs.com/lpp2jwz/p/7914481.html
Copyright © 2020-2023  润新知