家電維修班,手機維修班,電腦維修班,電工班,焊工班,液晶電視維修班,電動工具維修班、電動車摩托車維修班、網絡營銷培訓、網站設計培訓、淘寶培訓---全國招生 家電維修班,手機維修班,電腦維修班,電工班,焊工班,液晶電視維修班,電動工具維修班、電動車摩托車維修班、網絡營銷培訓、網站設計培訓、淘寶培訓---全國招生

中日欧洲精品视频在线-中日韩在线观看-中日韩一区二区三区-中日韩精品视频在线观看-狂野欧美老黑粗又硬-狂野猛交xxxx吃奶

您的位置:網站首頁 > 電器維修資料網 > 正文 >

VHDL設計之邏輯綜合的原則以及可綜合的代碼設計風格

★★★★★【文章導讀】:VHDL設計之邏輯綜合的原則以及可綜合的代碼設計風格具體內容是:(3)帶有posedge或negedge關鍵字的事件表達式表示沿觸發的時序邏輯;沒有posedge或negedge關鍵字的表示組合邏輯或電平敏感的鎖存器,或者兩種都表示。在表示時序和組合邏輯的事件控制表達式中如有多個沿和多個電平,其…

來源: 日期:2013-11-3 17:30:02 人氣:標簽:

VHDL設計之邏輯綜合的原則以及可綜合的代碼設計風格

    (3) 帶有posedge 或 negedge 關鍵字的事件表達式表示沿觸發的時序邏輯;沒有posedge 或negedge關鍵字的表示組合邏輯或電平敏感的鎖存器,或者兩種都表示。在表示時序和組合邏輯的事件控制表達式中如有多個沿和多個電平,其間必須用關鍵字“or” 連接 。

    (4)每個表示時序邏輯的always塊只能由一個時鐘跳變沿觸發,置位或復位 好也由該時鐘跳變沿觸發。

    (5)每個在always塊中賦值的信號都必需定義成reg型或整型。整型變量缺省為32bit,使用Verilog操作符可對其進行二進制求補的算術運算。綜合器還支持整型量的范圍說明,這樣就允許產生不是32位的整型量,句法結構如下:

    integer[:]。

    (6)always塊中應該避免組合反饋回路。每次執行always塊時,在生成組合邏輯的always塊中賦值的所有信號必需都有明確的值;否則需要設計者在設計中加入電平敏感的鎖存器來保持賦值前的 后一個值。

    只有這樣,綜合器才能正常生成電路。如果不這樣做,綜合器會發出警告,提示設計中插入了鎖存器。如果在設計中存在綜合器認為不是電平敏感鎖存器的組合回路時,綜合器會發出錯誤信息(例如設計中有異步狀態機時)。

    用always塊設計純組合邏輯電路時,在生成組合邏輯的always塊中,參與賦值的所有信號都必須有明確的值,即在賦值表達式右端參與賦值的信號都必需在always @(敏感電平列表)中列出。

    如果在賦值表達式右端引用了敏感電平列表中沒有列出的信號,那么在綜合時,將會為該信號產生一個隱含的透明鎖存器。這是因為該信號的變化不會立刻引起所賦值的變化,而必須等到敏感電平列表中某一個信號變化時,它的作用才顯現出來。

    也就是相當于存在著一個透明鎖存器把該信號的變化暫存起來,待敏感電平列表中某一個信號變化時再起作用,純組合邏輯電路不可能做到這一點。這樣,綜合后所得電路已經不是純組合邏輯電路了。這時綜合器會發出警告提示設計中插入了鎖存器,如下所示:

   

input a,b,c;
reg e,d;
always @(a or b or c) begin
      e = d & a & b;      //因為d沒有在敏感電平列表中,所以d變化時,e不能立刻變化,
                              //要等到a或b或c變化時才體現出來。這就是說實際上相當于存在
                              //一個電平敏感的透明鎖存器在起作用, 把d信號的變化鎖存其中
      d = e | c;
end

(7)對一個寄存器型(reg)或整型(integer)變量的賦值只允許在一個always塊內進行,如果在另一always塊也對其賦值,這是非法的。
(8)把某一信號值賦為'bx,綜合器就把它解釋成無關狀態,因而綜合器為其生成的硬件電路 簡潔。


4.5.2  可綜合風格的Verilog HDL模塊實例
1.組合邏輯電路設計實例


例4.6:8位帶進位端的加法器的設計實例(利用簡單的算法描述)。

module adder_8(cout,sum,a,b,cin);              //模塊聲明
      output cout;
      output [7:0] sum;
      input cin;
      input[7:0] a,b;                            //端口聲明
      assign {cout,sum} = a + b + cin;          //加法器算法
endmodule

 

例4.7:指令譯碼電路的設計實例(利用電平敏感的always塊來設計組合邏輯)。

'define plus    3'd0                        //操作碼的宏定義
'define minus    3'd1
'define band    3'd2
'define bor      3'd3'
'define unegate  3'd4

module alu(out,opcode,a,b);                //模塊聲明
      output [7:0] out;
      input [2:0] opcode;
      input [7:0] a,b;                      //端口聲明
      reg  [7:0] out;                      //寄存器聲明

      always @(opcode or a or b) begin      //用電平敏感的always塊描述組合邏輯
            case(opcode)
                  'plus: out = a + b;        //算術運算
                  'minus: out = a - b;
                  'band: out = a & b;          //位運算
                  'bor:  out = a | b;
                  'unegate: out = ~a;        //單目運算
                  default: out = 8'hx;
      endcase
      end
endmodule

 

例4.8:比較后重組信號的組合邏輯(利用task和電平敏感的always塊設計)。

module sort4(ra,rb,rc,rd,a,b,c,d);        //模塊聲明
      output [t:0] ra, rb, rc, rd;
      input [t:0] a, b, c, d;              //端口聲明
      reg [t:0] ra, rb, rc, rd;
      reg [t:0] va, vb, vc, vd;            //寄存器聲明
      parameter t=3;                            //參數聲明

      always @(a or b or c or d) begin      //用電平敏感的always塊描述組合邏輯
          {va,vb,vc,vd}={a,b,c,d};
          sort2(va,vc);                        //信號重組
          sort2(vb,vd);
          sort2(va,vb);
          sort2(vc,vd);
          sort2(vb,vc);
          {ra,rb,rc,rd}={va,vb,vc,vd};
      end

      task sort2;                            //x與y互換任務
            inout [t:0] x,y;
            reg [t:0] tmp;
            if(x > y) begin
                tmp = x;              //使用臨時變量tmp保存x的值
                x = y;
                y = tmp;
      end
      endtask
endmodule

 

例4.9:比較器的設計實例(利用賦值語句設計組合邏輯)。

module compare(equal,a,b);              //模塊聲明
      output equal;
      input [size-1:0] a,b;            //端口聲明
      parameter size=1;                  //參數聲明
      assign  equal =(a==b)? 1 : 0;  //比較器
endmodule

 

例4.10:3-8譯碼器設計實例(利用賦值語句設計組合邏輯)。

module decoder(out,in);            //模塊聲明
      output [7:0] out;
      input [2:0] in;                //端口聲明
      assign  out = 1'b1<<in;      //把 低位的1左移 in(根據從in口輸入的值)位
                                          //將移位結果賦予out
endmodule

 

例4.11:3-8編碼器的設計實例。
編碼器設計方案一。

module encoder1(none_on,out,in);            //模塊聲明
      output none_on;
      output [2:0] out;
      input [7:0] in;                        //端口聲明
      reg [2:0] out;
      reg none_on;                              //寄存器聲明
      always @(in) begin: LOCal                //in有變化時,觸發
            integer  i;                          //變量聲明
            out = 0;
            none_on = 1;                        //初始化
            for( i=0; i<8; i=i+1 ) begin      //for循環語句
                if( in[i] ) begin        //將in中值為1的位編碼
                      out = i;
                      none_on = 0;
                end
            end
      end
endmodule

 

  • 1
  • 2
  • 下一頁

【看看這篇文章在百度的收錄情況】

聯系方式

  • 0731-85579057 , 0731-85569651
  • 點擊這里給我發消息點擊這里給我發消息點擊這里給我發消息
網站欄目導航: 培訓課程 手機硬件 手機軟件 綜合維修 學校資訊 考證指南 就業導航 招生指南 教學管理 入學須知 學校圖片 教學大綱 師資力量 學生感言 學校概況 教學實景 手機維修培訓資訊 電腦維修培訓 維修間故事 手機維修培訓 液晶電視維修培訓 家電維修資料網 電器維修資料網 招生地區 刷機教程 家電維修 手機技巧 老版網站 招生平臺網絡工程
友情鏈接: 監控安裝培訓 電動工具維修 家電維修學校 電工培訓學校 液晶電視維修 焊工培訓學校 電工焊工學校 電腦維修學校 家電維修培訓 電腦維修培訓 家裝電工培訓網絡安裝維護 主板維修 液晶顯示器 筆記本電腦維修 電腦組裝維護 電腦硬件維修 電腦維修 電工考證 電工證 裝修電工 水電工 維修電工 電工 焊接技術 電焊工 焊工 電動設備維修 電動工具維修 制冷維修 空調維修 冰箱維修  更多>>
陽光-手機維修教育品牌學校
點擊這里給我發消息 點擊這里給我發消息 點擊這里給我發消息
電工培訓學校 電動車維修學校 摩托車維修學校 摩托車維修培訓 手機維修培訓 家電維修培訓 電腦維修培訓 電動工具維修培訓 液晶電視維修培訓 安防監控培訓 空調維修培訓 網絡營銷培訓 網站設計培訓 淘寶網店培訓 電器維修培訓 家電維修學校 電工培訓 焊工培訓 電工學校 電工培訓學校 電動車維修學校 摩托車維修學校 摩托車維修培訓 手機維修培訓 家電維修培訓 電腦維修培訓 電動工具維修培訓 液晶電視維修培訓 安防監控培訓 空調維修培訓 網絡營銷培訓 網站設計培訓 淘寶網店培訓 電器維修培訓 家電維修學校 電工培訓 焊工培訓 電工學校 電工培訓學校 電動車維修學校 摩托車維修學校 摩托車維修培訓 手機維修培訓 家電維修培訓 電腦維修培訓 電動工具維修培訓 液晶電視維修培訓 安防監控培訓 空調維修培訓 網絡營銷培訓 網站設計培訓 淘寶網店培訓 電器維修培訓 家電維修學校 電工培訓 焊工培訓 電工學校 電工培訓學校 電動車維修學校 摩托車維修學校 摩托車維修培訓 手機維修培訓 家電維修培訓 電腦維修培訓 電動工具維修培訓 液晶電視維修培訓 安防監控培訓 空調維修培訓 網絡營銷培訓 網站設計培訓 淘寶網店培訓 電器維修培訓 家電維修學校 電工培訓 焊工培訓 電工學校
中山市,固原市,銀川市,玉樹,海東,隴南市,酒泉市,張掖市,天水市,金昌市,蘭州市,榆林市,延安市,渭南市,銅川市,阿里,山南,拉薩市,怒江,文山州,楚雄州,普洱市,昭通市,玉溪市,昆明市,畢節,銅仁,遵義市,貴陽市,甘孜州,資陽市,達州市,宜賓市,南充市,遂寧市,綿陽市,瀘州市,自貢市,三亞市,崇左市,河池市,玉林市,欽州市,梧州市,柳州市,梅州市,肇慶市,湛江市,佛山市,珠海市,韶關市,湘西州,懷化市,郴州市,張家界市,邵陽市,株洲市,仙桃市,隨州市,荊州市,荊門市,襄樊市,黃石市,駐馬店市,信陽市,南陽市,漯河市,中衛市,石嘴山市,海西,海南藏州,黃南州,海北,甘南,慶陽市,平涼市,武威市,白銀市,嘉峪關市,安康市,漢中市,咸陽市,寶雞市,林芝,日喀則,昌都,迪慶,德宏,大理,西雙版納,紅河州,臨滄市,麗江市,保山市,曲靖市,黔東州,黔西州,安順市,六盤水市,涼山州,阿壩州,雅安市,廣安市,眉山市,內江市,廣元市,德陽市,攀枝花市,成都市,海口市,來賓市,百色市,貴港市,北海市,桂林市,南寧市,云浮市,揭陽市,潮州市,清遠市,陽江市,汕尾市,惠州市,茂名市,江門市,汕頭市,深圳市,廣州市,婁底市,永州市,益陽市,岳陽市,湘潭市,長沙市,恩施州,黃岡市,孝感市,鄂州市,十堰市,武漢市,周口市,商丘市,三門峽市,許昌市,焦作市,安陽市,鶴壁市,平頂山市,開封市,鄭州市,聊城市,濱州市,德州市,萊蕪市,日照市,泰安市,煙臺市,濰坊市,東營市,淄博市,上饒市,濟南市,撫州市,宜春市,贛州市,新余市,九江市,景德鎮市,寧德市,南平市,泉州市,莆田市,廈門市,宣城市,亳州市,六安市,宿州市,黃山市,滁州市,安慶市,淮北市,馬鞍山市,蚌埠市,蕪湖市,合肥市,麗水市,舟山市,衢州市,金華市,湖州市,嘉興市,寧波市,宿遷市,鎮江市,鹽城市,連云港市,蘇州市,徐州市,南京市,綏化市,牡丹江市,佳木斯市,大慶市,鶴崗市,哈爾濱市,白城市,白山市,遼源市,吉林市,葫蘆島市,鐵嶺市,盤錦市,阜新市,錦州市,本溪市,鞍山市,沈陽市,錫林郭勒盟,通遼市,烏海市,呂梁市,忻州市,晉中市,晉城市,陽泉市,太原市,廊坊市,承德市,保定市,邯鄲市,唐山市,寧夏,甘肅省,西藏,貴州省,重慶市,廣西,湖南省,河南省,江西省,安徽省,江蘇省,黑龍江省,遼寧省,山西省,天津市,四平市,內蒙古,吳忠市,果洛,西寧市,定西市,商洛市,西安市,那曲,黔南州,巴中市,樂山市,賀州市,防城港市,東莞市,河源市,常德市,衡陽市,咸寧市,宜昌市,濮陽市,新鄉市,洛陽市,菏澤市,臨沂市,威海市,濟寧市,棗莊市,青島市,吉安市,鷹潭市,萍鄉市,南昌市,龍巖市,漳州市,三明市,福州市,池州市,巢湖市,阜陽市,銅陵市,淮南市,臺州市,紹興市,溫州市,杭州市,泰州市,揚州市,淮安市,南通市,常州市,無錫市,大興安嶺,黑河市,七臺河市,伊春市,雙鴨山市,雞西市,齊齊哈爾市,延邊,松原市,通化市,長春市,朝陽市,遼陽市,營口市,丹東市,撫順市,大連市,阿拉善盟,興安盟,烏蘭察布市,巴彥淖爾市,呼倫貝爾市,鄂爾多斯市,赤峰市,包頭市,呼和浩特市,臨汾市,運城市,朔州市,長治市,大同市,衡水市,滄州市,張家口市,邢臺市,秦皇島市,石家莊市,青海省,陜西省,云南省,四川省,海南省,廣東省,湖北省,山東省,福建省,浙江省,上海市,吉林省,河北省,北京市 主站蜘蛛池模板: 忘忧草高清| 日日噜噜夜夜狠狠视频| 热九九99香蕉精品品| 亚洲国产日韩制服在线观看| 1级午夜影院费免区| 菠萝视频高清版在线观看| 国内精品日本久久久久影院 | 日韩毛片大全| 亚洲综合色婷婷在线影院| yellow免费影视大全| 精品国产美女AV久久久久| 日本经典片免费看| 野花高清影视免费观看| 东京热一本无码av| 久久婷婷五月综合色精品首页| 失禁h啪肉尿出来高h| 2021精品高清卡1卡2卡3麻豆| 国产精品爽爽久久久久久无码| 门事件快播| 亚洲黄色片免费看| 第一次破女视频出血视频| 久久免费视频在线观看6| 我强进了老师身体在线观看| 99国内精品| 久久精品国产福利电影网| 色爰情人网站| adc网址在线观看| 久久99热狠狠色AV蜜臀| 午夜久久影院| 抽插内射高潮呻吟V杜V| 麻豆第一区MV免费观看网站| 亚洲福利网站| 丰满五十老女人性视频| 嗯别插太快好深再深点| 伊人久久国产精品| 国产揄拍国产精品| 十8禁用B站在线看漫画| 成人高清护士在线播放| 男男腐文污高干嗯啊快点1V1| 一个色综合久久| 国模大胆一区二区三区|