当前位置: 首页 > news >正文

检察机关加强网站建设做全屏网站设计时容易犯的错

检察机关加强网站建设,做全屏网站设计时容易犯的错,百度云域名备案,怎么样提升网站权重目录 一、 内容概要二、 Hello Nios-II2.1 Nios-II编程2.1.1 硬件Ⅰ 搭建环境Ⅱ 编写代码 2.1.2 软件2.1.3 烧录Ⅰ硬件Ⅱ 软件 2.2 verilog编程 三、 心得体会 一、 内容概要 分别用Verilog和Nios软件编程, 实现DE2-115开发板串口输出“Hello Nios-II”字符到笔记本电脑串口助… 目录 一、 内容概要二、 Hello Nios-II2.1 Nios-II编程2.1.1 硬件Ⅰ 搭建环境Ⅱ 编写代码 2.1.2 软件2.1.3 烧录Ⅰ硬件Ⅱ 软件 2.2 verilog编程 三、 心得体会 一、 内容概要 分别用Verilog和Nios软件编程, 实现DE2-115开发板串口输出“Hello Nios-II”字符到笔记本电脑串口助手。 二、 Hello Nios-II 2.1 Nios-II编程 2.1.1 硬件 Ⅰ 搭建环境 新建工程选择开发板 进行模块添加和连接 分配地址 Generate Ⅱ 编写代码 新建Verilog文件 module uart(input clk,input reset_n,//uart的接收和发送端input rxd,//接收output txd//发送 ); endmodule配置 进入qip文件的第一个verilog文件 根据模块信息在顶层文件里增加 hello_nioII u0 (.clk_clk (clk), // clk.clk.reset_reset_n (reset_n), // reset.reset_n.uart_rxd (rxd), // uart.rxd.uart_txd (txd) // .txd);完整代码为: module uart(input clk,input reset_n,//uart的接收和发送端input rxd,//接收output txd//发送 );hello_nioII u0 (.clk_clk (clk), // clk.clk.reset_reset_n (reset_n), // reset.reset_n.uart_rxd (rxd), // uart.rxd.uart_txd (txd) // .txd);endmodule 编译 配置管脚 2.1.2 软件 修改hello_world.c #include stdio.h #include unistd.h #include system.h #include alt_types.h #include altera_avalon_uart_regs.h #include sys\alt_irq.halt_u8 txdata0; alt_u8 rxdata0;//UART中断服务函数 void IRQ_UART_Interrupts(){rxdata IORD_ALTERA_AVALON_UART_RXDATA(UART_BASE);//将rxdata寄存器中存储的值读入变量rxdata中txdata rxdata;//串口自收发将变量rxdata的值赋给txdatawhile(!(IORD_ALTERA_AVALON_UART_STATUS(UART_BASE) ALTERA_AVALON_UART_STATUS_TRDY_MSK));//查询发送准备接收信号如果没有准备好则等待IOWR_ALTERA_AVALON_UART_TXDATA(UART_BASE,txdata);//发送准备好发送txdata }//中断初始化函数 void IRQ_init() {//清除状态寄存器IOWR_ALTERA_AVALON_UART_STATUS(UART_BASE, 0);//使能接收准备中断给控制寄存器相应位写1IORD_ALTERA_AVALON_UART_CONTROL(UART_BASE);alt_ic_isr_register(UART_IRQ_INTERRUPT_CONTROLLER_ID,//注册ISRUART_IRQ,//中断控制器标号从system.h复制IRQ_UART_Interrupts,//UART中断服务函数0x0,//指向与设备驱动实例相关的数据结构体0x0);//flags保留未用 }int main() {/*while(1){IOWR_ALTERA_AVALON_UART_TXDATA(UART_BASE, hello world!\n);int i0;while(i5000){i;}}*/IRQ_init();while(1);return 0; } 配置 报错 若遇到类似情况请按住ctrl然后左键单击#include 里面的system.h找到UART部分 发现是URAT_0_BASE把helloworld.c里面的UART_BASE修改为URAT_0_BASE就行 2.1.3 烧录 Ⅰ硬件 Ⅱ 软件 2.2 verilog编程 编译烧录以下代码就行 timescale 1ns/1nsmodule rs232 (input wire sys_clk , //系统时钟50MHzinput wire sys_rst_n , //全局复位input wire rx , //串口接收数据output wire tx //串口发送数据 );//********************************************************************// //****************** Parameter and Internal Signal *******************// //********************************************************************// //parameter define parameter UART_BPS 20d9600 , //比特率CLK_FREQ 26d50_000_000 ; //时钟频率localparam BAUD_CNT_MAX CLK_FREQ/UART_BPS ; //wire define wire en_h_flag; wire [7:0] po_data; //接收的数据 wire po_flag; //接收完1字节数据标志位,高电平有效 wire flag; //识别到接收数据与密码对应标志位 wire tx_flag; //发送完1字节数据标志位,高电平有效 reg [39:0] datain_reg; //存储接收的数据,5字节 reg [47:0] dataout_reg;//存储的要发送的数据,6字节 reg [1:0] state; //状态位 reg [7:0] data_tx; //发送的1字节数据 reg en_tx; //发送允许标志位 reg [2:0] tx_cnt; //发送字节计数器,发送6个后置0 reg en; //发送控制开关 reg [12:0] baud_cnt; //收到发送成功的tx_flag后延迟1个波特 reg bit_flag; //计满1baud有效 reg work; //波特计数器baud_cnt有效 //********************************************************************// //*************************** Instantiation **************************// //********************************************************************// //------------------------ uart_rx_inst ------------------------ uart_rx #(.UART_BPS (UART_BPS ), //串口波特率.CLK_FREQ (CLK_FREQ ) //时钟频率 ) uart_rx_inst (.sys_clk (sys_clk ), //input sys_clk.sys_rst_n (sys_rst_n ), //input sys_rst_n.rx (rx ), //input rx.po_data (po_data ), //output [7:0] po_data.po_flag (po_flag ) //output po_flag ); always(posedge sys_clk or negedge sys_rst_n)if(!sys_rst_n)en 1b1;else if(en_h_flag)en 1b1;else if(tx_cnt3d5)en 1b0; //接收数据寄存 always(posedge sys_clk or negedge sys_rst_n)if(!sys_rst_n)datain_reg 40d0;else if(po_flag)datain_reg {datain_reg[31:0],po_data[7:0]};//接收到tx_flag后,延迟一个baud时间再发送下一个 always(posedge sys_clk or negedge sys_rst_n)if(!sys_rst_n)work 1b0;else if(tx_flag)work 1b1;else if(state ! 2d2)work 1b0;always(posedge sys_clk or negedge sys_rst_n)if(!sys_rst_n)baud_cnt 13d0;else if((baud_cnt BAUD_CNT_MAX - 1) || en_tx)baud_cnt 13b0;else if(work)baud_cnt baud_cnt 1d1;always(posedge sys_clk or negedge sys_rst_n)if(!sys_rst_n)bit_flag 1b0;else if(baud_cnt BAUD_CNT_MAX - 1)bit_flag 1b1;else if(state ! 2d2) bit_flag 1b0;//hello的ASCII码 assign flag (datain_reg 40h68656c6c6f)? 1b1:1b0;always(posedge sys_clk or negedge sys_rst_n)if(!sys_rst_n)beginstate 2d0;dataout_reg 48h6e692c68616f;//ni,hao的ASCII码data_tx 8d0;en_tx 1b0;tx_cnt 3d0;endelsecase(state)2d0:beginif(flag en)state 2d1;elsestate 2d0;end2d1://发送数据beginstate 2d2;data_tx dataout_reg[47:40];en_tx 1b1;dataout_reg dataout_reg 8;end 2d2://等待数据发送完成,并计数1beginif(bit_flag)beginif(tx_cnt3d5)beginstate 2d0;tx_cnt 3d0; endelse beginstate 2d1;tx_cnt tx_cnt 1d1; end endelsebeginen_tx 1b0;state 2d2;endend default : state 2d0;endcase //------------------------ uart_tx_inst ------------------------ uart_tx #(.UART_BPS (UART_BPS ), //串口波特率.CLK_FREQ (CLK_FREQ ) //时钟频率 ) uart_tx_inst (.sys_clk (sys_clk ), .sys_rst_n (sys_rst_n ), .pi_data (data_tx ), .pi_flag (en_tx ), .tx (tx ), .tx_flag (tx_flag ) );endmodule 三、 心得体会 通过本次实验我更深刻地理解了Nios II软件编程和Verilog硬件编程在FPGA设计中的应用和区别。Nios II软核提供了一个通用的处理器环境可以使用高级语言如C/C进行编程易于理解且开发效率较高。而Verilog则是一种硬件描述语言它允许我直接控制硬件行为更适合于对性能要求较高的应用。 硬件环境的搭建与配置 在Nios II编程部分我学会了如何使用Quartus软件和Platform Designer或Qsys来搭建硬件环境包括选择适当的开发板、添加必要的硬件模块如Nios II处理器、存储器、UART等并进行模块间的连接和参数配置。这个过程对理解整个系统的硬件架构非常有帮助。 软件编程与硬件的交互 在软件编程部分我学习了如何在Nios II软核上编写C语言程序并通过HAL库函数来控制硬件设备如UART进行串口通信。同时我也意识到了软件编程中对硬件地址和中断控制器标识符的正确引用的重要性。 遇到的问题及解决 在实验过程中我遇到了几个问题包括硬件地址未定义、中断控制器标识符未声明等。通过查阅文档、检查硬件设置和代码我学会了如何定位并解决这些问题。这些经验对于我未来解决类似的问题非常宝贵。 Verilog编程实践 在Verilog编程部分我编写了一个简单的UART收发模块并实现了基本的串口通信功能。这个过程加深了我对UART工作原理和Verilog语言的理解。 总体来说这次实验不仅增强了我的动手实践能力也加深了我对FPGA设计、Nios II软核开发以及跨平台串口通信等知识的理解。通过解决实际遇到的问题我获得了宝贵的学习和成长经验。未来我希望能将这些知识和技能应用到更复杂的项目中以进一步提升我的专业技能。
http://www.ho-use.cn/article/10815542.html

相关文章:

  • 怀柔区企业网站设计机构提供网站设计板块
  • 金华建设局政务网站中英文网站为什么要分开做
  • 网站建设解密建立网站需要什么条件
  • 微网站模板开发织梦城市门户网站模板
  • 微信h5在哪个网站做广告艺术设计是什么
  • 建设部科技中心网站有趣的网页设计
  • 网站的主要功能模块家装室内设计
  • 房地产市场现状分析2022百度网站优化
  • 建设网站需要学什么jsp环保主题网站代做
  • 时尚风格网站沈阳专业网站建设企业
  • 成都城乡建设局官方网站制作网站公司 可以要求后续修改吗
  • php网站的特点wordpress 怎么去掉index.php
  • 网站界面模板下载如何免费制作企业网站
  • 青海省住房和建设门户网站android诗词app制作教程
  • 网站建设报价浩森宇特nodejs网站开发实例
  • 云南网站建设定做建站的cms
  • 广州做网站哪家公司最好旅游网站开发方案百度文库
  • 酒店网站建设需求分析同程旅游
  • 如何做优秀的游戏视频网站wordpress取订阅数据库
  • 广州网站设计成功柚米科技cms免费建站系统
  • 足球世界排名前十百度快速优化排名软件
  • 南山网站公司山东网站建设开发
  • 北京网站策划联系电话企业网站的建立
  • godaddy 建网站网站建设登录
  • 武安网站建设山东省建设项目备案证明网站
  • 买卖网站建设易优建站系统
  • 网站建设大wordpress 栏目显示
  • 网站是哪个公司做的好wordpress 登出函数
  • 贵州建网站报价自做视频网站赚钱吗
  • 九江做网站的公司wordpress邮件重置密码