《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計(jì) > 其他 > 教學(xué):FPGA設(shè)計(jì)中邏輯復(fù)制的使用

教學(xué):FPGA設(shè)計(jì)中邏輯復(fù)制的使用

2022-09-30
來源:FPGA設(shè)計(jì)論壇
關(guān)鍵詞: FPGA 邏輯復(fù)制

  在FPGA設(shè)計(jì)中經(jīng)常使用到邏輯復(fù)制,邏輯復(fù)制也用在很多場合。

  1.    信號驅(qū)動級數(shù)非常大,扇出很大,需要增加驅(qū)動力

  邏輯復(fù)制最常使用的場合時(shí)調(diào)整信號的扇出。如果某個(gè)信號需要驅(qū)動后級很多單元,此時(shí)該信號的扇出非常大,那么為了增加這個(gè)信號的驅(qū)動能力,一種辦法就是插入多級Buffer,但是這樣雖然能增加驅(qū)動能力,但是也增加了這個(gè)信號的路徑延時(shí)。

  為了避免這種情況這時(shí)可以復(fù)制生成這個(gè)信號的邏輯,用多路同頻同相的信號驅(qū)動后續(xù)電路,使平均到每路的扇出變低,這樣不需要插入Buffer就能滿足驅(qū)動能力增加的要求,從而節(jié)約該信號的路徑延時(shí)。如從圖1.1到圖1.2轉(zhuǎn)變所示。

  74.JPG

  圖1.1  邏輯復(fù)制前

73.JPG

  圖1.2  邏輯復(fù)制后

  由于現(xiàn)在綜合器都已經(jīng)非常智能,此種場合的邏輯復(fù)制工作大多由綜合器完成,不需要人手動調(diào)整。各大FPGA廠商的綜合器以及第三方綜合器都有這種功能。

  2.    FPGA中需要做很多重復(fù)工作

  在某些FPGA設(shè)計(jì)中,需要很多重復(fù)設(shè)計(jì)的時(shí)候,這時(shí)候邏輯復(fù)制也就有用了。

  例如:在某個(gè)特殊應(yīng)用場合需要設(shè)計(jì)方向可以任意改變的240位寬的三態(tài)IO管腳。我們先看看常用的一個(gè)位寬的三態(tài)管腳怎么設(shè)計(jì)。

  module inout_interface(

  dat_in,

  io_out,

  io_dir,

  dat_out

  );

  input       dat_in;

  input       io_dir;

  output      dat_out;

  inout       io_out;

  assign      io_out  = io_dir ? dat_in : 1'bz;    assign      dat_out = io_out;

  endmodule

  如上述程序所示為單個(gè)雙向IO口的典型設(shè)計(jì)代碼,中間由IO輸入方向控制數(shù)據(jù)和高阻之間的切換,難題出現(xiàn)了,怎么設(shè)計(jì)240位寬的雙向IO口呢?難道如下列程序所示:

  module inout_interface(

  dat_in,

  io_out,

  io_dir,

  dat_out

  );

  input  [239 : 0]     dat_in;

  input  [239 : 0]     io_dir;

  output [239 : 0]     dat_out;

  inout  [239 : 0]     io_out;

  assign      io_out  = io_dir ? dat_in : 240'bz;    assign      dat_out = io_out;

  endmodule

  顯然這樣是不行的,因?yàn)楫?dāng)io_dir為240位的時(shí)候只有當(dāng)全為0的時(shí)候此式才為假,其余時(shí)候都為真,顯然達(dá)不到想要的每個(gè)IO都是雙向口的設(shè)計(jì)。

  修改代碼如下:

  module inout_interface( dat_in, io_out, io_dir, dat_out ); input [239 : 0] dat_in; input [239 : 0] io_dir; output [239 : 0] dat_out; inout [239 : 0] io_out; assign io_out[0] = io_dir[0] ? dat_in[0] : 1'bz; assign dat_out[0] = io_out[0]; assign io_out[1] = io_dir[1] ? dat_in[1] : 1'bz; assign dat_out[1] = io_out[1]; assign io_out[2] = io_dir[2] ? dat_in[2] : 1'bz; assign dat_out[2] = io_out[2]; . . // 此處略去1萬行 . assign io_out[239] = io_dir[239] ? dat_in[239] : 1'bz; assign dat_out[239] = io_out[239]; endmodule

  顯然這種辦法能實(shí)現(xiàn)240位寬的獨(dú)立方向控制IO,但是估計(jì)寫代碼要累死人,有沒得更好的辦法呢?

  當(dāng)然有,在verilog2001中有個(gè)邏輯復(fù)制語法——generate,可以對verilog模塊進(jìn)行無限復(fù)制。有了這個(gè)模塊我們即可輕松通過邏輯復(fù)制來達(dá)到我們的要求了。

  // 單個(gè)雙向IO實(shí)現(xiàn)模塊 module pin_inout( indat, indir, outdat, outdaTIn ); input indat; input indir; inout outdat; output outdaTIn; assign outdat = indir ? indat : 1'bz; assign outdaTIn = outdat; endmodule module inout_interface( dat_in, io_out, io_dir, dat_out ); input [239 : 0] dat_in; input [239 : 0] io_dir; output [239 : 0] dat_out; inout [239 : 0] io_out; // 邏輯復(fù)制240次 genvar i; generate for(i = 0; i < 240; i = i + 1) begin : pin_loop pin_inout pin_inout_inst( .indat ( dat_in[i] ), .indir ( io_dir[i] ), .outdat ( io_out[i] ), .outdaTIn ( dat_out[i] ) ); end endgenerate endmodule

  由上面代碼可看出,巧妙利用verilog語法能減少自身工作量。

  3.    總結(jié)

  在FPGA設(shè)計(jì)中有些情況的邏輯復(fù)制不需要我們做,但是有些情況的邏輯復(fù)制不得不手工完成,因此,熟練掌握verilog語法是設(shè)計(jì)出好的模型、減少工作量的前提。



更多信息可以來這里獲取==>>電子技術(shù)應(yīng)用-AET<<

mmexport1621241704608.jpg

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美亚洲不卡| 欧美精品首页| 亚洲一区二区三区欧美| 一区二区三区在线免费观看| 欧美日韩系列| 美女久久一区| 欧美一区二区黄色| 一区二区三区|亚洲午夜| 久久av一区二区三区漫画| 日韩一二在线观看| 91久久精品美女高潮| 国产精品初高中精品久久| 久久精品人人做人人爽| 亚洲欧美国产精品va在线观看| 亚洲欧洲日韩在线| 欧美在线不卡视频| 亚洲伊人色欲综合网| 日韩亚洲不卡在线| 亚洲人精品午夜| 影院欧美亚洲| 国产综合精品| 欧美日韩日日夜夜| 欧美国产日本高清在线| 羞羞色国产精品| 亚洲性av在线| 一区二区久久久久| 亚洲日韩欧美一区二区在线| 久久精品视频网| 欧美一区二区精品| 亚洲综合精品自拍| 亚洲天堂成人在线视频| 99精品视频一区| 亚洲国产日本| 国产亚洲欧美激情| 国产日韩欧美在线一区| 国产美女精品视频免费观看| 国产精品久久久免费| 欧美午夜视频网站| 欧美特黄视频| 欧美日韩免费在线| 欧美涩涩视频| 欧美午夜电影网| 欧美电影免费观看| 久久五月婷婷丁香社区| 久久精品中文字幕一区| 久久精品免费| 久久成人av少妇免费| 久久福利一区| 久久久国产一区二区| 久久综合狠狠| 免费高清在线视频一区·| 美女被久久久| 久久国产精品亚洲va麻豆| 亚洲一区精品视频| 亚洲欧美一区二区原创| 欧美一区二区精品| 久久久久久久久久久久久9999| 久久精品中文字幕一区| 久久综合给合| 欧美黄色aaaa| 欧美日韩中文字幕综合视频| 国产精品免费福利| 国产日韩欧美精品| 黄色av日韩| 亚洲第一精品夜夜躁人人躁| 最新国产拍偷乱拍精品| 一本色道久久88亚洲综合88| 亚洲影院免费观看| 欧美在线你懂的| 亚洲第一精品影视| 日韩亚洲一区在线播放| 亚洲激情亚洲| 夜夜嗨av一区二区三区中文字幕| 亚洲无毛电影| 久久国内精品视频| 欧美+亚洲+精品+三区| 欧美精品麻豆| 国产精品综合视频| 一区二区亚洲精品国产| 在线欧美三区| 亚洲国产激情| 亚洲视频第一页| 久久精品国产69国产精品亚洲| 亚洲精品社区| 午夜精品福利一区二区三区av| 久久久久国产精品www| 欧美电影在线| 国产精品国产三级国产专播品爱网| 欧美亚韩一区| 国语自产精品视频在线看8查询8| 亚洲国产91| 亚洲视频精品| 亚洲国产高清一区| 亚洲男同1069视频| 午夜欧美精品久久久久久久| 欧美成人官网二区| 欧美日韩福利| 国产欧美69| 亚洲精品国偷自产在线99热| 亚洲欧美日韩中文播放| 亚洲精品日本| 欧美一区二区三区四区在线观看地址 | 久久久视频精品| 欧美日韩国产bt| 国产一区二区中文字幕免费看| 亚洲人成艺术| 久久精品国产成人| 亚洲伊人观看| 欧美超级免费视 在线| 国产精品一二| 日韩天堂在线视频| 亚洲国产精品传媒在线观看| 亚洲欧美国产高清| 欧美韩国一区| 国内精品久久久久久影视8| 一本高清dvd不卡在线观看| 亚洲第一级黄色片| 久久www成人_看片免费不卡| 欧美日韩中文字幕在线视频| 亚洲福利免费| 欧美在线3区| 欧美一区二区三区免费观看视频| 欧美日本韩国| 亚洲福利国产| 亚洲高清免费视频| 欧美在线亚洲在线| 国产精品久久久久久久久久尿| 亚洲欧洲一区二区在线播放| 亚洲成人自拍视频| 久久xxxx| 国产精品日韩精品欧美在线| 日韩视频在线你懂得| 一区二区高清| 欧美日韩在线一区| 亚洲视频一区二区免费在线观看| 亚洲欧美成人综合| 国产精品综合| 久久精品理论片| 米奇777超碰欧美日韩亚洲| 在线观看视频欧美| 亚洲理论在线观看| 欧美婷婷在线| 午夜精品久久久久| 久久精品国产96久久久香蕉| 精品动漫3d一区二区三区免费版| 亚洲国产美国国产综合一区二区| 免费成人激情视频| 亚洲精品美女| 欧美日韩在线播| 欧美电影打屁股sp| 99亚洲精品| 午夜久久美女| 国户精品久久久久久久久久久不卡| 久久精品欧美日韩精品| 欧美高清视频在线 | 亚洲精品国精品久久99热| 欧美精品精品一区| 在线视频你懂得一区二区三区| 性8sex亚洲区入口| 国语自产精品视频在线看| 日韩亚洲视频在线| 国产精品永久免费观看| 久久精品99久久香蕉国产色戒| 欧美极品aⅴ影院| 亚洲午夜一区二区三区| 久久尤物电影视频在线观看| 亚洲精品视频在线| 午夜综合激情| 亚洲国产天堂久久综合网| 亚洲一区黄色| 一区精品久久| 亚洲曰本av电影| 激情欧美日韩一区| 亚洲天堂免费观看| 国产亚洲综合性久久久影院| 日韩视频一区| 国产视频综合在线| 夜夜嗨av一区二区三区中文字幕| 国产区二精品视| 99视频一区| 狠狠久久婷婷| 亚洲欧美日韩在线不卡| 亚洲黄色一区| 久久久久**毛片大全| 亚洲天堂免费观看| 女人色偷偷aa久久天堂| 亚洲欧美韩国| 欧美精品一区二区三区视频| 午夜在线精品偷拍| 欧美日韩国产精品自在自线| 欧美在线视频免费播放| 欧美日韩综合在线| 亚洲二区在线观看| 国产精品亚洲第一区在线暖暖韩国| 亚洲精品欧美精品| 国外成人网址| 香蕉视频成人在线观看| 亚洲精品裸体| 免费黄网站欧美| 欧美一区二区三区四区在线观看|