![](https://img-blog.csdnimg.cn/20190918140037908.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
FPGA&IC设计
。
FA@TE
这个作者很懒,什么都没留下…
展开
-
IC设计中的有无符号数计算
IC设计中的有无符号数计算1.两个输入是有符号数,结果自动为有符号数。2.一个有符号数和一个无符号数运算,运算数自动按照无符号数补位。3.为防止溢出,中间结果存储寄存器的位宽要足够大。4.有符号数赋值给无符号数,按照有符号数补位。5.无符号数赋值给有符号数,按照无符号数补位。6.将低位宽的数左右移后赋值给高尾款的数,其在运算时是根据有无符号的情况将位宽补齐后,再进行左右移。7.逻辑右移 >> ,算术右移>>>。总结来说,有符号数和无符号数的区别,在于计算时的补位原创 2021-08-22 19:40:29 · 276 阅读 · 0 评论 -
Inverter vs Buffer Based Clock Tree
转载于知乎:Inverter vs Buffer Based Clock TreeBuffer 是 两个反相器的级联。对于CTS来说 (clock tree synthesis 时钟树综合),使用buffer或者inverters 有何不同呢?构建时钟树时,使用inverter或者buffer各自的优劣势是什么?数字后端工程师在做CTS时,将会考虑哪些因素?基于inverter的时钟树为了便于讨论,我们假设只是用一种 inverter 来做tree, 并且这些 inverter 都等距摆放。原理如图一转载 2021-07-13 10:25:37 · 6374 阅读 · 2 评论 -
VHDL中数组赋值写法
VHDL中数组赋值写法VHDL中不允许对数组直接赋值 ,先对变量赋值,再由变量赋值给数组才可以。参考代码中对iram_128_t_mem(i) 赋值写法。library IEEE;use IEEE.std_logic_1164.all;entity iram_128_t is port ( WE : in std_logic; CLK : in std_logic; ADDR : in std_logic_vector(6 downto 0); DATA : in std_log原创 2020-12-03 13:13:08 · 10578 阅读 · 0 评论 -
FPGA抗辐射加固方法
FPGA工具三模流程1.FPGA三模工具2.Microsemi FPGA三模3.Xilinx FPGA三模1.FPGA三模工具FPGA三模工具包括Precision 和 TMR Tool等。2.Microsemi FPGA三模以A3PE3000L为例,其集成开发工具是Libero,集成了综合工具Synplify pro,布线工具Designer,在线调试工具 Identify。在使用Precision 三模处理后生成.edn文件后,在回到Designer布线工具中进行布局布线操作。新建工程后添加原创 2020-10-21 17:59:23 · 1889 阅读 · 2 评论 -
FPGA设计中管脚电平配置及上下拉的问题
在FPGA设计中一般需要对管脚进行电平属性配置,包括LVTTL、LVCOMS等等,具体电压范围可以参考ISE管脚约束设置参数详解.此外,对于在设计中未使用的管脚一般要进行上拉设置,在Quartus ii 的环境中,在assignment->device->device and pin options中选择unused pins,可以将其设置为As input tri-state with weak pull-up,意将未使用管脚设置为若上拉。而在ISE环境中,方法稍有不同,右键Genera原创 2020-07-30 11:41:19 · 9680 阅读 · 0 评论 -
状态机的安全实现
在设计中,为了保证状态机的正确运行,一般在综合时选择状态机安全实现,能够使状态机进入错误状态时,自动跳转到复位状态。在使用synplify 进行综合时,首先需要将综合选项FSM compiler和FSM Explorer去掉,关于这两个选项的所用可以参见Synplify 使用过程中最常用的选项及命令的介绍。另外,在综合时为了保证状态机被正确综合为安全状态机,需要添加约束,例 reg [5:0]FSM_CS /*synthesis syn_encoding =“onehot,safe” */;这样才原创 2020-07-21 09:26:06 · 3553 阅读 · 0 评论 -
组合逻辑环
产生组合逻辑环路的原因有两个,一个是将组合逻辑电路的输出端又通过组合逻辑反馈到输入端,另一个是将寄存器的输出端通过组合逻辑反馈到同一个寄存器的异步端(异步复位或异步置位)。1) assign q = a&b;assign a = ~q;2)always@(posedge clk, negedge rst_n)beginif(rst_n == 1’b0)q= 1’b0;elseq= a;endassign rst_n = ~q;组合逻辑环的存在危害极大,需要极力避免!..原创 2020-06-14 11:36:37 · 3667 阅读 · 2 评论 -
FPGA使用中需要注意的问题
1.状态机采用safe 综合。2.不能使用inout信号在fpga内部模块间传递,只能用在模块顶层。也就是数据输入和输出分开写。3.不允许使用时钟反向,存在异步时钟域问题。4.移位寄存器要注意最高位或最低位的数据补位,shift_reg <= {shift_reg[6:0],1’b0};5.门控时钟注意毛刺。6.寻址时,保证是全地址译码。7.v2fpga有两个复位信号,要注意在配置刷新后完成!...原创 2020-06-06 17:17:12 · 707 阅读 · 0 评论 -
网表文件的生成和使用
将hdl封装成blackbox生成blackbox的具体操作将hdl封装成blackbox: https://blog.csdn.net/jbb0523/article/details/7846921.生成blackbox的具体操作: https://www.cnblogs.com/adamite/p/ise_ngc.html.原创 2020-06-02 14:40:18 · 3349 阅读 · 0 评论 -
fpga外部输入信号处理方法
收藏一片文章,侵删!原文地址:https://www.it610.com/article/1282778.htm我们将问题分解为2部分,来自同步时钟域信号的处理和来自异步时钟域信号的处理。前者要简单许多,所以先讨论前者,再讨论后者。1.同步时钟域信号的处理一般来说,在全同步设计中,如果信号来自同一时钟域,各模块的输入不需要寄存。只要满足建立时间,保持时间的约束,可以保证在时钟上升沿到来时,输入信号已经稳定,可以采样得到正确的值。但是如果模块需要使用输入信号的跳变沿(比如帧同步信号),千万不要直接这样转载 2020-05-21 11:04:26 · 7714 阅读 · 1 评论