ISE联合notepad++&modelsim使用教程

1.创建新工程:lab(实际功能是,两个与模块的结果再进行或)

新建工程:

 工程命名:

 选择器件型号和语言类型:

 然后点击next和finish,工程创立完成

2.编写程序:

右击工程,创建新的文件:

 我这里选择的是VHDL module ,如果你是Verilog,也可以选择,然后输入文件名字:

然后可以输入这个模块的输入输出端口:

点击next和finish后,完成创建,因为我关联了notepad++,会自动跳转到编辑器界面:

 然后编写程序即可:

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;

entity MY_AND2 is
    Port ( A : in  STD_LOGIC;
           B : in  STD_LOGIC;
           C : out  STD_LOGIC);
end MY_AND2;

architecture Behavioral of MY_AND2 is

begin
    C  <= A  and  B;

end Behavioral;

同理,我们编写MY_OR2程序:

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;


entity MY_OR2 is
    Port ( A : in  STD_LOGIC;
           B : in  STD_LOGIC;
           C : out  STD_LOGIC);
end MY_OR2;

architecture Behavioral of MY_OR2 is

begin

    C <= A or B;
end Behavioral;

 然后我们编写顶层文件:

 

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;



entity AND_OR is
    Port ( IN1 : in  STD_LOGIC;
           IN2 : in  STD_LOGIC;
           IN3 : in  STD_LOGIC;
           IN4 : in  STD_LOGIC;
           Z : out  STD_LOGIC);
end AND_OR;

architecture Behavioral of AND_OR is

component MY_AND2
    port(
        A : in std_logic;
        B:in std_logic;
        C :out std_logic
    );
end component;

component MY_OR2
    port(
        A : in std_logic;
        B:in std_logic;
        C :out std_logic
    );
end component;
signal sig1,sig2:std_logic;
begin
    U0:MY_AND2 port map(A  => IN1,B => IN2,C=>sig1);
    U1:MY_AND2 port map(A  => IN3,B => IN4,C=>sig2);
    U2:MY_OR2 port map(A  => sig1,B => sig2,C=>Z);

end Behavioral;

3.语法检查: 

 

 4.查看电路图:

双击 view rtl schmemaic即可:

 

 5.行为级仿真:

创建tb测试文件:

 选择顶层文件:

 进行tb文件编写:

然后双击simulate behavioral model就可以进行仿真了:

LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
 
 
ENTITY tb_AND_OR IS
END tb_AND_OR;
 
ARCHITECTURE behavior OF tb_AND_OR IS 
 
    -- Component Declaration for the Unit Under Test (UUT)
 
    COMPONENT AND_OR
    PORT(
         IN1 : IN  std_logic;
         IN2 : IN  std_logic;
         IN3 : IN  std_logic;
         IN4 : IN  std_logic;
         Z : OUT  std_logic
        );
    END COMPONENT;
    

   --Inputs
   signal IN1 : std_logic:='0';
   signal IN2 : std_logic:='0';
   signal IN3 : std_logic :='0';
   signal IN4 : std_logic :='0';

 	--Outputs
   signal Z : std_logic;
 
BEGIN
 
	-- Instantiate the Unit Under Test (UUT)
   uut: AND_OR PORT MAP (
          IN1 => IN1,
          IN2 => IN2,
          IN3 => IN3,
          IN4 => IN4,
          Z => Z
        );

 
  
    TB:process
    begin
        IN1 <= '1';IN2<='0';
        IN3 <= '0';IN4<='1';
        wait for 50 ns;	
        IN1 <= '0';IN2<='0';
        IN3 <= '1';IN4<='1';
        wait for 50 ns;	
         IN1 <= '1';IN2<='0';
        IN3 <= '0';IN4<='1';
        
        wait;
    end process;

  

END;

 得出仿真波形图:

 6.生成网表文件

 双击implement design:

 然后就可以看到占用的资源的总体报告:

 7.布局布线后仿真:

如果没有出现仿真器,就点击一下tb文件

 我们可以看到后仿真后 时序依旧满足要求:

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Notepad++ 是一款非常有特色的编辑器,是开源软件,可以免费使用。功能有: ①、内置支持多达 27 种语法高亮度显示(囊括各种常见的源代码、脚本,值得一提的是,完美支持 .nfo 文件查看),也支持自定义语言; ②、可自动检测文件类型,根据关键字显示节点,节点可自由折叠/打开,代码显示得非常有层次感!这是此软件最具特色的体现之一; ③、可打开双窗口,在分窗口中又可打开多个子窗口,允许快捷切换全屏显示模式(F11),支持鼠标滚轮改变文档显示比例,等等; ④、提供数个特色东东,如 邻行互换位置、宏功能,等等...现在网上有很多文件编辑器,这个却是不可多得的一款,不论是日常使用还是手写编程代码,都能让你体会到它独有的优势和方便。 Notepad++ 是在微软视窗环境之下的一个免费的代码编辑器。为了产生小巧且有效率的代码编辑器,这个在GPL许可证下的自由软体开发专案採用 win32 api 和 STL 以 C++ 程式语言撰写成,并且选用功能强大的编辑模组 Scintilla。多亏它的轻巧与执行效率,Notepad++ 可完美地取代微软视窗的记事本。 Notepad++ 的主要功能: 语法高亮度显示及语法摺迭功能 支援的程式语言: C C++ Java C# XML HTML PHP CSS makefile ASCII art (.nfo) doxygen ini file batch file Javascript ASP VB/VBS SQL Objective-C RC resource file Pascal Perl Python Lua TeX TCL Assembler Ruby Lisp Scheme Properties Diff Smalltalk Postscript VHDL Ada Caml AutoIt KiXtart Matlab Verilog Haskell InnoSetup CMake YAML 列印所见即所得(WYSIWYG) 如果你有彩色印表机,你可以把你的原始码以多种颜色列印出来。 用户自定程式语言 用户可自定程式语言:自定的程式语言不仅有语法高亮度显示功能,而且有语法摺迭功能功能。 註解关键字及运算符号亦可自定。详情请参考用户自定程式语言线上辅助 ( 画面一, 画面二, 画面三, 画面四 )。 字词自动完成功能(Auto-completion) 用 户能做自己的API列表(或从下载专区下载你需要的api档案) 。一旦api档案建立完成且在正确的路径系统,键入Ctrl+Space(你可以修改这个键盘捷径)启动字词自动完成功能(参考字词自动完成功能画面)。 欲知更详尽的资讯,请参考字词自动完成功能线上辅助。 支援同时编辑多重文件 你可以同时开启多页面来编辑。 支援多重视窗同步编辑 用户可同时有两个视窗对比排列。你不但能开启两个不同文件在分别两个不同的视窗内 (画面), 并且能开启一个单独文件在两个不同的视窗内(clone mode)进行同步编辑。同步编辑的成果将在两个的视窗内同时更新。请参考同步编辑画面。 支援Regular Expression搜寻及取代 用户可用Regular Expression来搜寻及取代一个字串。 完全支援拖曳功能 你可用拖曳功能来开启文件。你也可以用拖曳功能来变换开启文件的位置。 你甚至可拖曳开启文件从一个视窗到另一个视窗。 内部视窗位置可任意移动 自动侦测开启档案状态 如果外部修改(或删除)Notepad++已开启档案,用户将会被通知更新档案内容(或移除档案)。 放大与缩小功能 不需要多做介绍,画面将说明一切。 支援多国语言 支援中日韩视窗环境,及阿拉伯语与希柏来文的视窗环境。请参考 Notepad++ 在中文视窗下,阿拉伯语视窗下以及希柏来文视窗下的画面。 书籤 用户可用滑鼠点击书籤边行(书籤边行位于列数边行右方)或使用键盘捷径Ctrl+F2来标明或移除书籤。使用键盘捷径F2到下一个书籤或Shift+F2到上一个书籤。如欲清除所有书籤,使用选单 寻找->清除所有书籤 。请参考画面. 高亮度括号及缩排辅助 当插字游标(caret)移至下列字元{ } [ ] ( )旁侧时, 此字元与远方相对应的字元以及缩排辅助(如果存在的话)将会以高亮度来显示。请参考画面一, 画面二。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值