在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 1582|回复: 3

[原创] 全定制设计交流

[复制链接]
发表于 2021-8-17 10:05:14 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
刚刚毕业, 有一个工作机会, 从事NPU方向的全定制设计,需要定制逻辑电路及标准单元优化.
请问大神这个方向怎么样? 有没有大神做过定制化的电路和优化. 国内哪家公司技术能力最强?

谢谢!
发表于 2021-8-17 16:17:57 | 显示全部楼层
哪家公司呀?
发表于 2021-8-17 17:19:57 | 显示全部楼层
ai 和 虚拟货币的思路有点类似,目前stdcell 定制,国内做的比较早的是海思,另外就是虚拟货币的几家公司了
发表于 2021-9-1 15:55:54 | 显示全部楼层




  1. " Vim with all enhancements
  2. source $VIMRUNTIME/vimrc_example.vim

  3. " Use the internal diff if available.
  4. " Otherwise use the special 'diffexpr' for Windows.
  5. if &diffopt !~# 'internal'
  6.   set diffexpr=MyDiff()
  7. endif
  8. function MyDiff()
  9.   let opt = '-a --binary '
  10.   if &diffopt =~ 'icase' | let opt = opt . '-i ' | endif
  11.   if &diffopt =~ 'iwhite' | let opt = opt . '-b ' | endif
  12.   let arg1 = v:fname_in
  13.   if arg1 =~ ' ' | let arg1 = '"' . arg1 . '"' | endif
  14.   let arg1 = substitute(arg1, '!', '\!', 'g')
  15.   let arg2 = v:fname_new
  16.   if arg2 =~ ' ' | let arg2 = '"' . arg2 . '"' | endif
  17.   let arg2 = substitute(arg2, '!', '\!', 'g')
  18.   let arg3 = v:fname_out
  19.   if arg3 =~ ' ' | let arg3 = '"' . arg3 . '"' | endif
  20.   let arg3 = substitute(arg3, '!', '\!', 'g')
  21.   if $VIMRUNTIME =~ ' '
  22.     if &sh =~ '\<cmd'
  23.       if empty(&shellxquote)
  24.         let l:shxq_sav = ''
  25.         set shellxquote&
  26.       endif
  27.       let cmd = '"' . $VIMRUNTIME . '\diff"'
  28.     else
  29.       let cmd = substitute($VIMRUNTIME, ' ', '" ', '') . '\diff"'
  30.     endif
  31.   else
  32.     let cmd = $VIMRUNTIME . '\diff'
  33.   endif
  34.   let cmd = substitute(cmd, '!', '\!', 'g')
  35.   silent execute '!' . cmd . ' ' . opt . arg1 . ' ' . arg2 . ' > ' . arg3
  36.   if exists('l:shxq_sav')
  37.     let &shellxquote=l:shxq_sav
  38.   endif
  39. endfunction



  40. exec 'cd ' . fnameescape('D:\MyCode')

  41. " gVim Setup
  42. "set smarttab " 根据文件中其他地方的缩进空格个数来确定一个 tab 是多少个空格
  43. set tabstop=4 " 表示一个 tab 显示出来是多少个空格
  44. set shiftwidth=4 " 每一级缩进是多少个空格
  45. set expandtab " 将tab扩展成空格

  46. set number " 打开行号
  47. set guifont=Consolas:h12
  48. colorscheme desert " 色彩方案
  49. set lines=40 columns=120 "启动时窗口大小
  50. :set backspace=indent,eol,start
  51. :set paste

  52. " :map ?--定制映射
  53. " :ab  --定制简写

  54. "===============================================================
  55. "        Add File Header
  56. "===============================================================
  57. :map <F1> :call AddHeader()<CR>

  58. function AddHeader()
  59.   call append(0,  "//=======================================================================")
  60.   call append(1,  "// Company            : ")
  61.   call append(2,  "// Filename           : .v")
  62.   call append(3,  "// Author             : Rongye")
  63.   call append(4,  "// Created On         : ".strftime("%Y-%m-%d %H:%M"))
  64.   call append(5,  "// Last Modified      : ")
  65.   call append(6,  "// Description        : ")
  66.   call append(7,  "//                      ")
  67.   call append(8,  "//                      ")
  68.   call append(9,  "//=======================================================================")
  69. endfunction<Enter>

  70. "对齐注释
  71. :map duiqi3 0f/i                                                                                                                                                                                                                                                                                       <ESC>073ldw         


  72. "===============================================================
  73. "        Add Modify Time
  74. "===============================================================
  75. :map <F2> :w<CR>:6d<CR>:call AddModify()<CR>

  76. function AddModify()
  77.   call append(5,  "// Last Modified      : ".strftime("%Y-%m-%d %H:%M"))
  78. endfunction

  79. "===============================================================
  80. "        Add Module
  81. "===============================================================
  82. :ab modu module MODULE_NAME<Enter>#(<Enter>                                                                       <ESC>04ldwi parameter                                                                                <ESC>048ldwi WIDTH                                                                                                               <ESC>060ldwi =    8                                                                                                               <ESC>072ldwi   //<Enter><Esc>4Xi)<Enter>(<Enter>                                                                                                              <ESC>04ldwi //Input<Enter>                                                                                                              <ESC>04ldwi input                                                                       <ESC>048ldwi clk                                                                       <ESC>072ldwi ,<Enter>                                                                                                              <ESC>04ldwi input                                                                       <ESC>048ldwi rst_n                                                                       <ESC>072ldwi ,<Enter>                                                                                                              <ESC>04ldwi input                                                                       <ESC>048ldwi en                                                                       <ESC>072ldwi ,<Enter>                                                                                                              <ESC>04ldwi input                                                                       <ESC>024ldwi [WIDTH-1:0]                                                                                   <ESC>048ldwi data_i                                                                       <ESC>072ldwi , //<Enter>                                                                                                              <ESC>04ldwi //Output<Enter>                                                                                                              <ESC>04ldwi output                                                                                                                                                                      <ESC>016ldwi reg                                                                                             <ESC>024ldwi [WIDTH-1:0]                                                                    <ESC>048ldwi data_o                                                                       <ESC>072ldwi   //<Enter>);<Esc>^4X$i<Enter><Enter><Enter><Enter>endmodule<Esc>kkk

  83. "===============================================================
  84. "        Add input/output
  85. "===============================================================
  86. :ab inpu1 input                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            <Esc>024ldwi [NAME_WIDTH-1:0]                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     <Esc>048ldwi input_name                                                                                                                   <Esc>072ldwi , //

  87. :ab outp1 output                                                                                                                                                                      <ESC>016ldwi reg                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         <Esc>024ldwi [NAME_WIDTH-1:0]                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     <Esc>048ldwi output_name                                                                                                                   <Esc>072ldwi , //


  88. "===============================================================
  89. "        Add reg
  90. "===============================================================
  91. :ab reg1 reg                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           <Esc>048ldwi reg_name                                                                                                                   <Esc>072ldwi ; //

  92. :ab reg2 reg                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           <Esc>024ldwi [NAME_WIDTH-1:0]                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           <Esc>048ldwi reg_name                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           <Esc>072ldwi ; //

  93. "===============================================================
  94. "        Add wire
  95. "===============================================================
  96. :ab wire1 wire                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           <Esc>048ldwi wire_name                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           <Esc>072ldwi ; //

  97. :ab wire2 wire                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           <Esc>024ldwi [NAME_WIDTH-1:0]                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           <Esc>048ldwi wire_name                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           <Esc>072ldwi ; //

  98. "===============================================================
  99. "        Add parameter
  100. "===============================================================
  101. :ab para1 parameter                                                                                                    <ESC>048ldwi NAME_WIDTH                                                                                                               <ESC>060ldwi =    8                                                                                                           <ESC>072ldwi , //

  102. "===============================================================
  103. "        Add always statement
  104. "===============================================================
  105. :ab zuhe always @(*)begin<Enter><Enter><Enter>end<Esc>kk

  106. :ab shixu always @(posedge clk or negedge rst_n)begin<Enter>if(!rst_n)begin<Enter><Enter>end<Enter>else begin<Enter><Enter>end<Enter><Esc>4Xiend<Esc>kk

  107. "===============================================================
  108. "        Add if / else statement
  109. "===============================================================
  110. :ab if1 if(!rst_n)begin<Enter><Enter>end<Esc>kk

  111. :ab else1 else begin<Enter><Enter>end<Esc>kk

  112. "===============================================================
  113. "        Add case statement
  114. "===============================================================
  115. :ab case1 case()begin<Enter>1'b0:;<Enter>1'b1:;<Enter>default:;<Enter><Esc>4Xiendcase<Esc>kk

  116. "===============================================================
  117. "        Add Counter
  118. "===============================================================
  119. :ab jishu reg                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           <Esc>024ldwi [NAME_WIDTH-1:0]                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           <Esc>048ldwi cnt                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           <Esc>072ldwi ; //<Enter>always @(posedge clk or negedge rst_n)begin<Enter>if(!rst_n)begin<Enter>cnt <= 4'd0;<Enter>end<Enter>else if(cnt==4'd9)begin<Enter>cnt <= 4'd0;<Enter>end<Enter>else begin<Enter>cnt <= cnt + 1'd1;<Enter>end<Enter>end<Enter><Esc>

  120. "===============================================================
  121. "        Add FSM_2
  122. "===============================================================
  123. :ab fsm2 reg                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           <Esc>024ldwi [NAME_WIDTH-1:0]                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           <Esc>048ldwi state_current                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           <Esc>072ldwi ; //<Enter>reg                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           <Esc>024ldwi [NAME_WIDTH-1:0]                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           <Esc>048ldwi state_next<Enter>reg                                                                           <Esc>048ldwi FSM_out                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           <Esc>072ldwi ; //<Enter><Enter>always @(posedge clk or negedge rst_n)begin<Enter>if(!rst_n)begin<Enter>state_current <= IDLE;<Enter>end<Enter>else begin<Enter>state_current <= state_next;<Enter>end<Enter>end<Enter><Enter><Enter>always @(*)begin<Enter>FSM_out = 1'b0;<Enter>case(state_current)<Enter>IDLE:begin<Enter>if(FSM_in)<Enter>state_next = S1;<Enter>else<Enter>state_next = state_current;<Enter>end<Enter>S1:begin<Enter>if(FSM_in)<Enter>state_next = S2;<Enter>else<Enter>state_next = state_current;<Enter>end<Enter>S2:begin<Enter>if(FSM_in)begin<Enter>FSM_out = 1'b1;<Enter>state_next = IDLE;<Enter>end<Enter>else<Enter>state_next = state_current;<Enter>end<Enter><Enter>default:state_next = IDLE;<Enter>endcase<Enter>end<Enter>



复制代码


您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

×

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-6-8 20:27 , Processed in 0.020035 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表