达芬奇PRO板的FPGA功能学习笔记(一)

达芬奇PRO板的FPGA功能学习笔记(一)
从编译到实现需要五个步骤:
1.写代码(verilog语言)
2.综合分析
3.写约束文件
约束文件主要是定义接口,命令第一个关键字代表命令的名称,其后的每个字段都是该命令的参数列表
例如:set_property(命令名称) -dict(参数) {PACKAGE_PIN R4(引脚定义) IOSTANDARD LVCOMS15(IO口电压标准)} [get_ports sys_clk](确定约束所附加的引脚)
4.设计实现
5.下载比特流
需要注意的几个点:
1.要在设计前把板子的型号核对好
2.设计实现之后的时序要学会核对
3.发现设计实现完不对之后删除,从新走一遍流程

ERROR: [Labtools 27-3303] Incorrect bitstream assigned to device. Bitfile is incompatible for this device.
该错误是因为最开始板子的型号没选对导致的,在setting中可以更改

### 关于FPGA达芬奇Pro教程 #### FPGA达芬奇Pro简介 达芬奇Pro款专为深入研究和开发FPGA应用而设计的平台,适合用于验证自定义RISC-V处理器的设计和其他复杂逻辑电路。此支持Vivado 2019.2作为其主要IDE环境,在Windows 11操作系统下能够顺利创建工程项目并完成配置过程[^1]。 #### Vivado工程建立流程 为了启动基于达芬奇Pro的新项目,需按照如下指南操作: - 使用指定版本(Vivado 2019.2),确保兼容性和稳定性; - 配置目标设备参数匹配达芬奇Pro载资源; - 完成初始设置向导后保存新建的工作空间; 通过上述步骤可成功构建适用于该特定硬件平台的基础框架。 #### 解决程序固化问题的方法 当遇到将代码存储至SPI Flash后再次加电无法正常工作的状况时,可能是因为固化的比特流未能正确加载或存在其他潜在错误。针对此类情况建议采取以下措施来排查原因: - 检查连接线缆是否牢固可靠; - 确认所使用的Flash驱动器与官方推荐致; - 尝试清除现有数据再重试编程动作——即先执行次完整的擦除命令[^4]; 如果以上方法仍不能解决问题,则应进步审查具体的实现细节和技术文档说明[^2]。 #### RISC-V内核的选择与发展方向 对于有兴趣探索定制化CPU架构的人来说,TinyRISCV提供了个极佳起点。尽管它体积小巧简单易懂,却涵盖了标准指令集体系结构所需的核心组件[^3]。因此非常适合初学者入门学习以及后续更复杂的SoC集成实践。 ```python # Python伪代码示例展示如何初始化个简单的RISC-V CPU模拟器 class SimpleRV32ICore: def __init__(self): self.registers = [0]*32 # 初始化寄存器文件 def execute(self, instruction): opcode = (instruction & 0x7f) >> 0 funct3 = (instruction & 0x7000) >> 12 rs1 = ((instruction>>15)&0x1f) rd =((instruction>>7 )&0x1f) if opcode==0b0110011 and funct3 == 0: # ADD operation example operand_a=self.registers[rs1] imm=instruction&(0xfff) result=(operand_a+imm)%pow(2,32) self.registers[rd]=result core = SimpleRV32ICore() print("Executing a simple addition...") core.execute(int('0000000_00001_000__00001___0110011',2)) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值