1.安装完成后复制MentorKG.exe和patch_dll.bat到Modelsim安装目录的win32aloem文件夹下 3.运行CMD,输入: 4.将生成的LICENSE.TXT复制到D:modeltech_10.1c文件夹里(自己的路径) 5.添加环境变量 新建.v文件用于设计仿真激励 配置软件关联 新建脚本文件 initial语句主要面向功能模拟,通常不具有可综合性。 模拟0时刻开始执行,只执行一次 同一模块内的多个initial过程块,模拟0时刻开始并行执行。 initial与always语句一样,是不能嵌套使用的。即在initial语句中不能再次嵌套initial语句块。 对变量和存贮器初始化FPGA学习笔记
简介
软件安装
解压
或者
安装Quartus-13
这里,
第 1 项为 quartus 软件主包,为必装选项;
第 2 项为 quartus 软件 64 位系统支持
包,如果你的系统是 64 位的,就需要安装此包,若为 32 位的即可不用勾选,
第 3 项为 quartus的帮助选项,建议安装。
第 4 项为 modelsim –altera 的初学者版本,如果只是基础的学习和仿真,不涉及到相当多的代码内容,安装初学者版本即可完全满足条件。
如果需要仿真很大的内容,就需要选择安装第 5 项,第 5 项使用需要 license,我们可以也可以选择破解,但是不容易破解成功,所以如果没实在的必要,就只安装初学者版本即可。
第 6 项为 dspbuilder,涉及到与 matlab 联合使用,进行相关数字信号处理的开发。
安装 modelsim-altera
Quartus 破解
modelsim破解
2.编辑patch_dll.bat文件,将内容改为:(路径需修改成自己的路径)
attrib -r D:modeltech_10.1cwin32mgls.dll
pause
attrib +r D:modeltech_10.1cwin32mgls.dll
pause
CD D:modeltech_10.1cwin32
D:
attrib -r mgls.dll
attrib -r mgls64.dll
MentorKG.exe -patch .
变量名:MGLS_LICENSE_FILE
变量值:D:modeltech_10.1cLICENSE.TXT(自己的路径)
安装器件库
FPGA介绍
电源供电
运行配置
原理图设计方式
新建工程
新建原理图文件
添加元器件
编译
仿真
下载
基于verilog设计
新建工程及代码
module alternative( input a, input b, input s, output out ); assign out = s ? a : b; endmodule
使用modelsim仿真
仿真激励代码如下`timescale 1ns/1ns //时间刻度 module alternative_testbench(); //定义激励源 reg s1,s2,s3; wire led; //配置模块并将激励输入模块 alternative alternative_simulation( .a(s1), .b(s2), .s(s3), .out(led) ); //仿真 initial begin s1 = 0; s2 = 0; s3 = 0;//改变激励 #100;//延时100个时间刻度 s1 = 1; s2 = 0; s3 = 0;//改变激励 #100;//延时100个时间刻度 s1 = 0; s2 = 1; s3 = 0;//改变激励 #100;//延时100个时间刻度 s1 = 1; s2 = 1; s3 = 0; #100; s1 = 0; s2 = 0; s3 = 1; #100; s1 = 1; s2 = 0; s3 = 1; #100; s1 = 0; s2 = 1; s3 = 1; #100; s1 = 1; s2 = 1; s3 = 1; #100; $stop; end endmodule
添加脚本文件
配置modelsim路径
开始功能仿真,(下面那个是时序仿真)
放大窗口
下载
加载文件
verilog语法
模块module – endmodule
模块的结构
module <模块名> (<端口列表>) <I/O说明> <内部信号声明> <功能定义> endmodule
module led ( /* 端口列表 */ input clk, //输入端口 output [3:0]follow_led //输出端口4个 ); endmodule
always过程块
模板
always @(<敏感信号表达式>) begin //过程赋值 //if语句 //case语句 //while、repeat、for语句 //task、function调用 end
//上升沿触发,高电平清0有效 always @(posedge clk or posedge clear)
always @(posedge clk or negedge clear) begin if(!clear)//当clear==0时候,always会由事件驱动 qout=0; else qout=in; end
initial过程块
initial模板
initial begin 语句1; 语句2; ...... end
initial begin reg1=0; for(addr=0;addr<size;addr=addr+1) memory[addr]=0; end
计数器
always @(posedge clk)begin if(count == 25'd24_999_999) count <= 25'd0; else count <= count + 1'b1; end
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算