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

新乡网站建设哪家好源汇区建设局网站

新乡网站建设哪家好,源汇区建设局网站,如何推广我的网站,网站建设具体要求多周期路径约束多周期路径#xff0c;我们一般按照以下4个步骤来约束#xff1a;1. 带有使能的数据首先来看带有使能的数据#xff0c;在本工程中的Tming Report中#xff0c;也提示了同一个时钟域之间的几个路径建立时间不满足要求其实这几个路径都是带有使能的路径#…多周期路径约束多周期路径我们一般按照以下4个步骤来约束1. 带有使能的数据首先来看带有使能的数据在本工程中的Tming Report中也提示了同一个时钟域之间的几个路径建立时间不满足要求其实这几个路径都是带有使能的路径使能的周期为2倍的时钟周期本来就应该在2个时钟周期内去判断时序收敛。因此我们添加时序约束set_multicycle_path 2 -setup -from [get_cells {cmd_parse_i0/send_resp_data_reg[*]} -include_replicated_objects] -to [get_cells {resp_gen_i0/to_bcd_i0/bcd_out_reg[*]}]set_multicycle_path 1 -hold -from [get_cells {cmd_parse_i0/send_resp_data_reg[*]} -include_replicated_objects] -to [get_cells {resp_gen_i0/to_bcd_i0/bcd_out_reg[*]}]也可以写为set_multicycle_path -from [get_cells {cmd_parse_i0/send_resp_data_reg[*]} -include_replicated_objects] -to [get_cells {resp_gen_i0/to_bcd_i0/bcd_out_reg[*]}] 2set_multicycle_path -hold -from [get_cells {cmd_parse_i0/send_resp_data_reg[*]} -include_replicated_objects] -to [get_cells {resp_gen_i0/to_bcd_i0/bcd_out_reg[*]}] 1这两种写法是等价的。我们也可以直接点击右键通过GUI的方式进行约束效果都是一样的。在工程的uart_tx_ctl.v和uart_rx_ctl.v文件中也存在带有使能的数据但这些路径在未加多路径约束时并未报出时序错误或者警告。在接收端捕获时钟频率是200MHz串口速率是115200采用16倍的Oversampling因此使能信号周期是时钟周期的200e6/115200/16108.5倍。在接收端捕获时钟频率是166667MHz串口速率是115200采用16倍的Oversampling因此使能信号周期是时钟周期的166.667e6/115200/1690.4倍。因此时序约束如下# 串口接收端set_multicycle_path -from [get_cells uart_rx_i0/uart_rx_ctl_i0/* -filter IS_SEQUENTIAL] -to [get_cells uart_rx_i0/uart_rx_ctl_i0/* -filter IS_SEQUENTIAL] 108set_multicycle_path -hold -from [get_cells uart_rx_i0/uart_rx_ctl_i0/* -filter IS_SEQUENTIAL] -to [get_cells uart_rx_i0/uart_rx_ctl_i0/* -filter IS_SEQUENTIAL] 107# 串口发送端set_multicycle_path -from [get_cells uart_tx_i0/uart_tx_ctl_i0/* -filter IS_SEQUENTIAL] -to [get_cells uart_tx_i0/uart_tx_ctl_i0/* -filter IS_SEQUENTIAL] 90set_multicycle_path -hold -from [get_cells uart_tx_i0/uart_tx_ctl_i0/* -filter IS_SEQUENTIAL] -to [get_cells uart_tx_i0/uart_tx_ctl_i0/* -filter IS_SEQUENTIAL] 89约束中的filter参数也将在下一章节具体讲解。2. 两个有数据交互的时钟之间存在相位差在本工程中没有这种应用场景因此不需要添加此类约束。3. 存在快时钟到慢时钟的路径在本工程中没有这种应用场景因此不需要添加此类约束。4. 存在慢时钟到快时钟的路径在本工程中没有这种应用场景因此不需要添加此类约束。综上我们所有的时序约束如下# 主时钟约束create_clock -period 25.000 -name clk2 [get_ports clk_in2]# 衍生时钟约束create_generated_clock -name clk_samp -source [get_pins clk_gen_i0/clk_core_i0/clk_tx] -divide_by 32 [get_pins clk_gen_i0/BUFHCE_clk_samp_i0/O]create_generated_clock -name spi_clk -source [get_pins dac_spi_i0/out_ddr_flop_spi_clk_i0/ODDR_inst/C] -divide_by 1 -invert [get_ports spi_clk_pin]create_generated_clock -name clk_tx -source [get_pins clk_gen_i0/clk_core_i0/inst/mmcm_adv_inst/CLKIN1] [get_pins clk_gen_i0/clk_core_i0/inst/mmcm_adv_inst/CLKOUT1]create_generated_clock -name clk_rx -source [get_pins clk_gen_i0/clk_core_i0/inst/mmcm_adv_inst/CLKIN1] [get_pins clk_gen_i0/clk_core_i0/inst/mmcm_adv_inst/CLKOUT0]# 设置异步时钟set_clock_groups -asynchronous -group [get_clocks clk_samp] -group [get_clocks clk2]# 延迟约束create_clock -period 6.000 -name virtual_clockset_input_delay -clock [get_clocks -of_objects [get_ports clk_pin_p]] 0.000 [get_ports rxd_pin]set_input_delay -clock [get_clocks -of_objects [get_ports clk_pin_p]] -min -0.500 [get_ports rxd_pin]set_input_delay -clock virtual_clock -max 0.000 [get_ports lb_sel_pin]set_input_delay -clock virtual_clock -min -0.500 [get_ports lb_sel_pin]set_output_delay -clock virtual_clock -max 0.000 [get_ports {txd_pin {led_pins[*]}}]set_output_delay -clock virtual_clock -min -0.500 [get_ports {txd_pin {led_pins[*]}}]set_output_delay -clock spi_clk -max 1.000 [get_ports {spi_mosi_pin dac_cs_n_pin dac_clr_n_pin}]set_output_delay -clock spi_clk -min -1.000 [get_ports {spi_mosi_pin dac_cs_n_pin dac_clr_n_pin}]# 伪路径约束set_false_path -from [get_clocks clk_rx] -to [get_clocks clk_tx]set_false_path -from [get_ports rst_pin]# 多周期约束set_multicycle_path 2 -setup -from [get_cells {cmd_parse_i0/send_resp_data_reg[*]} -include_replicated_objects] -to [get_cells {resp_gen_i0/to_bcd_i0/bcd_out_reg[*]}]set_multicycle_path 1 -hold -from [get_cells {cmd_parse_i0/send_resp_data_reg[*]} -include_replicated_objects] -to [get_cells {resp_gen_i0/to_bcd_i0/bcd_out_reg[*]}]# 串口接收端set_multicycle_path 108 -setup -from [get_cells uart_rx_i0/uart_rx_ctl_i0/* -filter IS_SEQUENTIAL] -to [get_cells uart_rx_i0/uart_rx_ctl_i0/* -filter IS_SEQUENTIAL]set_multicycle_path 107 -hold -from [get_cells uart_rx_i0/uart_rx_ctl_i0/* -filter IS_SEQUENTIAL] -to [get_cells uart_rx_i0/uart_rx_ctl_i0/* -filter IS_SEQUENTIAL]# 串口发送端set_multicycle_path 90 -setup -from [get_cells uart_tx_i0/uart_tx_ctl_i0/* -filter IS_SEQUENTIAL] -to [get_cells uart_tx_i0/uart_tx_ctl_i0/* -filter IS_SEQUENTIAL]set_multicycle_path 89 -hold -from [get_cells uart_tx_i0/uart_tx_ctl_i0/* -filter IS_SEQUENTIAL] -to [get_cells uart_tx_i0/uart_tx_ctl_i0/* -filter IS_SEQUENTIAL]重新Synthesis并Implementation后可以看到已经没有了时序错误仅有的两个warning也只是说rst没有设置input_delayspi_clk_pin没有设置output_delay但我们已经对rst设置了伪路径而spi_clk_pin是我们约束的输出时钟无需设置output_delay。到这里教科书版的时序约束教程就基本讲完了。但我们平时的工程中跟上面这种约束还是有差异的•   首先是虚拟时钟这个约束在平时的工程中基本不会用到像需要设置虚拟时钟的场景我们也都是通过设计来保证时序收敛设置虚拟时钟的意义不大。•   第二就是output delay在FPGA的最后一级寄存器到输出的路径上往往都使用了IOB也就是IO block因此最后一级寄存器的位置是固定的从buffer到pad的走线延时是确定的。在这种情况下是否满足时序要求完全取决于设计做约束只是验证一下看看时序是否收敛。所以也基本不做。但是input delay是需要的因为这是上一级器件输出的时序关系。•   第三个就是多周期路径我们讲了那么多多周期路径的应用场景但实际我们是根据Timing report来进行约束的即便那几种场景都存在但如果Timing report中没有提示任何的时序 warning我们往往也不会去添加约束。•   第四个就是在设置了多周期后如果还是提示Intra-Clocks Paths的setup time不过那就要看下程序是否写的不规范。比如如果设置了多周期路径后还是提示Intra-Clocks Paths的setup time不过那就要看下程序是否写的不规范。比如always (posedge clk)beginregA regB;if(regA ! regB)regC 4hf;elseregC {regC[2:0], 1b0};if((flag[3:0]) regA ! regB)regD regB;end这么写的话如果时钟频率稍微高一点比如250MHz就很容易导致从regB到regD的setup time不满足要求。因为begin end里面的代码都是按顺序执行的要在4ns内完成这些赋值与判断的逻辑挑战还是挺大的。因此我们可以改写为always (posedge clk)beginregA regB;endalways (posedge clk)beginif(regA ! regB)regC 4hf;elseregC {regC[2:0], 1b0};endalways (posedge phy_clk)beginif((flag[3:0]) regA ! regB)regD regB;end把寄存器的赋值分开功能还是一样的只是分到了几个always中这样就不会导致时序问题了。本文转自科学计算technomania作者猫叔转载此文目的在于传递更多信息版权归原作者所有。
http://wiki.neutronadmin.com/news/95828/

相关文章:

  • 中国做网站推广哪家好苏州的网站建设公司
  • 博野网站建设培训制作网站源码
  • 网站pv uv是什么意思深圳网站建设设
  • 做自媒体与做网站网站建设综合实训
  • 具有营销价值好的网站丹阳市建设局网站
  • 做网站用什么系统较好广东官网网站建设平台
  • 做外贸一般上哪些网站小程序微信如何开发
  • 网站信息内容建设自查报告文化宣传 加强网站建设 创办网站
  • 大型网站建设的必须条件怎么做网站建设
  • 培训教材网站建设wordpress wp.net
  • 网站运营及推广17做网店类似网站
  • 江西医院网站建设天体摄影
  • 商城网站建设公司工作室是个体户还是公司
  • 北京公司网站设计做地税电子签章的网站
  • 网站搭建商上海wordpress 翻译插件
  • 网站开发项目进度安排网站制作方案专业乐云seo
  • 网站面包屑导航设计特点国外网站为啥速度慢
  • 小说主角重生之后做网站ai画作拍卖在上海拍出110万高价
  • 泰安网网站建设天河电子商务网站建设
  • 网站开发运营费用网站弹窗广告怎么做
  • 中国建设招聘信息网站如何优化网站信息架构
  • 建站公司兴田德润好不好临沂网站建设有哪些
  • 天津建设注册执业中心网站效果图制作步骤
  • 国外美容网站设计一套企业网站设计报价
  • html在线记账网站模板湖北专业网站建设产品介绍
  • 合肥做网站的企业做网站需要先学什么
  • 西安淘宝网站建设公司排名栾川有做网站的吗
  • 做淘宝网站需要多少钱个人网站做音乐网要备文化
  • 上海做网站的公司电话上海买二手房做哪个网站好
  • 彩票网站开发制作平台软件wordpress head文件夹