自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(70)
  • 资源 (2)
  • 收藏
  • 关注

原创 在ccs当中如何使用动态分配二维数组,以及注意点

其实如果一定要使用指针的话,是必须要事先给他分配内存的,也就是为什么必须要使用动态分配了,所以这是避免不了的。然后我根据网上的建议,在cmd文件中对.heap进行字节分配,还是没有解决。3.可以对他进行设置,但是我还是没懂这个值应该怎样计算,好像大部分人都说是自己一点点去试出来的,所以就是动态分配要慎用叭,就是在对二维指针数组定义的时候,如果没有那个预警的话,程序就会忽略这个问题,并不会报错,可能就会导致一直去找其他错,所以当确定程序没错时,可以试着降低指针宽度,调试这个heap的值,直到达到要求。

2024-03-05 11:02:33 506 1

原创 ccs调大字体

2.然后双击basic下面的text font。

2024-03-05 10:33:32 2258

原创 origin制作折线图(一张图里面四个坐标图)

5.先按照需求将不同的线层放在一起,我这里一共有8列,就有8个图层,然后四个坐标轴也包含在前四个图层,我每个坐标轴里面要放两列数据,所以直接在右侧拖住线到前四个图层就可以,然后将后四个图层取消显示。10.如果不想像下图一样,其中某一种颜色被覆盖,可以在右侧的同一个线层当中,拖拉被覆盖颜色的那一条线到下层,就不会被覆盖了。4.设置想要的分图数量 间距:(水平间隙为一行的两个图之间的距离,垂直间隙为一列的两个图之间的间隙,根据自己需求进行调整)

2023-08-08 11:49:59 5066

原创 cannot read system data from XML file

但是不知道是哪里的问题,咨询了普中客服说,可能是文件位置不正常,但我认为之前很长一段时间都是可以正常下载程序的,应该不是文件位置的位置,况且以前的经验是,如果位置有问题,在编译的时候就会提醒找不到头文件。然后第二种方法是,关闭开发板电源,断开下载器和开发板以及电脑的连接,然后打开开发板,看指示灯是否闪烁,然后将下载器插到开发板上,最后下载器连接电脑,这个做法我记得刚开始有一个工程是可以正常下载了,但是几次之后还是不行,这个问题苦恼了很久。(可以正常下载的工程叫做工程1,不能正常下载的工程叫做工程2)

2023-05-23 10:37:38 1637 1

原创 CCS新建工程教程

接下来我们在 User 工程目录下新建一个 main.c 源文件,选择 User 目 录右键点击选择 New->Sourc File,填写源文件名,这里我们要新建的是 main.c, 所以填写 mian.c,点击 Finish。④:前面我们在打开 CCS 软件的时候已经设置了工程项目的默认空间,所以 “Location”默认就是我们设置的路径,如果不是请设置前面说的工作路径。②:DSP 的开发过程中,仿真器的使用必不可少,所以这里需要选择仿真器 的类型,我们仿真器是 版本,所以要选择该类型。

2023-05-23 09:48:10 4293 2

原创 Unconstrained Logical Port: 21 out of 109 logical ports have no user assigned specific location cons

在网上看到了很多方法,大部分都是说需要重新设置一些文件,或者说是xdc文件的注释不能和代码写在同一行,但是这些我都试了还是不行,我就根据他的建议加了一句 set_property SEVERITY {Warning} [get_drc_checks UCIO-1],然后就可以了。

2023-05-22 09:43:56 557 1

原创 DSP与FPGA通过XINTF并行通信的实验过程

可能是因为FPGA当中的输出IO不是很稳定,听了老师建议,在VIVADO当中将输出IO配置成上拉模式,但这个只能是默认配置一个50欧姆的上拉电阻,结果还是不理想。DSP和FPGA都是用的开发板,用的普通的杜邦线连接(16bit),然后在VIVADO当中用ila观察信号,在DSP当中用仿真器观察变量数值,对于XINTF的读写,其实是先要定义一段zone当中的地址,然后定义某一个信号在该地址,当对该变量进行赋值时,就会产生写时序,当把该变量赋值给另一个变量或者用DMA进行搬运时,就会自动产生读时序。

2023-04-13 10:15:43 1616

原创 CCS通过dat文件导入数据计算出结果再导出数据

然后导入dat文件,就是按照上面头文件的要求产生的文件(这个步骤可以用matlab产生,也可以自己制作,新建一个txt文件,然后将文件后缀改为.dat即可,然后将需要导入的数据,在excel当中放到一列,然后复制粘贴到该dat文件下,然后在第一行写入头文件即可)其次就是怎么确保在程序当中使用的变量是用的这些数据:是将首地址放到一个指针里面,然后再把它的值赋给变量,程序执行之后,可以在variables当中查看是否成功;需要导入的数据准备好之后,就可以在CCS当中进行仿真了,该种情况适用于。

2023-04-13 10:14:12 3911 2

原创 CCS下载及安装

下载完之后,点击右键,以管理员方式运行。工具也全部勾选:然后点击finish。

2023-04-12 15:20:35 3514

原创 xilinx FPGA DDR3 IP核(VHDL&VIVADO)(用户接口)

那么就是将数据先写进fifo0(只要fifo0没有满就可以一直写),然后将fifo0的数据读进ddr3(改fifo使用FWFT模式,也就是rd_en和fifo_dout同时有效,将rd_en和ddr3的写使能信号连接),然后将ddr3的数据读出并写入到fifo1(在fifo1没满之前一直写,将ddr3的读出数据和读出数据有效信号和fifo1的写数据和写使能分别连接),后面就可以根据读出数据时序,在fifo1没空的时候读数据(这里就是只要fifo1没空就一直读)时钟合并一个共用的 200MH 输入。

2023-04-12 15:19:39 837

原创 xilinx FPGA FIFO IP核的使用(VHDL&ISE)

当FIFO不为空时,读取操作将会成功。这个实现使用块RAM或分布式RAM用于内存,用于写和读指针的计数器,二进制代码和灰度代码之间的转换用于跨时钟域的同步,以及用于计算状态标志的逻辑。测试结论就是,用fifo读写可以避免用rom,因为数据还没有写入时,一直读出上一次的数据,用fifo就可以在vaild为高时去读取,这样读出的数就是依次写入的数据。在标准的fifo模式下,当没有读使能时,dout是不会有输出的,但是如果使用模式,我测试了,在没有读写使能的前提下,任然会输出第一个读数,并且会早于读使能。

2023-04-12 15:16:07 1647

原创 VHDL经验贴(长期更新)

当然,之前还有一个问题是,状态机状态过多,我上次一共有10个状态,很容易卡进一个状态里出不来,然后把。没对上,但因为也定义了,就没有报错,代码要检查仔细啊,家人们!,可以用ila去看一看,前提是ila时钟要比状态机时钟快。找了很久原因,结果是。

2023-04-12 15:15:45 224

原创 xilinx FPGA RAM IP核的使用(VHDL&ISE)

2.配置ip核:注:简单双端口RAM提供A、B两个接口,如图3-4所示。通过端口A允许对内存进行写访问,通过端口B允许对内存进行读访问。注意:对于Virtex系列架构,读访问是通过端口A,写访问是通过端口B。然后点击next和finish完成ip核配置。

2023-04-12 15:11:32 523

原创 测量正弦电压之VFC模块(电压转频率,proteus仿真)

要求:对一个连续电压信号进行测量,该信号为正弦电压信号,频率是100KHZ,峰峰值为2V。 思路1:选择一些器件根据AD转换原理去搭建一个系统,进 行测量。思路2:将电压转化成频率,再进行测量。电压频率转换器VFC(Voltage Frequency Converter)是一种实现模数转换功能的器件,将模拟电压量变换为脉冲信号,该输出脉冲信号的频率与输入电压的大小成正比。用的lm331基本VFC转换电路:VFC电路——调基准频率:根据公式ƒOUT = (VIN / 2.09 V.

2023-04-12 15:08:25 1246 2

原创 VIVADO小技巧

1.initial语句在仿真开始时对各变量进行赋值,这个初始化过程不需要任何仿真时间,且一个模块可以有多个initial语句块2.宏定义 'define 标识符(宏名)字符串(宏内容)eg:'define signal string 模块里面的string 就会被换为signal ,(可以用于替换大部分变量名)...

2023-04-12 15:03:12 414

原创 DSP28335使用时的经验总结 主要是使用大维度的二维数组的一些问题

还有就是cmd文件是可以自己修改的,因为是初学,以为是配置文件。首先是数组的使用,可以用指针,也可以直接数组,其实在内存当中的二维数组就是一维的,它是先存一行,再存其他行,在连续地址当中的存储顺序就是:a[0][0]、a[0][1]、a[0][2]....a[1][0]、a[1][1]、a[1][2].............'关于指针跟上面等效表示数组就是:(*((Uint16 *)a+(N*i)+j)),其中N是数组的列数大小,即一行有多少个数据,然后i是行号,j是列。这里可以给个实例,在函数里面。

2023-03-28 15:04:42 1286

原创 CCS v6 导入工程调试仿真烧写程序教程

器 USB 口连接到电脑上→点击 CCS6 的 Connect 键;这是推荐的上电顺序,当。连接好→将配置的 USB 线或电源适配器给开发板供电并将电源开关按下→仿真。点击CCS图标,选择要放置的workplace。选择load按钮,选中工程生成的.out文件。然后点击烧写按钮:点击这个“甲壳虫”的标号。3.编译程序:点击这个“小锤子”的标号。然后就可以点击仿真进行调试了。发生连接错误时请按此顺序上电。就可以在板子上看到实现结果。选择好之后,点击save。

2023-03-22 10:25:55 4892 1

原创 CCS6.13安装教程及安装包

第一次打开会弹出:点击YES就可以,从ti的官网下载安装一些插件,这个过程和网速有关。更不更新这个意义不大,不更新也不会出现问题。那就更一下吧,点“Run in Background”让它后台运行去吧。下载完之后,点击右键,以管理员方式运行。工具也全部勾选:然后点击finish。然后就可以进行编程了。

2023-03-11 13:57:48 1274

原创 自定义数据类型,各模块共享数据类型(VIVADO&VHDL)

但是depth38_2_width16里面的数据类型是depth38_width16,也就是在用depth38_2_width16是只能用A(i),i的范围是0——37.然后depth38_38_width16里面的数据类型是std_logic_vector(15 downto 0),也就是在用depth38_38_width16是只能用A(i,j),i和j的范围是0——37. 所以在使用信号时,一定要是同一数据类型的数据进行操作。就是一个二维数组,里面的元素是37*37个16bit的数据。

2023-03-09 09:47:56 534

原创 visual studio创立上位机软件(C#)(定时器)

由于最近使用FPGA的通信模块,对于上位机的功能需要一些改动,开始学习一下上位机软件的制作,因为没有学过C++等等,更不了解上位机软件的制作流程。最近看了一点学习资料,觉得是很好的入门教程。通过一个定时器一个小软件的制作,来熟悉整个流程。下面是该软件的制作过程。然后点击debug(或者release)旁边的绿色三角形,就可以看到效果(一个是调试版本,一个是发布版本)完整工程放在qq群了,稍后会发布视频到哔哩哔哩。

2022-12-19 10:51:16 4375

原创 fpga 级联fifo(VHDL)

换成fifo0_rd_en

2022-11-13 16:40:30 879

原创 usb传输时的数据格式处理(十进制 十六进制的转换)

因为使用usb和单片机进行数据交互时,需要使用纯二进制文件,如果单纯发送txt文件,读进去的就是改文件的ascii码数值。

2022-11-05 15:13:52 1325

原创 Vivado联合modelsim仿真卡在executing analysis and compilation step阶段

三、如果上面步骤都对了,还是不行,就点击setting里面的restore,然后重新打开工程,或者将仿真题改成vivado自带的,跑一遍仿真,如果还是不行,那只能说没救了,但是一般如果vivado的仿真跑不出来,肯定是仿真文件有错,就去按照提示改一下,然后能跑之后,再去换回modelsim就可以。总的来说,vivado联合modelsim有问题,一般只有两个方面,仿真文件有错,但没有报错,可以在modelsim里面单独打开仿真文件,编译一下,一般也就会发现了。

2022-10-29 17:27:09 2973

原创 xilinx FPGA 开方(cordic)ip核的使用(VIVADO&VHDL)

选择开发模式,然后模式可以选择最优或者最大,数据格式可以选择无符号整数或者无符号分数,然后再选择输入位宽,以及就散模式,向下取整或者四舍五入等等。数据在使能信号有效时输入,在输出使能有效时输出。

2022-10-24 16:56:44 2327

原创 xilinx FPGA 除法器ip核(divider)的使用(VHDL&Vivado)

可以看到,因为除数和被除数的ready信号在使能无效时,一直为高,所以当除数被除数第一次被使能时,使能和ready信号是同时有效的,所以就直接在数据输入后的第三个时钟输出正确结果。综上,就是我们让使能信号两个时钟有效,就可以了,因为在这两个时钟里面,ready信号都只可能有效一次,然后数据两个时钟也是 一样的,就会在输出valid有效输出正确结果。valid是数据输入有效信号(in),ready是数据已经输入的标志信号(out),但是在该模式下对于除数和被除数是否有效的判定是一样的,只是两个过程是独立的,

2022-10-24 16:10:08 14185 1

原创 xilinx FPGA 乘法器ip核(multipler)的使用(VHDL&Vivado)

五、仿真结果::可以看到vivado的乘法器ip核和ISE的一样,当ce有效时,乘法器的乘积会在下一个时钟得出。可以选择两个变量数相乘,也可以选择一个变量输入数据和一个常数相乘。可以选择mult(dsp资源)或者lut(fpga资源)二、编写VHDL程序:声明和例化乘法器ip核。可以选择速度优先或者面积优先。还有时钟使能和复位功能。可以自己选择输出位宽。

2022-10-23 18:16:08 4881

原创 xilinx FPGA usb模块的使用(VHDL)

-之所以不像小梅哥里面写的去使能fifo0的读使能,是因为小梅哥自己写的fifo好像不会存在延时,所以他的fx2_slwr和fifo_rd(fifo_pop)是同时有效的,根据fx2的原理可以知道,当fx2_slwr为0时,就可以将fifo里面相应的数据传输给fx_data,然后发送到上位机,这个前提是fx2和fifo的时钟是一致的。因为fx2用的是同步(1.1 第一点,是对fifo0_rd_en ,fx2_slwr,fx2_fdata_out的使能不一样。),而fifo也是根据时钟信号去实现功能的。

2022-10-02 19:10:54 2916 1

原创 vivado ila没有信号,也不能添加

这种情况就是下载的程序不对,或者没有下进去,一般是两种情况,第一,下载了固化的bit文件,那么必须先掉电才有效。第二种,下载程序时,没有掉电就打开硬件连接了,此时没有下载新的bit文件,里面还是上一次的bit文件,但此时ila会自动打开。所以点击program device重新下载程序即可。

2022-10-02 15:31:33 3838

原创 xilinx FPGA FX2 usb通信模块之上位机发送的数据格式

这是因为fpga没有对数据进行处理,而fpga usb通信整个传输过程就是上位机将要发送的文件,将该符号对应的ascii码发送到fx2 usb的 模拟fifo当中(而小梅哥的开发板当中使用的fx2 usb模块,是规定为16位的数据格式),然后就传输到fpga的接收端口,当然如果fpga不做任何处理,就将该数据传输给usb的fifo当中,然后传输到上位机,并解析成对应的符号(ascii码),当然得到的数据就跟上位机发送的一样。然后保存文件,再进行传输,就可以看到上位机收到的和fpga当中的数据是一致的。

2022-10-02 14:55:07 1524

原创 File does not exist or is not accessible:‘c:/Users/Administrator/Desktop/FX2_Stream_IN/FX2_Str

可以看到upgrade selscted是高亮的,然后选择锁住的ip核,点击upgrade ,然后一直点击ok就可以了,ip核就会解锁了。当使用vivado编译时,如果是从其他地方拷贝过来,并且是更换了器件类型的,那么可能ip核会出现错误,编译不成功。右击ip核,点击report ip status。

2022-09-26 15:40:41 5057

原创 --- Error: failed to execute ‘C:\Keil\C51\BIN\BL51.EXE‘

首先可以去查看keil安装路径下的TOOLS.INI文件,其中对应的路径是否跟安装的c51路径相同,如果不同,改正即可,但是我的这个配置文件里面的路径是对的。点击第二个选项,就可以看到路径和我们的安装路径不一样,我们可以选择点击use方框,也可以手动更改下面的路径,这里我选择直接点击use。所以要去改另外一个配置路径的地方,点击keil里面的 manage project item,即点击下面图标。在进行keil编程时,打开一个工程,进行编译,发现如下错误。再次编译就没有问题了。

2022-09-17 22:09:52 6126 1

原创 xilinx 除法ip核(divider) 不同模式结果和资源对比(VHDL&ISE)

所以就是当要使用多个运算ip核,进行级联运算时,可以使用nd核rdy配合,就可以使用。下面是该除法器ip核的资源占比情况:(可以看出当使用。如果把分数部分位宽改为0,那么又会减少很多资源。

2022-09-07 16:43:25 2377

原创 xilinx FPGA 乘法器 除法器 开方 IP核的使用(VHDL&ISE)

大家可以看到,乘法器是没有时延的,在数据输入的那个周期,就会产生结果。后面发现不是说乘法器没有延时,乘法器的输入是在ce为1时输入的,他算出来的结果是在ce的那个周期里面算出来的,但是要等到时钟上升沿来的时候才输出,比如下面第一组和第三组的数据,可以看到输入数据是在时钟上升沿的时候送进来的,那么刷出结果就是在下一个时钟的上升沿输出。但是第二组数据,是在时钟下降沿送进来的,那么算出的结果就会在紧接着的时钟上升沿输出的。...

2022-08-31 17:23:33 4433 1

原创 xilinx FPGA ROM IP核的使用(VHDL&ISE)

然后我看到深度那个范围很大,就把深度直接改成数据个数了,没有错误出现,但是宽度需不需要改 暂时不确定。放coe文件的路径不能有中文,并且xilinx系列的rom放coe文件,altera系列放mif文件。根据所存数据个数来设置数据深度(他这里的深度好像不用根据个数去换算,直接就是深度=数据个数)我本来以为我存700个数据 那么深度就是10,结果一直报错 不能生成ip核。这里可以先建立一个top文件,对rom进行例化,以及地址数据的产生。可以看到最开始的数据和吻合的(注意生成地址数据时,要符合时钟)

2022-08-25 15:37:03 4235 1

原创 matalb生成符合泊松分布的随机数,并进行测试是否符合

语句r = poissrnd()生成随机数,其服从参数为λ(lambda)的泊松分布。λ可以是标量、向量、矩阵或。一般来说,我们写成类似data = poissrnd(200,1,700);即可,表示生成1X700数组(即700个数)的符合λ=200的随机数。

2022-08-25 10:36:34 5427

原创 xilinx FPGA DCM IP核的使用(VHDL&ISE)

然后勾选上fx的输出,就可以调整输出频率,然后选择时钟输入 点击next。然后填写输出时钟,并点击计算 最后finish完成。(一定一定点击下面这个例化模板 去对ip核进行例化)可以取消rst 会有一个弹窗 点击ok即可。顶层代码如下:(VHDL)

2022-08-23 17:33:46 2363 1

原创 vhdl之n比特计数器(ISE&modelsim)

这是一个n比特计数器,可以向上向下计数,也可以设置计数值,采用异步低电平复位,并且使用generic语句设置参数。

2022-08-16 05:15:00 745

原创 【无标题】this signal is connected to multiple drivers.该信号连接到多个驱动器。

就是说add_q这个信号在两个进程里面都赋值了,但是是可以在两个进程里面使用的,所以可以用一个中间信号量去过度,比如 我在第一个进程里面写addr_i

2022-08-14 18:26:10 1839

原创 【无标题】Undefined symbol ‘alu_en‘. Undefined symbol (last report in this block)

报错是因为在vhdl的顶层文件中,除了端口外,各个模块之间的连线必须重新定义一个信号,比如我这里面,两个模块之间的alu_en,不能直接连接,可以先定义一个alu_en1,来当做媒介,在顶层结构体中定义信号,然后元件例化的时候,把模块的alu_en都连接到alu_en1上就可以了。...

2022-08-14 16:26:14 232

原创 parse error, unexpected TOKBEGIN, expecting AFFECT or SEMICOLON

就是缺少一个分号。

2022-08-14 12:32:28 275

ccsv5仿真文件及操作指南

在使用ccs v6版本以上是,软件不会自带纯软件的仿真,所以如果要脱离板子进行一些算法验证时,可以根据该文件配置一个纯软件仿真环境

2023-03-23

ccs6.1.3安装包

ccs6.1.3安装包

2023-03-11

xilinx FPGA ROM IP核的使用(VHDL&ISE)

xilinx FPGA ROM IP核的使用(VHDL&ISE)

2022-08-25

matalb生成符合泊松分布的随机数,并进行测试是否符合

matalb生成符合泊松分布的随机数,并进行测试是否符合

2022-08-25

xilinx FPGA DCM IP核的使用(VHDL&ISE)

fpga 时钟ip的使用

2022-08-23

VFC电路的proteus仿真工程文件,可以看到频率随电压变化而变化

VFC电路的proteus仿真工程文件,可以看到频率随电压变化而变化

2022-04-27

自制并行ADC的仿真工程,以及TINA安装包和芯片手册等

自制并行ADC的仿真工程,以及TINA安装包和芯片手册等

2022-04-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除