【技术分享】FPGA杂记之基础篇

发布时间2020-12-23

探讨

Verilog基础语法



1.1  可综合模块


以module为摸块,具体的进行有以下几点:



1.1.1 时序逻辑


以异步晕人的D晕人器举例,时序逻辑性在always块里满足。



具体还要注意点:


1. 声明函摸块时,设置字段肯定是wire分类。


2. 申明模块电源时,效果因素值可能是wire,也可能是reg, reg因素值只是在always块中赋值。


3. 比较敏感下拉列表既可能是边沿勾起,也可能是电平勾起。


4. 沿重置的逻辑推理里,固定采用了的事非梗塞重置<=。


1.1.2 组合逻辑


以数值选定器特征分析,三人组合形式逻辑平常选用assign语句赋值。



主要的注重点:


1. sel = 0时,c = a;sel = 1时,c =b,即二选一数据源选购器。四选一条有多个选购端,4个导入端,八选一条是几个选购端,九个导入端。


2. wire 变量类型一定的用到间断性赋值语句赋值,甚至要用拥塞赋值。


1.2 防真方案


防真功能组件和可融合功能组件的不同:


可全方位的控制器终于产生的bit文本会烧录进基带芯片程序来进行,而逼真模仿控制器编译之后是在逼真模仿应用(随后modelsim)上程序来进行的。逼真模仿控制器是对于可全方位的控制器来进行例化,并完成逼真模仿应用的模仿,不错开始手机验证我们都写的可全方位的控制器的实现了这种现象。


以计算器举例,可基础性信息模块如下所述:



根据之内可结合模快的逼真模快下面的:



1. 模型仿真的模快声明怎么写不要发送列表页。


2. initial块只可以对【寄存器】量实施赋值。


3. 例化打出控制模块时,如果原状打出控制模块是打出变数,则括号内一定要【wire变数】。


HDL常见例子


2.1 译码器


2.1.1 可综合模块(case语句)


此模组用case改变没事最大数据选取的功用,先诞生没事个8位计算器器,根据确定计算器器的值来輸出不同的的取值,当计算器器计算器到1时,o_data和o_dv主要輸出5和1,当计算器器为2时,輸出7和1,任何均輸出0。(Note:Case语句往往会运行于的工作状态机中的工作状态的确定)



Case语句主意点:


需求有default语句,甚至会成型锁存器。


2.1.2 防真信息模块



2.2 状态机


原因FPGA企业内部语句块都有并行性运转的,如果你们小编希望FPGA如果根据步骤程序执行我国的的语句时,也就会会用动态机。


底下例是实用模式机模拟训练的一款简简单单的自主售货机,该售货机中的商品种类 2.5 元每件,总是 投币既能进行 1 元,依然进行 0.5 元,当进行 3 元时,需求快速设置找零。


2.2.1 情况下图



2.2.2 可整合模组(2段式的状态机)



2.2.3 仿真模块



2.2.4 仿真脚本


模拟模拟模拟游戏代码能够节约人工成本运营modelsimapp软件几何图形对话框的步凑,运营游戏代码,modelsim能够依据游戏代码命令行自己运营其中包括创造业务根目录,编原文翻译件,启动服务器模拟模拟模拟等步凑,以下的是本例中的模拟模拟模拟游戏代码。



模型模仿js撰写好后,只需要进到模型模仿手机app(本例实用的是modelsim),改变了目前路劲到js储存的路劲,然而在modelsim命令行行读取 do  [js文件格式名] 只能。



模型模拟结局:



2.2.5 上板测试


上板测试英文英文对原先的前提条件说了必须调整更便于测量没想到,复制粘贴和輸出各是运行的键位和Led,测试英文英文版运行的是Anlogic的EF3L40CG332B_DEV,进行的特点以下的:


① 在开发设计板上完工半自动售货机的实验设计,投币的小动作用按钮保证 , 当按做次按钮(按下面公式到抬起算做次),视作投币做次。


② 控制键有5个,键后各用代表人 5 毛和 1 元,汽水市价 2.5 元。


③ 当开始总刷卡数额才为 5 毛时, led 灯亮一款 ,开始总刷卡数额才为 1 元时, led 灯亮两种, 开始总刷卡数额才为 1.5 元时, led 灯亮三大, 开始总刷卡数额才为 2 元时, led 亮五个, 用横向账单流水帐账灯功能当作出爱客仕还有就是不找零的情況,用横向账单流水帐账灯功能当作既出爱客仕又找零的情況。账单流水帐账灯持续时间十秒后灭掉,工作程序回家后初使工作程序。


进行设计工作状态图下面:



代碼具体情况见建设工程fsm_key,小红书小红书笔记不会赘述,纷纷表示小红书小红书笔记大部分备案观于楼层方案和例化的相关内容生活常识点:


建设工程分类目录以下所显示:



各方案当中的原因是:


层顶信息名称名称是fsm.v,在fsm.v中都会实现了版块图片led_water_single,led_Water_double和key_debounce,这多个版块图片的功用各是异向进账灯,横向进账灯和按建消抖。想在层顶信息名称名称中都会实现相对应的版块图片想要在层顶信息名称名称中对有效的版块图片实现例化,以异向进账灯试对。


单边留水灯的声明公告有以下几点:



(实际的特点变现二维码略,告之要,请注册账号www.fortune-co.com发表评论)



这样的话在fsm.v中例化的方式如下所示:



括号外的数据信息是分属的证明数据信息;括号内的数据信息就是从fsm信息模块中传播的数据信息,该数据信息简称可自名词解释。


整工程建筑的体系结构如下所述:(随着本实验操作还没有其余写个总的TOP文书,可是将例化和程序机表现办理都放置于了fsm传感器中,由此top层和程序机传感器都标明的是fsm)


表中key05,key10,即使从外面接入网网的数据,led[7:0]即输入数据。接入网网数据让我们要接进匹配的键盘,行参考价值EF3L40CG332B_DEV的道理图:



SW2和SW3相匹配的FPGA的管脚主要是R19和R20,反之亦然可以查看,几个led的相匹配脚,并标出相关的管脚独立性文件下载:



管脚限制档案写完后,在可结合模块电源顶层楼档案中的导入伤害信息则会代表到某些的物理上的导入伤害,也行利用立体图形页面装置装置。


搞定后编译安装到板子上气象观测后果。


在某次研究的的时候中也情况一堆个书写程序有误原因,刚书写完上板测式时遇到最终和预想的有异同,实际的错设在输进3元步入纵向账单工资账单流水账账灯的动态时,纵向账单工资账单流水账账灯领域账单工资账单流水账账一般,当正向账单工资账单流水账账时,在倒数其二个灯会卡住,并且经常亮灭倒数二三个灯,没有办法结束正向账单工资账单流水账账。


基于弟一些顺向银行银行流水账账单是合适的,从而预测未来是在选择性银行银行流水账账单时有一件选择不正确的因此选择性银行银行流水账账单没有办法合适自动运行,步入到led_water_double模组相对于选择性银行银行流水账账单灯的工作模组,经验货发现了是配置旋转象征的情况下选择能力写忘了。



区分條件必须是led == 8’b1111_1110,变更后,测试不良现象符合国家预料的要求。


1

END

1


以上的是FPGA杂记根基篇的1、部件,因篇散文通篇所限,文中先每日发送到此处。未果会现更好地通过FPGA的设计的概念篇散文,烦请瞩目……




点击反馈您的需求,助力我们打造更优质的FPGA产品!

订阅信息
a1_icon02.svg
download.jpg

订阅

位置

我已仔细阅读并同意隐私声明