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的内容结束。谢谢

posted @ 2017-11-29 01:28  逻辑客  阅读(1402)  评论(0编辑  收藏  举报