![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
IntelFPGA_learning
Mr_liu_666
keep coding
展开
-
Error: (vlog-7) Failed to open design unit file “d:
Error: (vlog-7) Failed to open design unit file"d:A_2021IC_IEContestFPGALIU22_ethernet_testethernet_testsourceimportssrcutil_gmii_to_rgmii.v" in read mode.原创 2021-05-28 20:57:49 · 2569 阅读 · 2 评论 -
Error: (vlog-7) Failed to open design unit file “d:/ethe
看起来是文件占用或者是命名错误,而事实上,这个就是单纯的找不到文件而已——多半是你给的路径不对,或者是.v文件没有后缀之类的小问题。原创 2021-05-28 20:15:55 · 2025 阅读 · 0 评论 -
‘udp_send_data_length‘ already declared in this scope (mac
意思是说udp_send_data_length信号已经在输入输出端口了,再定义一个这样的reg或者wire,就重名了,具体处理就是reg [15:0] udp_send_data_length1 ;原创 2021-05-28 19:46:06 · 297 阅读 · 0 评论 -
tcl脚本vsim命令的参数列表(纯英文,无注释)
vsim -help# Usage: vsim [options] [[<library>.]<primary>[(<secondary>)]]...# -default_radix radix|radix_flag[,radix_flag...] Set default radix and radix flags.# Specifying just a radix will clear all radi.原创 2021-05-02 21:51:03 · 2532 阅读 · 0 评论 -
从胡伟武教授的计算机体系结构课,看数字电路设计思路
实话实说,作为一个基础一般的国科大研究生,想要真正的从龙芯之父身上学到很多经验和思路,我自忖能力不足,本篇文章与其说是思路,不如说是一篇课堂笔记,如有错漏,还请指摘。首先,数字电路的设计思路是“了解”:胡老师经常挂在嘴边的一句设计箴言是“上知天文,下知地理”,设计CPU,向上要了解跑在CPU上面的操作系统、编译器和应用程序,向下要考虑到设计模块、部件的电路和版图结构。只有理解了“天文地理”,才能精准的归纳出我们要设计的芯片或者模块的具体要求。第二,在了解了待设计模块(或者CPU)的应用对象后,在设.原创 2020-10-15 12:06:38 · 602 阅读 · 0 评论 -
Matlab中Simulink小白入门初学教程
Simulink是一个和multisim差不多的matlab内置的一个玩意,也就是一个图形化的建模工具,比如产生一个正弦波,将其与一个定值比较,做差的结果积分后示波器显示,就完全可以用Simulink来做。由于本来对mutisim很熟悉,由于任务安排需要看一个simulink仿真的基带传输系统,所以就学习了一下。matlab最讨人喜欢的地方就是它的帮助文件Help写的极其到位:搜索si...原创 2020-02-04 21:10:37 · 58217 阅读 · 2 评论 -
Matlab中Simulink小白入门初学教程(2)
前面已经说过了两个实验,现在说第三个实验:实验3:一个加热器加热屋子的实验,目的是了解如何建模和仿真一个动态系统。最终目的是了解matlab的simulink仿真的流程,是让我们学习如何由设计到公式、分模块、每个模块测试、联调、一直到结合现实数据修正模型的。第一步,设计到公式:首先是设计出来一个系统,然后确定重要的中间变量,用表达式把他们联系起来。比如确定了Troom、mrooma...原创 2020-02-04 21:08:48 · 17282 阅读 · 0 评论 -
Verilog工具&module例化工具ModuleEase&如何在notepad++里面打开exe
以前在例化一个module的时候,总需要手动修改,手动排版:使用作者写的小工具能避免这种繁琐!选择模块,复制:ctrl + c,再按下以下组合键:再ctrl + v粘贴:之后需要连接那些线,由于需求因人而异,就没做成这样我的工具是一个exe文件,快捷键设置是用notepad++实现的:运行:点省略号,选择ModuleEase:保...原创 2019-12-22 09:13:20 · 860 阅读 · 2 评论 -
Verilog卷积_Conv函数实现_MATLAB卷积_FPGA驱动VGA显示(3)FPGA_Verilog工程
首先做一个稳定色块弹跳的实验,参照 正点原子 的Verilog教程,进行板子的适配,即可做出色块弹跳实验,为了增加趣味,反弹速度我设置为了不均匀的,左上慢,右下快。将卷积结果和每一帧的小方块和外边框位置对应即可,vga_hs是行时钟,每一个周期对应显示器一行,显示的是黑色窄外框(rgb值为0)和蓝色边框(rgb = 31=5’b11111)之后就变成蓝色外框(31),大面积留白(65...原创 2019-12-04 13:39:36 · 1361 阅读 · 1 评论 -
Verilog卷积_Conv函数实现_MATLAB卷积_FPGA驱动VGA显示(2)Verilog
可以先编写不可综合的仿真用Verilog,然后再写可综合的,如果技术卓越,可以跳过这步:卷积的长度是不确定的,比如MATALAB里面的CONV函数,输入多长的都行,但是需要提前输入一整个向量(数组),那么长度也就是定下了:我写的MATLAB卷积函数也是有测长度的:https://blog.csdn.net/Mr_liu_666/article/details/103372145但是实际用F...原创 2019-12-03 20:15:10 · 1720 阅读 · 4 评论 -
Verilog_initial里面的语句能综合吗?如何写自reset的可综合代码
不一定能综合:initialbegin CONV_iData0 = 8'h01; CONV_iData1 = 8'h01;end综合之后用RTLViewer一看:根本没有连接,但是在用上以下的操作之后:parameter Rst0State = 2'b00;parameter Rst1State = 2'b01;parameter WorkState...原创 2019-12-03 20:10:36 · 3867 阅读 · 0 评论 -
Verilog卷积_Conv函数实现_MATLAB卷积_FPGA驱动VGA显示(1)MATLAB
看了奥本海姆的信号与系统的卷积和之后就想用FPGA实现一下,首先用MATLAB仿真,MATLAB有现成的卷积函数,用输入变量un卷积xn相当于xn通过一个累加系统。卷积是倒序乘累加,但是如果看成两个多项式相乘相乘对象系数就是卷积对象,相乘结果系数就是卷积结果。以下是输入函数xn,系统函数hn(取un),xn累加结果,MATLAB自带卷积函数,我写的卷积函数的结果图:输入xn是单位阶跃函数u...原创 2019-12-03 17:25:46 · 1359 阅读 · 0 评论 -
Error (12006): Node instance "signaltap0" instantiates undefined entity "sld_signaltap". 解决
首先参照这一篇:http://www.mamicode.com/info-detail-2252459.html我就是重装quartus解决的,但是如果没有更好的方法我也不会再显摆一下hhhhh:提示说如果加个entity就好了,我试着加过,不过依旧报错,因为entity的名字不对,应该改成这样:好了。...原创 2019-12-02 00:05:39 · 8139 阅读 · 0 评论 -
Non-blocking assignment in function is illegal_near "end"( endmodul): syntax error, unexpected end.
函数里面必须阻塞赋值。函数有endfuction task有endtask case有endcase,不能忘掉原创 2019-11-09 13:04:10 · 884 阅读 · 0 评论 -
reg和integer可以相乘吗_'factorial' already exists; must not be redefined as a function.
reg和integer可以相乘,不过integer默认有符号,并且相乘之前不要忘了初始化reg名不可同函数名,函数返回值无法被初始化,不过可以在函数内部初始化function [47:0] factorial;input [15:0] a2;begin error = 1'b0; c = 1'b0; factorial = 48'h0000_0000_0000;//函数内...原创 2019-11-09 12:59:53 · 397 阅读 · 0 评论 -
夏宇闻verilog第十章答案_练习六
源码:module functions( a, b, clk, rst, error, sel );input [15:0] a;input [1:0] sel;input clk,rst;output [47:0] b;//只满足了立方,阶乘可能越界,设置一个错误位output error;parameter callsqu...原创 2019-11-09 12:53:27 · 386 阅读 · 0 评论 -
夏宇闻verilog第十章答案_练习五
源码:module sel8_1( a0, a1, a2, a3, a4, a5, a6, a7, b, sel );input [3:0] a0,a1,a2,a3,a4,a5,a6,a7;input [2:0] sel;output [3:0] b;reg [3:0] b;// reg [3:0] c;// c ...原创 2019-11-07 15:35:35 · 441 阅读 · 0 评论 -
夏宇闻verilog第十章答案_练习四
源码:module blocking_non_blocking( a, b, c, clk, sel );input clk;input [1:0]sel;input [3:0]a;output [3:0]b,c;reg [3:0]b,c;always@(clk)begincase(sel)2'b00:blocking0;2'b01...原创 2019-11-07 15:33:25 · 375 阅读 · 0 评论 -
verilog中reg只能在always块内使用_always块能只能用reg
reg只能用在always块内:尝试在modelsim中编译:reg [3:0] c;c <= 4'b1100;//报错如第一张图reg [3:0] c;c = 4'b1100;//报错如第二张图always块内只能用reg:大体来说,reg和wire类似于C、C++的变量,但若此变量要放在begin...end之内,则该变量只能是reg型;在begin......转载 2019-11-07 15:29:11 · 4677 阅读 · 0 评论 -
Verilog中使用连续@posedge会是什么现象,是否可综合
连续@posedge是可以综合,如果后面是阻塞赋值,会出现以下现象:这部分是源码中的执行部分:@(posedge clk) b = a;@(posedge clk) c = b;$display("blocking2 a = %b b = %b c = %b",a,b,c);@(posedge clk)begin c = b; b = a; $display("b...原创 2019-11-07 15:28:17 · 7416 阅读 · 0 评论 -
夏宇闻verilog第十章答案_练习三
源码:module wavegene( clk_in_10M, clk_out, reset );input clk_in_10M,reset;output clk_out;reg clk_out2;reg [8:0] cnt;//需要计数300次即可,512即可assign clk_out = clk_out2;always @(posedge cl...原创 2019-11-06 15:45:01 · 394 阅读 · 0 评论 -
夏宇闻verilog第十章答案_练习二
注意,最开始一定要reset一下,否则输出时钟没有初始值,一直都是X。原书写法(修改了一下,尝试了一下forever):源码:module div2( clk_in, clk_out, reset );input clk_in,reset;output clk_out;reg clk_out;always @(posedge clk_in or p...原创 2019-11-06 15:20:32 · 384 阅读 · 0 评论 -
夏宇闻verilog第十章答案_练习一
内容经过我的仿真和测试,若有错漏,请留言指出!源码:module Com(a,b,out);input [7:0] a,b;output out;assign out = (a > b)? 1:0;endmodule测试代码:`timescale 1ns/1nsmodule com8;reg [7:0]a,b;wire out;initialbegi...原创 2019-11-06 14:53:53 · 377 阅读 · 0 评论 -
同一个module里面多个initial是并行的吗
同一个module多个initial是并行的,都从0时刻开始,可以综合,但是可能会没用。https://blog.csdn.net/liming0931/article/details/7039680转载 2019-11-05 09:00:29 · 2967 阅读 · 0 评论 -
casex内部有无顺序_“?”在veilog表示高阻态_modelsim启动仿真之后再修改源文件不再需要重新编译仿真啦
关于casex内部有无顺序,有顺序,顺序选择第一个写的的:测试源码:`timescale 10ns/10nsmodule casex0;reg A = 1'b0;reg B = 1'b0;integer i = 1'b0;reg [4:0]ADDR = 5'b0x000;alwaysbegin for(i = 0;i < 3;i = i+1) begin...原创 2019-11-02 17:59:23 · 476 阅读 · 0 评论 -
CH340_BlueTooth环路测试
USB转TTL可以短接TXD、RXD进行测试,如果手边又蓝牙串口模块也可以做更加复杂好玩的测试:TXD RXD接RXD TXD 电脑连接蓝牙和CH340,右键我的电脑->管理->设备管理器,找到对应端口号:上面4个都可能,逐一尝试即可,我的是COM5、COM6:打开两个串口助手,都设置9600的波特率。因为HC-05蓝牙串口是9600,虽然USB-TTL随意但是二者...原创 2019-10-31 21:01:07 · 977 阅读 · 0 评论 -
RGB565_VGA显示边缘模糊_FPGA控制VGA显示图片边缘模糊
常规FPGA显示图片都是JPG转mif放在ROM然后显示,但是我遇到了如下的问题:显示色块边缘模糊且错误:原因是jpg是压缩的格式,边缘在解压的时候会出现问题。只需要把jpg提前转换成24色(或者其他数量的)bmp就行了。修改后效果:...原创 2019-10-29 20:20:56 · 923 阅读 · 0 评论 -
FPGA驱动VGA显示器_VGA电阻匹配网络法_VGA彩条实验_VGA彩条flowing_VGA显示器时序图_VGA显示器原理_verilog_源码_testbench_现象
VGA电阻网络分压法硬件电路:https://blog.csdn.net/mr_liu_666/article/details/102761178首先给出各部分的源码,有兴趣的朋友可以去下面看VGA的原理。先是VGA驱动模块://学习&参考源:正点原子、开拓者FPGAmodule vga_driver( input vga_clk, /...原创 2019-10-27 11:48:45 · 1552 阅读 · 0 评论 -
FPGA、MCU(stm32&51)驱动VGA显示器_电阻分压法硬件设计_VGA电阻网络分压
常见的显示屏(LCD TFT之类的)驱动数据线一般都是16bits,RGB565的,VGA不一样,它就5根有意义的线,别的都是地线(图中的地址码0 1 2 3没有使用):VGA显示器在市面上流通很久了,集成度很高,集成好了的东西一般都有成型的驱动模块,比如ADV7123:太贵了,算了算了。这里VGA和FPGA(stm32或51)的连接采用一种结构更简单的方法,...原创 2019-10-27 08:25:36 · 5243 阅读 · 4 评论 -
Error (10029): Constant driver at beep_control.v(56)解决.Can't resolve multiple constant drivers
如下的源码便宜的时候报错 :always @ (posedge sys_clk) begin if(!sys_rst_n) beepcnt <= 4'b0;//错误在这里 else if(beepflag == 1) begin if(beepcnt >= 16'd45_000) //if(beepcnt > 4'd5) beep &l...原创 2019-10-15 20:39:46 · 5127 阅读 · 0 评论 -
ModelSim仿真时钟波形一直是不定态(X状态,值为X)
在initia里面必须给时钟赋初始值,注意:这样儿不叫初始值initial begin#1sys_clk <= 'b0;#1sys_rst_n <= 'b1;end这样儿才叫初始值initial beginsys_clk <= 'b0;sys_rst_n <= 'b1;end必须得把0时刻的值给出来,否则always里面来回跳转,是...原创 2019-10-12 11:17:25 · 8130 阅读 · 0 评论 -
FPGAverilog呼吸灯_全流程Verilog开发_C语言设计仿真_C到Verilog转化_Testbench+Verilog的modelsim仿真_Verilog编译综合生成流文件_上板子调试
完整的FPGA Verilog开发包括:C语言设计仿真,C到Verilog转化,Testbench+Verilog的modelsim仿真,Verilog编译综合生成流文件,上板子调试的所有步骤,而不只是verilog直接设计,否则排错难,编译慢,适合小的系统,可能一下子就出来了也可能卡住了很久都出不来,以上的处理方法能做到开发稳定,很少出错。这次自己做了一个呼吸灯Verilog工程,逻辑不复杂...原创 2019-10-10 17:39:59 · 1025 阅读 · 0 评论 -
quartus18的programmer器件只有FLASH没有EP4C之类的
18这一版把各种方式分开了,下拉菜单选择即可原创 2019-10-06 09:25:53 · 757 阅读 · 0 评论