FPGA学习记录

文章讨论了Verilog编程中非阻塞赋值与阻塞赋值的区别,强调非阻塞赋值应用于寄存器和过程性语句。还提到了位宽在不同进制数赋值中的重要性,以及在modelsim仿真时遇到的问题和解决方法,包括IP核PLL的调用和测试bench的命名规则。此外,指出了在模块连接和信号线定义时需注意的位宽匹配问题。
摘要由CSDN通过智能技术生成

非阻塞赋值与阻塞赋值

根据非阻塞赋值的特点(非阻塞赋值等待当前时间槽执行结束更新左边表达式的值),其赋值运算符左侧操作数只能为寄存器(reg)类型,因此非阻塞赋值只能用于过程性语句中(initial和always),不允许在连续赋值语句中使用非阻塞赋值。

位宽

verilog的不同进制数进行赋值时,位宽皆为二进制位宽,例如:10’d1000,为十进制数1000

问题

Error deleting “msim_transcript”:permissiondenied.Check the NativeLink log file
解决方法:modelsim多开,关掉modelsim

IP核PLL的调用

在top文件中定义定义一个寄存器可以存放时钟信号,并且例化IP核即可。

reg 		clk_40M;
	
PLL_40M_0002 pll_40m_inst (
	.refclk   (sys_clk),   		//  refclk.clk
	.outclk_0 (clk_40M), 		// outclk0.clk
);

modelsim仿真时编译test bench名称一定要与模块一致在这里插入图片描述

模块的输入输出不能直接进行赋值,要定义一个寄存器连接到输出上,对寄存器进行操作,否则会没有输出波形,目前不知道为什么。(但是输入好像不用)

assign ADC_finish = finish_flag;
assign ADC_output = ADC_output_reg;
assign ADC_SDI = sdi_out;
assign ADC_clk = clk_40M & adc_clk_enable;
assign ADC_CONVST = convst;

定义模块连接的信号线时要注意其位宽,否则传不出去数据 TAT

注意wire[31:0]A_IEEE754;的[31:0]
在这里插入图片描述

小梅哥在学习Xilinx FPGA期间进行了积极的探索,特别是对Cyclone V SOC的开发流程进行了学习。从裸机到基于Linux嵌入式系统,小梅哥实现了FPGA和ARM Cortex-A9 CPU之间的双向控制和数据传输。 在代码编写方面,小梅哥设计了一个名为mux2的模块,用于实现二选一多路器。模块包含了输入和输出端口,并通过assign语句实现了信号的赋值。 在激励文件中,小梅哥使用reg和wire定义了输入和输出信号,并通过mux2模块进行了实例化。然后,通过initial块生成了一系列的激励信号,对模块进行仿真。 总结来说,小梅哥在Xilinx FPGA学习笔记中记录了自己对Cyclone V SOC的学习、代码编写和激励文件的使用。这些学习内容对于理解FPGA开发流程以及实现特定功能非常有帮助。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [FPGA自学笔记——设计与验证VIP版.pdf](https://download.csdn.net/download/qq_30307853/11656682)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [小梅哥Xilinx FPGA学习笔记1——二选一多路器](https://blog.csdn.net/weixin_42454243/article/details/122026484)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值