FPGA初探-ise14.7
FPGA部分语法
{ }变成了begin和and
<位宽><进制><数字>这种描述方式。
重点是位宽指的是二进制位宽,如果16进制一个数占4个位宽。
用“always”块
如:always@(posedge clk or posedge clr)是类似while语句的
使用ise14.7跑例子的坑
timescale
`timescale 10ns / 1ns
timescale 仿真时间单位 / 时间精度
注意:用于说明仿真时间单位和时间精度的数字只能是1、10、100,不能为其它的数字。而且,时间精度不能比时间单位还要大。最多两则一样大。
https://blog.csdn.net/zhenzhen90/article/details/8784099 有例子
形象理解:
timescale对相对时间的影响
如果设定`timescale 1ns/1ps,#100是相对时间,等价于#100ns,而#100.1111会被认为是#100.111ns,因为它的精度高于timescaled的时间精度,而被四舍五入。
https://www.cnblogs.com/hxxy/articles/3574141.html
前面的是单位时间 后面的是处理的时间精度
综合
行为仿真
分频器代码
–top.v–
`timescale 10ns / 1ns
module top(
input CLK,
input RST,
output reg[3:0] cnter); //端口声明reg[26:0] buf_cnter;
always @ (posedge CLK or posedge RST)begin if (RST)beginbuf_cnter <= 27'b0; //置位时赋初值 cnter <= 4'b0;endelse beginif(buf_cnter == 27'd499) //设置分频系数beginbuf_cnter <= 0; //分频计数器计数到最大后置位if(cnter == 4'b1111) //判断4位计数器是否计数到最大值cnter <= 4'b0; //置位else cnter <= cnter + 1'b1; // 4位计数器计数endelsebuf_cnter <= buf_cnter + 1'b1; //分频器计数endend
endmodule
top描述了一个分频器,RST脉冲上升沿负责重置buf_cnter和 cnter。
CLK是时钟,只要上升沿就判断buf_cnter是否达到499,否则buf_cnter+1,(每500个时钟上升沿,做一次操作,分频器的核心)
到499后,判断cnter是否达到最大,最大就复位,否则就cnter+1。(计数器,没懂,是不是改成2进制更好一点)
test.v
`timescale 10ns / 1ns
module test;// Inputsreg CLK;reg RST;// Outputswire [3:0] cnter;// Instantiate the Unit Under Test (UUT)top uut (.CLK(CLK), .RST(RST), .cnter(cnter));initial begin// Initialize InputsCLK = 0;RST = 1;// Wait 100 ns for global reset to finish#800;RST = 0; // Add stimulus hereendalways begin#100;CLK=~CLK;end
endmodule
为测试模块
`timescale 10ns / 1ns两个文件应该保持一致。test负责生成clk 及部分初始化任务
输入法
不能用中文输入法 否则崩溃,问题待解决。
FPGA初探-ise14.7相关推荐
- FPGA | Xilinx ISE14.7 LVDS应用
今天给大侠带来 Xilinx ISE14.7 LVDS应用,话不多说,上货. 最近项目需要用到差分信号传输,于是看了一下FPGA上差分信号的使用.Xilinx FPGA中,主要通过原语实现差分信号的收 ...
- FPGA初探(五)之两位数码管显示
两位数码管显示 目标: 共阳极数码管实现动态显示 实现过程规划(功能分解,分步实现): 取得两位数0~99, 第一步,分成个位十位, 第二步,将个位十位转换为数码管编码, 第三步,数码管显示模块: 1 ...
- (19)ISE14.7软件生成bit失败永久解决方法(FPGA不积跬步101)
名言:工欲善事必先利器. 1 问题描述 ISE14.7与win10 64位系统无法完美兼容,即使破解也会导致随机性生成bit文件失败. 之前笔者也尝试了好多解决方法,但是经过最近调试时,之前发布的解决 ...
- (13)ISE14.7bit文件生成mcs文件(FPGA不积跬步101)
1 什么是bit文件? bit文件就是FPGA设计的最终文件,用于配置FPGA的配置比特流. 2 什么是MCS文件? 将bit文件转为MCS文件,然后下载MCS文件到ROM中.在ISE14.7下生成B ...
- (7)ISE14.7无用引脚设置上下拉或高阻态(FPGA不积跬步101)
名言:在一个领域不断增加深度,你会成为该领域专家. 1 FPGA设计中没有使用的IO管脚如何处理? 根据设计要求一般会设置为上拉.下拉或者高阻态.ISE14.7未使用管脚默认设置为下拉.实际设计中一般 ...
- (6)ISE14.7生成bit文件报错解决(FPGA不积跬步101)
引言:丘山积卑而为高,江河合水而为大.--庄子 1 软件平台 操作系统:Windows 10 开发套件:ISE14.7 2 问题描述 FPGA开发工具ISE14.7与win10系统存在兼容问题,即使w ...
- xilinx基础篇Ⅰ(3)ISE14.7下载FPGA
1. 打开IMPAC 进入 ISE14.7 软件以后,我们点击 Configure Target Device 图标,进入 IMPACT 程序下载界面 2. 初始化链(chain),识别芯片 在 IM ...
- 【FPGA】初探FPGA —— 入门过程的分享
#悬崖上的花,越芬芳越无常~ 终于又抽出时间搞这个FPGA入门系列了.这个也是我之前在B站做的视频,关于FPGA入门的过程经验的一个总结,去帮助大家帮助了解FPGA的入门. 南信大电子工程师协会慕课计 ...
- FPGA udp纯逻辑编写,Xilinx ise14.7平台,工程验证千兆无丢包 加200k128通道采集
FPGA udp纯逻辑编写,Xilinx ise14.7平台,工程验证千兆无丢包 加200k128通道采集 ID:221000630637522274gaoisgod
最新文章
- 一种storyboard+swift实现页面跳转的方法
- getRequestDispatcher()与sendRedirect()的区别
- Spring WebSocket初探2 (Spring WebSocket入门教程)
- JavaScript面向对象编程指南(五) 原型
- python 动态编译代码_编译Python代码以使用Cython静态链接可执行文...
- Telnet发邮件过程
- iis 创建应用程序池的方法与分析第3/3页
- 计算机考试数据库相关知识点,计算机等级考试四级数据库工程师知识点总结
- ASP.NET读取自定义的config文件
- HttpClient使用详解
- Python 爬取所有51VOA网站的Learn a words文本及mp3音频
- 七脉轮位置_[转载]地球的七大脉轮位置
- Web前端--HTML+CSS+JavaScript酷炫游戏动漫网页设计
- 腾达无线路由器怎么设置能让自己的网速快
- java声卡录音_win10下程序无法录音或使用麦克风
- 大型网站架设,LMP+Nginx负载均衡+Keepalived热备+Ceph存储集群架构+Web动静分离架构
- 亚马逊AWS命令行 aws cli
- Ubuntu 20.04 更新软件依赖,源 ,删除软件三个常用指令
- MySQL权限与安全管理之权限表与账户管理
- Ribbons界面介绍(2)——这是不是合适的用户界面